[09:55] morning all [10:10] Good day #ubuntuone [10:10] :/ damn alarm [10:11] morning karni [10:11] hi fagan [10:16] * karni reboots after security update [10:18] fagan: morning [10:18] fagan: do you have time to give me an other review? [10:18] mandel: sure [10:18] all the time in the world [10:18] ok, let me fing the url for you :) [10:18] s/fing/find [10:19] * fagan is happy mandel is busy [10:20] fagan: there you go: https://code.launchpad.net/~mandel/ubuntuone-client/add_ipc_client_code_5/+merge/59468 [10:20] cool on it [10:29] o/ [10:33] \o [10:34] yes actually \o [10:34] i am right handed [10:34] :P [10:38] \o/ i use both hands [10:40] o [10:40] meh [10:40] I;m too old ;) [10:42] mandel: your not that old dude [10:43] but I do look that old hehe [10:43] I look better when I was not working on canonical… must be all this windows stuff [10:44] mandel: well thats the idea working on windows adds 5 years [10:44] its like the tv adding 10 pounds [10:45] haha [10:47] mandel: why did you skip 5 on the add ipc stuff [10:47] or am I missing something [10:48] did I skip 5, what do you mean? [10:48] I mean skip to 5 [10:48] like I didnt see a 4 [10:49] fagan: oh, true I did not ask you to review 4, can you do it too? [10:49] please: https://code.launchpad.net/~mandel/ubuntuone-client/add_ipc_client_code_4/+merge/59408 [10:49] sure [10:49] thx [11:00] done [11:29] * fagan looks down the ipc code to see how it works [11:32] mandel: is there any good twisted books that you would suggest? [11:32] * fagan was wondering [11:32] Im going to order some books when I get the chance [11:33] fagan: the orelly one is quite good, try the ebookbay.org (I think it was that) to find it [11:33] fagan: it is a very big framework, so the important thing is to understand defer and async programming [11:33] mandel: I always go to amazon seems to always have what im looking for [11:34] fagan: well, the one I gave you is for 'free' cownloads :P [11:34] So at the moment I have pretty big books on management, software development practices and UI design [11:34] which is legal in spain, probably terribly wrong anywhere else :) [11:35] mandel: well I have a bit of trouble reading from screens I want to get hard copies [11:35] and I dont mind paying a little bit if its worth it for the learning [11:35] oh, then amazon should have the twisted book for sure [11:35] mandel: yeah amazon is great for books :) [11:35] is a little old though, but will get you up to speed, the changes in the new version are not hard to get [11:36] and are in places you will not reach amny times :) [11:36] s/amn/many [11:36] and you sometimes get the used ones for a little bit of a knock down [11:36] yes, I always buy the used ones, I like not killing trees :) [11:36] hah [11:36] kill the trees!!!! [11:37] * fagan isnt a hippy :D [11:38] I'm a little of a hippy, you have seen my shoes :) [11:38] yeah [11:38] oki I think thats a good exersise before standup to id some books that can help me out [11:39] ill put the list up afterwards [11:40] lol "well thats the idea working on windows adds 5 years" [11:40] Sooooo tempted to buy a kindle [11:40] fagan: can you take a look at: https://code.launchpad.net/~mandel/ubuntuone-client/add_ipc_client_code_6/+merge/59488 [11:40] sure [11:40] fagan: I <3 reading books on my phone with the kindle app. [11:40] fagan: I'm tempted to get an Ipad instead, kindle just has one use… and I like colors :) [11:41] mandel: well the price is competitive and who needs colour nowadays [11:41] * fagan in protest of mandels statement turns off the colour on his monitor [11:42] fagan: tell me how long you last with that ;) [11:42] :) [11:42] mandel: 5 secs [11:42] hehe [11:42] and I do have 2 monitors so I still had colour [11:42] and with the monitor in black and white [11:43] fagan: oh, you just broke my punch line… stupid internet lag... [11:43] hehe [11:47] mandel: check the comment on that review :P [11:48] on it [11:48] fagan: number 5 or 6? [11:48] or 4? [11:48] 6 [11:49] +1 on all them I just thought id give a nice compliment [11:49] fagan: I added a spell checker step in my devel process hehe [11:50] nice [11:50] * fagan effected change in the world [11:51] mandel: is this the book you were talking about http://www.amazon.co.uk/Twisted-Network-Programming-Essentials-Fettig/dp/0596100329/ref=sr_1_1?ie=UTF8&qid=1304074272&sr=8-1 [11:54] fagan: yes, that is the one I read [11:55] cool on the list [11:56] oooh the mythical man month too [11:59] * fagan is going to dump 200 euro into books this month on some classics [12:02] I wonder what software development approach canonical is using specifically [12:02] I want to get a good book on some practices but UP is what we do in college [12:03] * fagan just looks for one on agile development and it should cover some bases [12:07] I wonder if its too early to get a book on python 3 or if its a good time since we will migrate in the future [12:08] (that may be a question that facundobatista would be able to answer) [12:09] fagan, if the book covers 3.2, it's ok, things would not change much from now on [12:09] facundobatista: nice then ill grab one [12:10] thanks [12:35] mandel: who is Guillermo Gonzalez? [12:35] * fagan was wondering [12:35] fagan: I am [12:35] Hi - I have a weird problem when starting ubuntu control panel - my account tab is saying it cant connect and suggest I dont have internet - files sync and everything else works [12:35] verterok: ahhh [12:35] fagan: hi! [12:35] hi :D [12:35] fagan: that one ^ [12:35] careful, I've been told he steals cars [12:36] * fagan hides his pretty pretty computer [12:36] but they have to have the engine already running, right verterok? [12:36] mandel: indeed! [12:36] :p [12:37] mandel: FWIW, only cars I own [12:37] no1peanut: thats interesting could you do a ubuntu-bug ubuntuone-control-panel and write down whats going on in a bug and someone will get to it when they can [12:37] (in terminal) [12:37] verterok: hehe [12:37] well I need to go to walk the dog, he is looking at me angry [12:37] bbl [12:37] * mandel walks dog [12:37] mandel: laters [12:42] fagan: what can I do for you? [12:46] fagan, thx and done ;) [12:46] verterok: I was just wondering who you were [12:46] ah, ok :) [12:46] no1peanut: no problem [12:47] verterok: I saw your name on the merge and I was like who is this guy :D [12:48] heh [12:49] oki so 9 books is a good starting point for an order [12:49] * fagan listed 2 books that are jokes BTW [12:49] http://ubuntuone.com/p/pJD/ [12:50] Oh and I can claim tax back on it \o/ [12:50] (or just just declare them as an expense of some sort) [12:51] * fagan break === teknico is now known as teknico_away [13:38] (I'll probably just go look at the code, but) how does the sync daemon decide whether a file has been changed and is unused and ready to be synced up to the ubuntu one server? [13:39] I ask because after I do an ecryptfs mount of a dir under ~Ubuntu\ One, make some change, and then umount, the files never get synced until I reboot. Even if that takes days or weeks. [13:43] hallyn, ecryptfs does not sync the underlying files in a way possible for inotify to pick these changes [13:44] rye: ah, so it just waits for inotify? [13:45] rye: thanks, apart from giving me something to talk to ecryptfs maintainer about, it should also let me use a script as workaround :-) [13:45] hallyn, yes, and if inotify event does not arrive then subsequent rescan of the directory is required to pick the changes [13:46] goot mordnig! [13:46] rye: hm, wonder whether it's better to have it do a rescan, or just touch recently changed files with a script [13:51] hallyn, Does the underlying file immediately changes its size/modification date when the unencrypted copy gets changed? [13:53] rye: modification date, yes. Size, not necessarily (since it's padded of course) [13:54] rye: quick unrelated question - lately when I run u1sdtool by hand (remotely), it complains about no X connection. Is that just bc I already had logged in on console, or is it no longer expected to run remotely? (something I can obviously test myself this weekend) [13:55] rye: here is before and after adding a line to the encrypted file (under ~/gtd): [13:55] serge@sergelap:~/Ubuntu One/gtd.crypt$ ls -l next_actions.otl [13:55] -rw-r--r-- 1 serge serge 12288 2011-04-28 18:01 next_actions.otl [13:55] serge@sergelap:~/Ubuntu One/gtd.crypt$ ls -l next_actions.otl [13:55] -rw-r--r-- 1 serge serge 12288 2011-04-29 07:53 next_actions.otl [13:55] hallyn, u1sdtool connects to syncdaemon via dbus, so in case u1sdtool environment does not have any info about dbus session syncdaemon is running the python dbus module will complain about X autostart etc [13:56] so it changes the mtime [13:56] * mandel back [13:56] rye: but if no syncdaemon is running yet, it should just start its own with no fuss? Or it'll refuse bc there's no dbus? [13:57] hallyn, it will refuse to start it since there is no dbus session to autostart syncdaemon and usually the applications do not start dbus themselves [13:58] * fagan back [13:58] standup in 2 [13:58] rye: drat, pretty sure that in maverick it used to start it just fine :( [13:59] rye: ok lemme go look into the inotify support for ecryptfs. thanks again. [13:59] hallyn, well, i faced this way back in karmic so i'm pretty sure it used to be this way for quite a while [14:02] me [14:03] me [14:05] ralsina, thisfred, dobey [14:05] me [14:05] and alecu [14:05] hehe [14:05] mandel, no nessita today? [14:05] me [14:05] me [14:05] yeah where is nessita? [14:05] on holiday? [14:05] me [14:05] alecu: apparently not [14:06] go? [14:06] nessita is on swap [14:06] go [14:06] DONE [14:06] * more merge requests [14:06] * got a book list going for research http://ubuntuone.com/p/pJD/ [14:06] TODO [14:06] * maybe do some more bug reports :) [14:06] mandel: go [14:06] DONE: More ipc client side. Most branches have been merged and the last one should be proposed just after the stand up. [14:06] TODO: hook SSO in sd on Windows. Move to control panel. [14:06] BLOCKED: no [14:06] thisfred, please [14:06] DONE: blueprints, helped nicola and james with a cloud server issue TODO: not sure, probably desktopcouch bug triage, unless someone has something more urgent for me BLOCKED: no NEXT: alecu [14:08] DONE: blueprints and stuff [14:08] TODO: play with the Unity lens [14:08] BLOCKED: no [14:08] NEXT: dobey [14:08] λ DONE: blueprints stuffs [14:08] λ TODO: friday stuffs (tarmac improvements), finish nightlies fixes, maverick/lucid SRUs [14:08] λ BLCK: None. [14:08] DONE: made everyone do blueprints, reviews, misc stuff, canonicaladmin clean, booked trips for the next 5 weeks, other things. [14:08] TODO: a few reviews more, finish the damn SSO UI once and for all, whatever [14:09] BLOCKED: nope [14:10] ok, comments? [14:10] ralsina: is it ok that im looking into books for the day [14:10] im trying to get some reference going to learn a bit [14:11] fagan: yes, you are supposed to learn stuff [14:11] learning stuff == good [14:11] good [14:11] want to talk later about what you are learning, that's cool with me [14:11] rye: sorry, 'this' that you faced was u1sdtool needing dbus right? I actually have a saved draft of a blog post happily announcing that u1sdtool -c was working for me so it must have worked during maverick somehow :) It looks like I'll need to look into how to create a usable dbus session then. [14:11] ok, eom [14:11] ralsina: cool [14:12] hallyn, hmmm [14:12] I will probably take the rest of the morning because I was up very early (or very late) doing mandel's reviews [14:12] In any case, if you need me, ping me [14:12] ralsina: I wont feel bad, I'm a heartles bastard [14:12] rye: then again maybe it was from command line but whiel logged into a non-gnome wm. [14:13] at the time that probably would have been my goal [14:13] mandel: I don't want you to feel bad, I should have done those earlier and you needed them, so doing them at 2AM was perfectly reasonable :-) [14:13] hehehe === zyga is now known as zyga-afk [14:28] mandel: are you brewing any more branches for me :) [14:33] god morning [14:33] i have a doubt [14:34] can i share a folder inside /usr/share [14:34] there is any way ? [14:34] rafael: no, you can only share folders that inside your home folder [14:34] ok thanks [14:35] ralsina: im sure you mean outside [14:35] you're welcome! [14:35] fagan: nope [14:35] fagan: you can't sync anything outside $HOME and you can't share what you don't sync [14:36] ralsina: yeah I just read it wrong [14:36] I thought you said it the other way around [14:36] * fagan needs to learn to read during this internship it seems [14:36] fagan: ok [14:37] joshuahoover: ping [14:37] * fagan errands for 15 mins [14:37] duanedesign: pong [14:37] alecu: https://blueprints.edge.launchpad.net/ubuntu/+spec/desktop-dx-o-unity-lenses [14:37] fagan: I have one more, let me know when you are back :) [14:37] sorry I went for coffee :P [14:37] mandel: cool [14:37] dobey, looking [14:38] alecu: ping [14:38] joshuahoover: good day. I was helping a user with Thunderbird Contact sync. I came across this blog post http://voices.canonical.com/ubuntuone/?p=414 [14:39] duanedesign: yeah...ummm...don't spend too much time on that [14:39] duanedesign: we'll have more info on monday, but we're making some changes to contacts sync [14:39] mandel, pong [14:39] duanedesign: and it will impact using funambol clients like the t-bird and outlook plugins [14:39] alecu: I'm going to make the assumtion that you will be running the shotwell thing, right? [14:40] mandel, wrong assumption! [14:40] alecu: no? [14:40] mandel, I just added myself because it sounded interesting, but we can share the running. :-) [14:40] i asked this because every instalation i do i have to configure /usr/share/empathy/empathy-chat-window.ui to change the combination keys +w to to exit the conversation [14:40] joshuahoover: ok that answers my question [14:41] alecu: well, I was going to say I could give you a hand since I did look into it a little last time [14:41] but i think i have to do by hand [14:41] alecu: I need to check their new code, but it would be nice to get to budapest with some serious questions [14:41] like, do you have a bloody decent format that does not include toring the transformations in sqlite? [14:41] and such :) === teknico_away is now known as teknico [14:42] rafael: i think you want #ubuntu maybe? though sounds like you should just file a bug against empathy [14:42] mandel, "toring"? [14:42] ok i'm going now [14:43] thanks dobey [14:43] rafael: oh sorry, just saw your question about syncing [14:43] alecu: storing, forgot an s :P [14:43] rafael: but i think the answer is that Esc and C-w should both work there, and this is just a bug in empathy that should be fixed [14:44] mandel, what's wrong with storing the transformations in sqlite? [14:44] but i found only this way to fix it editing the file [14:44] mandel, I would guess any "non-destructive" editor would do a similar thing. [14:45] dobey: editing the party that mention close n configured to use the key ctrl +w n a change to esc key [14:45] dobey: an now works fine [14:46] dobey: i'd like to do that auto in a script i use when finish instalations [14:49] rafael: why? it would be easier to just fix the upstream code [14:49] and how can i do that ? [14:50] dobey: who i have to report ? at #ubuntu ? [14:50] rafael: well first thing to do, is file a bug against empathy stating that Esc should work /as well as/ Ctrl-w [14:50] alecu: that sync would be a pain, first, what do you sync to the web, just photos or sqlite too? second if someone downloads the file with no sqlite will thing that something went wrong. Third if you do a web photo album, do you want the server to be applying the transformations? [14:51] alecu: those are the questions I'd be asking [14:51] rafael: no, #ubuntu is the help channel for general ubuntu things. a bug will have to be filed in launchpad, and probably also in the upstream bug tracker [14:51] dobey: mmmm [14:51] dobey: r u using empaty now ? [14:51] rafael: if you go to #ubuntu though, someone there can help you file the bug [14:52] rafael: no, i use pidgin [14:52] ok [14:52] but a fixed the bug [14:52] and Esc works to close the chat windows in pidgin [14:52] mandel, probably we should ask them to do a library to apply the transformations and export that as a directory of already-transformed photos. And sync that for album exports. [14:53] mandel, on the other hand, I'm thinking of a couchdb backend to store the transformations so they are available on all your desktops. [14:53] dobey: right in empathy the esc dont close n have no option to change that [14:53] alecu: I was thinking about the second option too :) [14:53] mandel, alecu: should i be reading your backlog? [14:53] rafael: well, there is, but you shouldn't have to change it [14:53] dobey: would be nice to know our opinion [14:53] dobey: the only way i find is editing the file n change the line [14:54] dobey, we are discussing shotwell, so sure :-) [14:54] dobey: but it is more a discussion to have at UDS in the shotwell blueprint which we hope you will be co-running [14:54] no [14:54] dobey: don't be shy! [14:54] only running i'll be doing with shotwell, is away from :) [14:54] hahaha [14:56] so i would wonder why shotwell stores the transform history at all. i'm not sure it's especially useful [14:57] dobey: you talked with them more than I did, you know how they think :P [14:57] or at least better than me [14:58] i only asked about the plug-in API bits [14:58] and why they rolled their own build system [14:58] dobey, afaik: they store the transforms, not the history. The original photo file is never changed; the transforms are always applied on the spot. Perhaps the results are cached, but the original is never changed. [14:59] alecu: that is the history [14:59] alecu: because they have to be applied in a specific order [14:59] dobey: they have their own build system!?! What do you mean? [14:59] dobey, that's the sequence of transforms, but not the history. A history could be safely deleted. [14:59] alecu: it seems useful to only have live transforms like that during actual editing. [15:00] mandel: i mean they do not use autotools, or cmake, or anything sane. they have their own magical makefile rules that make no sense :) [15:01] alecu: they don't have a full history, that is right. They have only the combinations of function you saved.. or that is what I hope they have [15:01] dobey: oh fuck [15:01] yet an other thing to learn [15:03] hmmm.... [15:03] anyway [15:03] do you guys think that this is session-worthy? https://blueprints.launchpad.net/ubuntuone-client/+spec/desktop-o-ubuntuone-protocol-quota-change [15:03] perhaps just a meeting with foundations+ should do. [15:03] not storing the post-transform image itself seems dumb to me [15:03] alecu: no [15:04] dobey: I heard a really good WTF the other day. Someone in a paper used make and posted it. A bioinformatics researcher found it and wrote a perl script that could use the same format but did no use make because he did not know it existed [15:04] alecu: i don't think it need sa blueprint [15:04] mandel: haha [15:07] * fagan back [15:07] mandel: ping [15:07] that took way too long damn lines [15:08] fagan: pong [15:08] fagan: let me get you the merge url [15:08] cool [15:10] fagan: there you go https://code.launchpad.net/~mandel/ubuntuone-client/add_ipc_client_code_7/+merge/59514 [15:10] similar code as the others, this is the last one [15:11] cool === zyga-afk is now known as zyga [15:26] mandel: boom done [15:26] fagan: it exploded? [15:27] mandel: nope [15:27] Just meant it as a figure of speach [15:27] ah, ok [15:28] ok, people ig might be written with js (node.js) but can we(I) have this bot running in the channel: https://github.com/jsocol/scottbot [15:29] mandel: we have one already [15:29] but we could make a better one just for this one [15:30] fagan: read what the bot does [15:30] oki doke [15:31] mandel: yeah thats all we need for this channel [15:31] :D [15:31] that and a work harder bot that just says any time anyone says break to work harder [15:32] mandel: no [15:32] dobey: why? [15:33] dobey is a spoil sport I see [15:33] :( [15:33] :0 [15:33] mandel: because we already have such a bot. it's called "mandel" [15:33] lol [15:34] dobey: so your saying mandel is a robot he did seem kinda shiny when he was in london [15:34] dobey: but I want to have an everlasting online presence, it could be just like ghost in the shell (with an uglier shell) [15:35] or even the pupped master! [15:35] mandel: maybe you should go see a doctor and get tested for the HA3 virus [15:36] * fagan never heard of that virus [15:37] * alecu is going to the bank, bbiab [15:38] dobey: influenza? [15:38] * mandel confused... [15:39] I think I might work outside for the rest of the day [15:48] mandel: you are no longer allowed to make ghost in the shell references then :) [15:49] hah [15:49] * fagan doesnt watch any of that stuff [15:50] dobey: I did not remember that detail :P [15:50] and it is influenzia too, I think... [15:50] maybe I'm wrong [15:51] mandel: no, it's a simple computer virus [15:53] that looks like the flu? [15:55] dobey: true, just check influenza is H1N1, H2N2 etc.. according to the mutation [15:55] the spanish flu would be H1N1 [15:56] dobey: ironically, the antibody to influenza is HA3 [15:57] plubmed is awesome: http://www.ncbi.nlm.nih.gov/pubmed/3015782 [15:59] :/ have to wait till monday for my books [15:59] (to order) [16:01] mandel: the net is vast and infinite [16:02] dobey: yeah, 'cause I said influenza in a complete random way, I remembered it had an H at the start, just that [16:06] yes, strains of influenza are acronymed that way [16:28] dobey: did you see the 4 natty sru bugs have been tested and verified? anything else i need to do there to help? [16:29] joshuahoover: i saw that, thanks. don't think so. we just need to get someone to move the packages to updates i think [16:29] dobey: cool [16:30] dobey: do you know where the control panel pulls the name on the account from, sso or in one of our tables? [16:31] which name? [16:31] the user's name? [16:31] dobey: the user's name on the account [16:31] dobey: yeah [16:31] i think from sso [16:31] you'd have to ask nessita [16:32] dobey: k, thanks...holiday for her and others, right? [16:33] joshuahoover: she is on swap day. i don't know if she'll be here monday or tuesday or not. she is going to the summit next week before UDS too [16:34] dobey: ah, ok, thanks! [16:34] so she will probably be travelling, on tuesday at least. [16:34] anyway, time to get some lunch [16:34] bbiab [16:37] she should be here monday, I think tuesday is the flight day, so probably not [17:00] I'm off for the weekend, cu all next day [17:00] a2 [17:01] hello everyone (/me is not really here) [17:14] bye mandel === beuno is now known as beuno-lunch === JanC_ is now known as JanC === beuno-lunch is now known as beuno [18:42] ralsina: I forgot to ask do you have any suggestions for good books? [18:42] fagan: topics? [18:43] ralsina: well for what we are doing in the u1 team and maybe some about software engineering practices..etc [18:43] fagan: ok, I think the main things you need are: [18:43] ralsina: I have a list so far of the books on u1 if you want to look [18:43] 1) A good book about testing and best practices. Probably one ny pragprog [18:43] 2) the PyQt book you already had [18:44] 3) Something about twisted [18:44] (i have one about twisted on the list) [18:44] if you can share the list, I will take a look [18:44] http://ubuntuone.com/p/pJD/ [18:44] thats the lot I have so far [18:44] some of them are just things im interested in [18:44] Tao Teh Ching [18:45] excellent book, that. [18:47] Its an ok set of books for reference anyway and none of them are all that expensive except that one that is like 70 pounds [18:47] but investing on some good reading material is always nice [18:47] * ralsina looks [18:48] I get a broken link [18:48] if you edited the list maybe it got unshared? [18:48] * fagan makes sure the links are ok [18:48] ill try it again [18:49] ralsina: http://ubuntuone.com/p/pNj/ [18:49] Fagan: I can't recommend this enough: http://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530 [18:50] * fagan goes looking for that on .co.uk [18:50] The GNU Make handbook looks pretty useless [18:50] +99 for Beck's [18:51] I have never heard of the DBUS book. If it's good I would like to read it ;-) [18:51] Well I was just going to look at the make handbook because im terrible with make [18:51] fagan, the "D-Bus" book looks useless. It's got a stamp on the cover that says "High Quality Content by WIKIPEDIA articles!" [18:51] ok, kill that one [18:51] :D [18:52] ok both killed [18:52] The Scrum book sounds interesting but we are not doing scrum [18:52] ralsina: I was wondering what dev practice we were doing [18:52] in college we do UP [18:52] If you want to go into black magic, get O'Reilly's autotools book since only dobey knows that stuff ;-) [18:52] fagan: we are doing TDD-ish [18:52] That is, we hope to do TDD but we are doing it wrong [18:53] +1 on the twisted book [18:54] yeah mandel told me about that one [18:54] I cant find the oreilly autotools book. [18:55] I really like this one: http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/ref=sr_1_1?ie=UTF8&qid=1304099683&sr=8-1 [18:55] It's not really a technical book [18:56] http://oreilly.com/catalog/9781593272067 [18:56] the mythical man month is supposed to be good [18:56] ok, it's not really from o'reilly ;-) [18:56] fagan: yes, but it's mostly a management book ;-) [18:56] ok, lunch break for me [18:56] *everyone* is doing TDD wrong [18:57] TDD is a paradox [18:59] expand dobey :) [19:00] schroedinger would be proud of TDD [19:12] ralsina: oh and its good to be expanding your mind to management books early so you can say ive read that and know a little about management to move forward [19:12] fagan: only if you want to run the risk of being sucked into management :) [19:12] and plus know the person above you too [19:12] thisfred: god forbid [19:12] :D [20:43] anybody know *why* python dbus makes these crazy dbus.String() types etcetera out of everything, and doesn't just convert them to the real python equivalents? [20:44] thisfred: it just do it [20:44] thisfred: but dbus.String extends unicode [20:44] thisfred, they are usually subclassed from standard python types. [20:45] alecu: yeah, but they don't behave like their counterparts always, so you get crazy bugs on database interactions etc. [20:45] verterok: Yeah, but it does not behave like a unicode object always. [20:46] It's duck typing for no good reason that I can see [20:46] and incomplete/broken duck typing at that [20:46] thisfred, I'm not sure why dbus.String exists at all, but I would guess for completeness. [20:46] thisfred, now, dbus.Dictionary and dbus.Array *do* have a purpose [20:46] alecu: I think it's probably very useful for dbus internals [20:47] thisfred, because you can't usually mix types inside a dbus dictionary [20:47] alecu: because they enforce that all their contents are the same type [20:47] right [20:47] right [20:47] same for arrays [20:48] so I see the case for them, but dbus.String objects should just be turned into real unicode strings before any client code sees them [20:48] thisfred, perhaps. [20:48] anyway, end of whine ;) [20:49] thisfred, in what database are you storing dbus stuff? what errors are you getting? [20:49] thisfred: probably a bug in dbus-python [20:49] sqlite [20:49] * alecu has to give a talk on dbus tomorrow at pyday-córdoba. [20:49] and the errors are vague encoding errors [20:49] * alecu has no slides yet, as usual :P [20:49] heh [20:49] alecu: please, request some help to rewrite it :p [20:49] verterok, rewrite dbus-python? [20:50] alecu: Over the past few nights, I've converted my autoqueue plugin to a dbus service [20:50] or fix it [20:50] :) [20:50] thisfred, cool! [20:50] which was much easier than I'd expected [20:50] most of the problems were not dbus related anyway [20:50] but now I find myself having to convert all dbus strings to real unicode objects or sqlite won't accept them [20:51] thisfred: sqlite provides some hooks to convert types [20:51] verterok: I know [20:51] verterok, afaik python-dbus is going away, and we'll soon be using gdbus thru gobject introspection. [20:51] verterok: so I'm using the default text factory [20:51] verterok, behold: http://www.piware.de/2011/01/na-zdravi-pygi/ [20:51] which accepts unicode [20:51] alecu: looking [20:52] alecu: but I must say...I'm scared [20:52] but it thinks dbus.Strings are 8-bit bytestrings [20:52] alecu: do you know what wold be great, a python binding that actually allows me to use whatever mainloop I want ;) [20:53] thisfred, that sounds like a sqlite issue, since isinstance(dbus.String(), unicode) == True [20:53] alecu: yeah I know, so to me that sounds like a dbus issue: [20:53] hmm [20:53] it lies about its type and then in some subtle way behaves differently from that type [20:54] verterok, I don't think gdbus will let you use other mainloops than gobject's [20:54] well not lies maybe [20:54] alecu: then, it's great for gnome apps, but still sucks for everyone else :) [20:54] alecu: it won't [20:54] verterok: well it's fine for us [20:54] anyhow, I think I've worked around it, so now it should be much easier to use the plugin from other languages, and thus even more players [20:55] dobey: I'ld really like to stop using the glib reactor in syncdaemon :) [20:55] dobey: or fix it :) [20:55] verterok: i'd really like to stop using twisted :) [20:56] dobey: ok, I'll not talk about twisted [20:56] but I'm quite sure that writting syncdaemon without twisted is going to be a quite complex task [20:57] i don't know [20:57] anyway [20:57] verterok, yes, it's much easier to fix the glib reactor. Or get rid of it. [20:57] we can argue about it later [20:58] we should port it to go :) [20:58] alecu: it's not easy to get rid of it, but it should be easy to fix [20:58] * thisfred runs [20:58] verterok, also: what would it take to get rid of the glib reactor? [20:58] thisfred, go port it! [20:58] or node.js! [20:58] :D [20:59] MPL [20:59] alecu: no idea, probably writing some C code :) [20:59] no [20:59] sigh [21:00] verterok, perhaps moving the dbus stuff to another thread that runs in parallel to the twisted reactor (and in the same process)? [21:00] alecu: "Subject: For Sat: Plaga Zombie: Mutant Zone" [21:00] alecu: i don't think we need to move the dbus stuff to another thread [21:01] also, threads are meaningless in python [21:01] dobey, have a spoon ready, to pick out your eyes while watching it :-) [21:01] dobey, I don't want to use it for speed, so having it in python is irrelevant. [21:02] dobey, I want to use threads to have two isolated main loops. [21:02] alecu: having a dbus service that blocks because of the GIL being stupid, is not good :) [21:03] verterok, the main problem with the glib reactor is that it kills the battery by waking up the cpu at unneeded moments, right? [21:04] is that really the reason behind this conversation? [21:04] alecu: that's one of the bigger issues [21:06] verterok: what are the issues? [21:06] verterok, do you know of any other big issue? [21:07] alecu: not without searching for bugs/rants/issues reported in the dbus/twisted mail list [21:07] :-) [21:08] alecu: it's been a while since I stopped fighting with dbus :) [21:08] verterok: so your answer to that is "ok, so let's fight with dbus some more" ? [21:08] bore? or just masochistic? [21:09] dobey: managed to make it work [21:10] dobey: I'ld really like to dbus integrated in the twisted select/epoll/etc reactors [21:12] i don't really see the benefit of writing a whole new dbus binding on top of twisted, vs. just fixing the glib reactor, or moving away from twisted [21:14] dobey: moving away from twisted isn't an option, so we can fix the glib2reactor [21:15] a dbus binding on top of twisted sound much more doable than moving away from twisted. [21:16] i doubt it. i really don't understand what you guys think is so hard about moving away from twisted? [21:16] also, isn't a new dbus binding, it's the same old dbus-python with a different mainloop [21:17] dobey regardless of how you feel about twisted, moving away from it (or to it) will always be a lot of work, because it makes you write all your code inside out [21:18] i didn't say it wouldn't be a lot of work [21:18] well, lots of work == hard when time is limited [21:18] verterok: dbus-python is no longer going to be maintained or updated. so i wouldn't say that [21:19] thisfred: there is a difference between hard and "not an option ever" [21:19] sure. Nobody said it was impossible, though [21:20] thisfred: and frankly, if twisted is really *that* hard to move away from, i think that's even more reason to move away from it :) [21:20] dobey: sorry, *I* don't see it as an option [21:20] I don't think there's another technology as mature and solid as twisted, and that allows for the massive refactorings that facundo has been doing to port syncdaemon to. [21:20] thisfred: well verterok said it wasn't an option. and i want to know why [21:20] dobey: ok, then we need a non-gnome/glib dbus binding :) [21:20] alecu: well glib is that mature [21:21] i don't know if i'd call twisted solid though :) [21:21] dobey, if you can't call it solid it means you have not used long enough. [21:21] used it. [21:21] I think it's pretty solid when all is going well, it's just hard to debug [21:21] alecu: i can't call it solid, because i have seen how many twisted reactor issues we have in our tests. [21:21] that's gonna be true for any async code though [21:23] thisfred, any async code may look hard to debug, but in practice debugging it is doable (compared with threaded sync code) [21:24] I'd argue that both are hard to debug, and hard to get right [21:24] but yeah, there are no solutions to that problem [21:25] dobey, so, what would you write it on? async python+glib? or vala? [21:28] alecu: write syncdaemon on? [21:28] yup [21:28] preferably vala, but if it must be python, then multiprocessing+glib, yes [21:30] only problem with doing vala (or other compiled langs) is that it makes multiplatform harder. C#/mono might be an option [21:31] dobey, and how would rewriting it in those technologies would make it better than the current one? [21:32] more performant, more actually asynchronous, in vala at least we would probably get much better memory usage as well, and could possibly end up not having crazy hacks to delay startup [21:32] i would also move away from protobuf ideally [21:34] dobey: there are no more crazy hacks to delay startup, or at least they aren't needed. (it wasn't a problem of the underlying technology) [21:35] alecu: do you have a link that where is said that dbus-python is a dead-end? [21:35] *to [21:35] verterok, I don't. dobey mentioned it. [21:36] dobey: do you have a link about dbus-python dead? [21:38] http://www.freedesktop.org/wiki/Software/DBusBindings [21:38] verterok: see "D-Bus support in GLib" there [21:38] thanks [21:40] verterok: dbus-glib is obsolete, and python-dbus is just a wrapper around that. so we should be moving to use GDBus instead; via gobject-introspection [21:42] I wonder how generated bindings will handle all the type restrictions. [21:43] thisfred: what do you mean? [21:44] well, if we use object introspection to get to GDBus, how will type conversions and the restrictions that DBus imposes be handled? Will we have to manage that all in our python code? [21:44] python dbus wasn't perfect but it makes writing client code pretty easy [21:48] the nice thing about python-dbus is the decorators [21:48] right, that too [21:48] and those will go away [21:48] though i guess we could write some wrapper code [21:48] well generated code pretty much always sucks to use. I think people will start to write stuff on top of the autegenerated introspection stuff though. [21:49] right [21:50] but using through gobject introspection is basically like using the C API. [21:50] my point exactly :) [21:50] so, will qt need to create they our bindings? [21:50] i think the gobject-introspection bits handle stuff well [21:50] i haven't used GDBus through python yet [21:51] so i can't exactly tell you what will or won't be a problem [21:51] they work well enough but they're not as developer friendly as python can be [21:51] verterok: what do you mean? [21:51] dobey: qt apps use dbus-python with the qt mainloop [21:51] verterok: i don't know why, qt already has built-in dbus bindings [21:52] oh, didn't knew about that (it's been a while since I looked at qt dbus stuff) [21:52] * verterok reads qt doc === mainerror_ is now known as mainerror [22:07] dobey: I'm might be missing somthing, as I undertand this: GDBus is a replacement for the libdbus glib bindings...or I'm completely worng? [22:07] *wrong too [22:09] verterok: dbus-python is bindings for dbus-glib [22:10] verterok: GDBus replaces dbus-glib, therefore dbus-python is also deprecated [22:11] dobey: hmm, as I understand the freedesktop docs, dbus-python is a libdbus binding (that uses glib mainloop by default) [22:11] and GDBus is a replacement of libdbus+glib-dbus [22:12] verterok: the python module is /usr/lib/pyshared/python2.7/_dbus_glib_bindings.so [22:13] verterok: the bindings that use the glib main loop use dbus-glib [22:13] based on http://www.freedesktop.org/wiki/Software/dbus and http://developer.gnome.org/gio/2.28/ch29.html [22:14] verterok: python-dbus+gobject main loop is using dbus-glib [22:14] dobey: right, but it could use other mainloop and still use libdbus [22:15] verterok: you would have to write bindings using that main loop [22:15] dobey: not bindings, only the mainloop glue code [22:15] verterok: the libdbus-only portion of dbus-python is synchronous [22:16] dobey: the dbus binding is /usr/lib/pyshared/python2.7/_dbus_bindings.so [22:16] either way, it's not worth the trouble to try to replace dbus-glib with something else that's not GDBus [22:16] verterok: that is synchronous and has no mainloop and binds only libdbus, yes [22:17] dobey: ok, so. what's being deprecated is dbus-glib, dbus-python might live on with a different mainloop [22:17] verterok: the glib mainloop version is asynchronous because it binds a library that is already asynchronous [22:17] verterok: i doubt it [22:17] why? qt already did it [22:17] they use dbus-python with the qt mainloop [22:18] sigh [22:24] ok, well [22:24] if you want to maintain a module to do that, then you can i guess [22:25] dobey: I'm not going to mantain it :) someone is already doing it :) [22:25] whatever, i don't care any more. keep using the deprecated code [22:26] great, so rather than reduce our dependencies, we can increase them. lovely [23:04] later all, have a good weekend! [23:08] good night [23:09] how about the latency in U1 [23:09] cause take to many time to submite a file shared