[23:33] <eyceberg> Hello.
[23:34] <eyceberg> What audio program is the most stable that can load vsti for ubuntu?
[23:34] <gordonjcp> oh, there was one that was quite good
[23:34] <gordonjcp> fst?
[23:34] <gordonjcp> something like that
[23:36] <eyceberg> well i been trying to find ways to run cubase, but had no luck on that. but this FST you say would i find this in update manager ?
[23:36] <gordonjcp> I don't know, you could try looking there
[23:37] <eyceberg> ya good call haha. is there a workaround to get fl studio 9.0 installed in ubuntu?
[23:37] <gordonjcp> wineasio used to be one that people used
[23:37] <gordonjcp> I don't know what that is
[23:37] <gordonjcp> if it's a Windows program, try wine
[23:38] <eyceberg> is there a wine irc channel?
[23:38] <gordonjcp> I imagine so, maybe #wine
[23:39] <eyceberg> lol no go
[23:39] <gordonjcp> #winehq maybe
[23:39] <gordonjcp> yeah, I think it's #winehq
[23:40] <gordonjcp> a quick google suggests wineasio, fst and dssi-vst
[23:40] <gordonjcp> maybe one of those will work for you
[23:43] <eyceberg> nice, thank you.
[23:43] <gordonjcp> I did try iirc jack-fst? can't remember
[23:43] <gordonjcp> it worked fairly well but I don't use vsti


[03:08] <bjruck> I everybody, I am a new user. My first Linux installation. Thank you all.
[05:38] <saras-u8> any idea how get audio interface to work wright
[06:22] <Len-nb> saras, how is your IF not working? What kind is it? Is it USB, internal, fire wire or PCI?
[06:23] <Len-nb> Working right can be a number of combinations, it depends on what the job is you are trying to do.
[06:55] <hepo> Здравствуйте
[06:55] <hepo> есть кто?
[06:57] <holstein> !ru | hepo
[09:57] <ubuntu-studio> Ich habe Ubuntustudio von DVD Heft linuxuser spezial installiert, geht aber anscheinend nur von DVD.
[10:00] <ubuntu-studio> Kann man das irgendwie anders erwerben? Ansonsten baue ich mir selbs ein Konzept mit Ubuntu 12
[11:16] <Ricardo-Ubuntust> Hello, Does anyone recommend software and streaming support issue (personally, locally and online) audio / video?. I tried Goalbit, but the user must install plugin's, I would find something standard. Thanks, happy holidays and happy 2013! for all
[12:15] <Ricardo-Ubuntust> Bay, bay
[13:09] <dsenator> hey all, I have just switched to Ubuntu Studio 12.10 and there is a bug... If I leave my system for a while and return it seem to have hybernated or gone to sleep but then I cant get it to wake up or come alive again, so I end up making a hard restart
[13:10] <dsenator> hello
[13:10] <dsenator> my ubunto studio 12.10 always crashes and requires a hard restart everytime I leave my computer for a while and return to it
[13:11] <dsenator> I have reported the bug but no response yet
[15:06] <dsenator> my ubunto studio 12.10 always crashes and requires a hard restart everytime I leave my computer for a while and return to it
[15:24] <holstein> dsenator: i would test that for a hardware issue
[15:24] <dsenator> hey holstein , glad to have you here again
[15:24] <holstein> dsenator: if its a destkop, or easy to open laptop, i usually remove the hard drive (or just disconnect) and troubleshoot the hardware
[15:25] <dsenator> actually its a laptop and the same one I used since the last time we had conversation
[15:25] <dsenator> have always been using ubuntu and no such issue
[15:25] <holstein> dsenator: load up the live CD for ubuntu that worked and test
[15:25] <dsenator> but last week I decided to load up ubuntu studio and have since been having the issue\
[15:26] <holstein> dsenator: switch to ubuntustudo 12.04 if you think its a 12.10 issue
[15:26] <holstein> dsenator: *if* this is a software issue, it is likely a hardware support/driver issue.. so look at the kernel version/type
[15:26] <dsenator> 12.10 is fine just the at since I switched to studio I have this issue
[15:27] <dsenator> holstein, can you show me how
[15:27] <holstein> dsenator: cool.. then load up said 12.10 where everything is "fine" and confirm tis
[15:27] <holstein> dsenator: you can install the same kernel from main ubuntu and test
[15:27] <holstein> sudo apt-get install linux-generic
[15:28] <holstein> dsenator: you can just *not* use ubutustudio
[15:28] <holstein> dsenator: load up the ubuntu version that is working and add whatever you want from our meta-packages.. or whatever audio/video apps you want
[15:28] <holstein> dsenator: ubuntustudio *is* ubuntu.. so just add whatever you need to ubuntu and enjoy!
[15:31] <dsenator> linux generic... whats that gonna do
[15:32] <holstein> dsenator: ?
[15:32] <holstein> dsenator: ubuntustudio uses and ships with a lowlatency kernel
[15:32] <holstein> dsenator: ubuntu ships the above generic kernel
[15:32] <holstein> dsenator: if you say "ubuntu was fine and ubuntustudio is broken" i am suggesting installing the same kerne as ubuntu to test and confirm
[15:33] <holstein> dsenator: what is it going to do?? it will install the package i suggested with the generic kernel that is the same kernel ubuntu 12.10 has
[15:33] <dsenator> here is what i got 'linux-generic is already the newest version.
[15:34] <holstein> dsenator: how did you install ubuntustudio?
[15:34] <holstein> dsenator: in a terminal.... "uname -a" and paste output here
[15:34] <dsenator> I think I did it thru the terminal
[15:34] <dsenator> here ''Linux dsenator-HP-Pavilion-dv6500-Notebook-PC 3.5.0-21-generic #32-Ubuntu SMP Tue Dec 11 18:52:46 UTC 2012 i686 i686 i686 GNU/Linux
[15:35] <holstein> dsenator: let me know *exactly* how you did
[15:35] <holstein> dsenator: otherwise, you arent using our kernel
[15:35] <holstein> dsenator: you arent using ubuntustudio
[15:35] <dsenator> hmmm, confused dot com
[15:35] <holstein> dsenator: you can download are 12.10 or 12.04 live cd and test on that hardware and consider reinstalling
[15:36] <dsenator> when yu say test
[15:36] <holstein> dsenator: load up the live CD.. live.. without installing.. as a test.. that will not affect your hardware permanently in any way
[15:38] <dsenator> I dont have a lice cd, I always upgrade... here is the thing, when I fire up my system, I have the choices from which I can choose the ubuntu type i want, so I have the normal ubuntu 12.10 gnome and then I can choose the ubuntu studio
[15:38] <dsenator> xfce
[15:39] <holstein> dsenator: there is no "normal ubuntu 12.10 gnome".. we dont ship gnome on anything
[15:39] <holstein> dsenator: i hear you.. and im sure you are facing a challenging situation.. but i would get a live CD.. the 12.10 ubuntustudio live CD.. load it up and test
[15:39] <dsenator> what does test mean
[15:39] <holstein> if you hae the same issue.. its and ubuntstudio issue.. if you dont.. its your config
[15:40] <dsenator> thats what I cont get
[15:40] <holstein> dsenator: it means to test.. taking your current installation out of the equation
[15:40] <holstein> dsenator: you have a system that you are not sure how or if you hae converted to ubuntustudio... it could be fragmented, misconfigured or broken
[15:41] <holstein> i think it would save a lot of time to take the operating system out of the equation.. by loading up a live CD
[15:41] <holstein> dsenator: i use the live CD's as a tool... i test with them all the time
[15:42] <dsenator> I only get this issue when I leave the system for a long time and then it does some screen saver and then I come back its a black screen, normally when that happen, I just touch any button and it prompts me for a password to login but now it just wont respond until I am forced to hard restart vis the power button
[15:42] <holstein> dsenator: disable the screen saver.. test for tty
[15:42] <holstein> !tty | dsenator
[15:43] <holstein> dsenator: test with the live CD and see if you can replicate the error
[15:44] <dsenator> ok... I cant say I am very sure what to do but i will try out what I understand from this chat and let you know
[15:45] <holstein> dsenator: you troubleshoot..
[15:45] <holstein> dsenator: no one will be able to say 'this is what you have done".. you will have to troubleshoot and test and provide more data
[15:45] <dsenator> when I loaded studio, it was from terminal
[15:45] <holstein> dsenator: sure.. but you dont "load studio"
[15:45] <holstein> theres a different kerenl
[15:46] <holstein> anyways.. that doesnt matter.. if it were my machine, i would just download the live CD.. test and see about the error when it doesnt replicate on the live cd, i would just do a fresh install
[15:46] <holstein> if you dont need ubuntustudio, just fresh install xubuntu
[15:47] <dsenator> thing is I can switch to the ubuntu on startup
[15:47] <holstein> dsenator: thats just destkop environment
[15:48] <dsenator> hmm ok
[15:48] <holstein> dsenator: you arent switching to ubuntustudio.. and you likely dont need to
[15:48] <holstein> dsenator: if you think its an issue with the xfce screensaver, turn it off
[15:48] <dsenator> this is what I used ''~$ sudo apt-get update && sudo apt-get install ubuntustudio-desktop ubuntustudio-audio ubuntustudio-audio-plugins ubuntustudio-graphics ubuntustudio-video
[15:48] <holstein> dsenator: you are not using ubuntustudio though. and you likey dont need it
[15:49] <holstein> dsenator: we have a kernel too
[15:50] <dsenator> when I load up I see ubuntu studio at the bottom of my desktop screen, how do you mean I dont use ubuntustudio
[15:50] <holstein> dsenator: we have a kernel too and you dont have it installed
[15:50] <holstein> dsenator: thats how i mean... you have installed some meta packages though
[15:50] <dsenator> ok
[15:50] <holstein> dsenator: try tty next time that happens
[15:50] <holstein> !tty
[15:51] <dsenator> tty???
[15:51] <holstein> dsenator: yes.. tty
[15:51] <holstein> !tty | dsenator
[15:51] <dsenator> you mean next time ii have the blank screen i shd use the key combi
[15:51] <holstein> dsenator: correct
[15:51] <holstein> dsenator: then you will be able to sudo reboot
[15:51] <holstein> and you will confirm that the machine is not locked up
[15:52] <dsenator> hmmm
[15:52] <dsenator> so please, tell me about the method i used to install studio
[15:52] <holstein> if you have a PPA added for gnome,, that could be breaking something
[15:52] <holstein> dsenator: ?
[15:52] <holstein> dsenator: the method you used to add some of the ubuntustudtio metapackages??
[15:52] <dsenator> what is wrong, missing or incomplete
[15:52] <dsenator> ~$ sudo apt-get update && sudo apt-get install ubuntustudio-desktop ubuntustudio-audio ubuntustudio-audio-plugins ubuntustudio-graphics ubuntustudio-video
[15:52] <holstein> dsenator: i would install from CD
[15:53] <dsenator> hmmm I see
[15:53] <holstein> dsenator: you can add our kernel too if you want.. but you likely dont need it.. or any of the other stuff
[15:53] <dsenator> i was hoping to not have to do that
[15:53] <holstein> dsenator: for example
[15:53] <dsenator> our kernel if yu want... ???
[15:54] <holstein> dsenator: we ship a kernel.. not the one you are using.. but you likely dont need it
[15:54] <holstein> dsenator: you can just remove all those meta packages and insatll what you want
[15:55] <holstein> dsenator: for example.. if you are just going to use JACK and ardour.. just install JACK and ardour in the environment that you use, that is working that is not giving you a black screen
[15:55] <dsenator> so whats the benefit of ubuntu studio to ubuntu
[15:55] <dsenator> I know its low latency
[15:56] <holstein> dsenator: nope
[15:56] <holstein> dsenator: we have a lowlatency kernel though... and you are not using it
[15:56] <holstein> dsenator: though, you likely dont need it
[15:56] <dsenator> why not
[15:56] <holstein> dsenator: you didnt install it.. and you likley dont need lowlatency
[15:56] <dsenator> when yu say we, who is we??? illuminati... sorry kidding
[15:56] <dsenator> but what do you mean we
[15:57] <holstein> dsenator: we = ubuntustudio
[15:57] <dsenator> oh
[15:57] <holstein> ubuntustudio has a lowlatency kernel. but you didnt install it
[15:57] <dsenator> ok PLEASE show me how to remove the stuffs I added and use your own
[15:57] <holstein> ?
[15:58] <holstein> dsenator: sure.. just elaborate as to what you have and what you want
[15:58] <holstein> dsenator: if you arent doing software synths live or live audio effects, you dont need lowlatency
[15:58] <holstein> dsenator: if you have an internal sound care, that will be more limiting than the software
[15:59] <dsenator> I see, so  yes I hav an internal sound card
[15:59] <holstein> dsenator: so, dont bother.. ubuntustudio is not magic
[15:59] <holstein> it wont make your hardware any faster
[16:00] <dsenator> and I also do some music audio stuff, or say wanna do them which made me think studio is right
[16:00] <holstein> dsenator: it might be... you shoud try it.. live
[16:01] <dsenator> ok
[16:01] <holstein> dsenator: then, you can decie if you want to fresh install to get a properly configured system, or continue "troubleshooting" with myself or one of the other volunteers
[16:01] <holstein> decide*
[16:01] <dsenator> you said ealier on that ''you can just remove all those meta packages and insatll what you want''
[16:01] <holstein> dsenator: correct
[16:01] <dsenator> and that I can use your kernel
[16:01] <dsenator> can we do that pls
[16:01] <holstein> dsenator: the metapackages just contain applications
[16:01] <holstein> dsenator: you can just install those applications
[16:02] <holstein> if you are only going to use audactiy sometimes, you dont need ubuntustudio.. just install audactiy
[16:02] <dsenator> how do I remove them and use your low latency studio kernel
[16:02] <holstein> dsenator: you are mis-understanding me
[16:02] <lopblop> well i must say, ubuntu studio is my fav of all the deb derivitives
[16:02] <dsenator> I always had audacity even before this switch
[16:03] <dsenator> exactly
[16:03] <holstein> dsenator: you have *most* of ubuntustudio
[16:03] <dsenator> ok
[16:03] <holstein> dsenator: id you want *all* of it.. finish installing the packages.. or reinstall
[16:03] <holstein> dsenator: if you dont need ubuntustudio, and you are having issues.. just use the pacakges you want
[16:04] <dsenator> ok... I understand you
[16:04] <dsenator> I am saying... I wanna try studio cos of the perceived advabtages
[16:04] <holstein> dsenator: i would try our live CD.. see if you want/need it.. then just resinstall fresh
[16:04] <dsenator> I surely want it
[16:04] <holstein> dsenator: if you have a PPA for gnome installed, that could be breaking things
[16:04] <dsenator> ok... how do i check
[16:04] <dsenator> for that
[16:05] <holstein> dsenator: did you add one?
[16:05] <dsenator> i dont know
[16:05] <dsenator> I think so
[16:05] <lopblop> it would be in your software sources under settings in the launcher menu
[16:05] <holstein> dsenator: i would fresh install... i have no idea what is up with your install and you are implying you dont either
[16:05] <dsenator> so if i fresh install studio, how about my files
[16:06] <lopblop> for sure. save your /home folder and do a fresh install
[16:06] <dsenator> do I loose anything
[16:06] <dsenator> hmmm
[16:06] <holstein> dsenator: your files are beside the point.. you *will* lose them when that hard drive crashes.. it *will* die
[16:06] <holstein> dsenator: take this opportunity to plan for that event that *will* happen.. then you will never lose anything
[16:07] <dsenator> what a nice way of saying harsh things
[16:07] <dsenator> nice
[16:07] <lopblop> anything you dont have multiple backups of stored in seperate locations is data you dont care about
[16:07] <holstein> is data you had better not care about
[16:11] <holstein> gotta run.. cheers..
[16:12] <lopblop> enjoy
[16:13] <dsenator> cheers guys thanks
[16:14] <dsenator> will ht back when i figure out what has to happen to with from all the options
[17:44] <petrux> hi guys
[17:44] <petrux> first contact with ubuntu studio :-)
[17:45] <petrux> but I cannot get my wireless connection working (while the wired one is going fine)
[17:45] <petrux> looking around, it seems it could be a driver issue. How can I check for the installed drivers and eventually install new ones?
[17:52] <lopblop> lspci or lsusb
[17:52] <lopblop> to find out what chip the wifi is
[17:53] <lopblop> you may need to load special firmware
[17:53] <petrux> let me check
[17:54] <petrux> lopblop: 02:05.0 Network controller: Intersil Corporation ISL3872 [Prism 3] (rev 01)
[17:55] <petrux> Do you think I have to install a proper driver?
[17:55] <lopblop> well to be honest i've never heared of that. feel free to google/bing/ whatever with me
[17:57] <holstein> petrux: i think that is the wired one
[17:57] <holstein> petrux: run lspci in the terminal and output the text to..
[17:57] <holstein> !paste | petrux
[17:57] <holstein> you likely have a broadcom chip
[17:57] <holstein> !broadcom
[17:57] <lopblop> prism sounds like wifi to me
[17:58] <holstein> might be...
[17:58] <petrux> yes, I'm talking about wifi
[17:58] <petrux> anyway, no broadcom
[17:59] <petrux> http://paste.ubuntu.com/1470506/
[17:59] <petrux> holstein, here is the paste
[18:00] <holstein> petrux: i dont see any information when i search.. i would try #ubuntu since this is not an ubuntustudio specific issue
[18:00] <holstein> petrux: i might try a localized support channel.. might find someone with that hardware and experience with t
[18:00] <holstein> it*
[18:00] <lopblop> this looks promising:  http://hostap.epitest.fi/
[18:01] <lopblop> nope got ahead of myself nevermind
[18:01] <holstein> i agree that the Intersil Corporation ISL3872 [Prism 3] (rev 01) device is the wifi device
[18:02] <petrux> well... I need some spoonfeeding, I'm quite a newbie... so any advice is really appreciated!
[18:02] <holstein> i might just grab some live CD's.. fire them up and see if anything supports the device... i would want ubuntu 10.04, 12.04
[18:03] <holstein> petrux: there seems to be very little information.. keep in mind, there is nothing in linux/ubntu preventing the hardware vendor from providing you with a driver
[18:04] <holstein> if you try a few live CD's, you might find something that works with it.. that could help you add support in
[18:04] <lopblop> this thing has been a problem for a long time it looks like since kernal 2.6. seeing a lot of posts saying it worked on 2.4
[18:04] <lopblop> not a lot of recent info
[18:05] <holstein> driver support can be dropped. if its not maintained.. or just too old
[18:05] <holstein> if it were me, i would try to replace the hardware
[18:06] <lopblop> yeah they arent expensive anymore. not worth the hassle but this looks promising: http://lxr.linux.no/#linux+v3.7.1/drivers/net/wireless/Kconfig
[18:06] <lopblop> linked from http://cateee.net/lkddb/web-lkddb/PCI_HERMES.html
[18:06] <petrux> it's a very old HW configuration, actually...
[18:08] <lopblop> unless you absolutely need packet injection, i'd upgrade the thing
[18:11] <petrux> cannot upgrade actually
[18:11] <petrux> the card is integrated
[18:11] <lopblop> no USB or PCMCIA you could use?
[18:13] <petrux> ah, ok... you mean getting a new (external) wireless card?
[18:13] <holstein> *any* other wifi hardware.. assuming you eed wifi
[18:13] <holstein> need*
[18:14] <lopblop> before that maybe try installing NDIS wrapper just to make sure its not an easy fix
[18:14] <lopblop> but if that doesnt work get an extern USB dongle WiFi or something
[18:14] <holstein> yeah.. i have a card that works well with ndis actually
[18:14] <holstein> slipped my mind.. ndisgtk
[18:17] <lopblop> ASUS USN-N13   is what i use. got a bunch of them for cheap a few years back and they work out of the box for pretty much every system i've ever plugged em into. they even have Win98/ME/NT drivers available
[18:17] <lopblop> USB-N13*
[22:12] <Guest77214> help
[22:12] <Guest77214> i have a akai eie tring to get it work with ubuntu studio
[22:49] <holstein> Guest77214: cool
[22:49] <holstein> Guest77214: it might not work
[22:50] <holstein> Guest77214: keep in mind, there is nothing about linux or ubuntu that is preventing akai from providing a driver for you and the operating system you choose to use
[22:50] <holstein> http://bugtrack.alsa-project.org/main/index.php/Matrix:Vendor-AKAI doesnt look good for akai
[22:50] <Guest77214> that is so helpfull
[22:50] <holstein> !sound | Guest77214
[22:51] <holstein> there are some general "how tos" on linu audio
[22:51] <holstein> i usually just install or plug the device.. then i open a terminal and run either lspci or lsusb or both
[22:51] <Guest77214> it is not show in jack or alsa right
[22:51] <Guest77214> it show as a output device
[22:52] <holstein> then i run 'aplay -l' and 'arecord -l'
[22:52] <holstein> Guest77214: you'll need to tell me if it is showing in JACk or alsa
[22:52] <holstein> JACK uses alsa though
[22:54] <lop-plop> strange problem: "There is not enough room on the disk to save /tmp/WIM2NpTe.part."  which is a 49 MB file, i have 2GB available (2.7 free) on "/" and 3GB available RAM.
[22:55] <lop-plop> recieveing error when attempting to download a file through Firefox
[22:56] <holstein> http://support.mozilla.org/en-US/questions/929051
[22:57] <holstein> maybe just empty the trash
[22:57] <holstein> http://forums.fedoraforum.org/archive/index.php/t-206630.html
[22:57] <lop-plop> yeah that was the first thing i tried  :P
[22:57] <holstein> http://ubuntuforums.org/showthread.php?t=1032035
[22:58] <Guest77214> i dont see any usb device on arecord
[22:58] <holstein> Guest77214: then alsa is not using it. and it might not
[22:58] <Guest77214> on lsusb i have Bus 001 Device 007: ID 09e8:0011 AKAI  Professional M.I. Corp.
[22:58] <holstein> Guest77214: i would search "ubuntu akai model" and see what comes up... or "alsa akai model".. and keep in mind, it might not work
[22:59] <holstein> i dont think akai works well with alsa
[22:59] <holstein> Guest77214: if you can return it, i would. and get something well supported
[23:00] <holstein> maudio has a few USB devices that work well and are usually a good value
[23:00] <holstein> Guest77214: be sure and let akai know you would like to use the product they have created with linux/ubuntu
[23:01]  * holstein has to run... Guest77214 , try #opensourcemusicians if its slow in here.. lop-plop try those suggestions, then maybe try #xubntu or #ubuntu or a firefox support channel.. cheers!
[23:01] <lop-plop> enjoy
[23:02] <lop-plop> yup i already did all that
[23:03] <Guest77214> why do just get midi in jack for the m-audio or the akai
[23:05] <lop-plop> i'd suggest trying in #jack
[23:05] <lop-plop> i know very little about it. as it has yet to act up on me
[23:07] <lop-plop> i can tell you a good friend of mine retired from the music production industry as he is just getting burned out on the lack of support all the manufacturers and software providers have. he says support with anything to anything has never been good on any platform and its only been getting worse over the years
[23:13] <lop-plop> Guest77214:  theres some people in #jack available right now. try typing /join #jack


[02:53] <wallyworld_> davecheney: hi there, i'd love a review if you have a change sometime https://codereview.appspot.com/6940069/
[02:57] <wallyworld_> also maybe https://codereview.appspot.com/6923056/
[03:00] <davecheney> wallyworld_: no probs
[03:00] <wallyworld_> awesome thanks
[07:26] <geddan> wallyworld___: heading off, are there any more reviews to do tonight ?
[08:44] <fwereade> breakfast break, bbiab
[08:57] <rogpeppe> mornin' all
[09:15] <jam> morning
[09:15] <jam> I'm running into a test suite hang, where I end up with a "mongod <defunct>" process, and the test suite ends up being killed after waiting 5 minutes.
[09:15] <jam> Anyone seen that and can help me fix it?
[09:16] <jam> (very reproducible, it happens with about 10 of the juju-core packages)
[09:16] <jam> rogpeppe, fwereade: ^^ ?
[09:16] <rogpeppe> jam: do you know which test is hanging?
[09:16] <jam> rogpeppe: START: /home/jameinel/dev/go/src/launchpad.net/juju-core/cmd/juju/addrelation.go:0: AddRelationSuite.SetUpTest
[09:17] <jam> TestAddRelation
[09:17] <jam> but similar behavior is in a bunch of packages, so there may be a smaller one we could track down.
[09:17] <rogpeppe> jam: have you got a stack dump out of it, so that we can see what line it's hanging on?
[09:19] <jam> rogpeppe: well, if I try to connect with gdb, I get a permission denied, if I try as root, it dumps a memory map, perhaps there is a back trace.
[09:20] <rogpeppe> jam: i usually do it by killing the process with SIGQUITE
[09:20] <rogpeppe> QUIT
[09:20] <jam> rogpeppe: http://paste.ubuntu.com/1444879/
[09:20] <fwereade> rogpeppe, jam, heyhey
[09:20] <rogpeppe> fwereade: yo!
[09:20] <fwereade> jam, sorry, I'm not familiar with that problem
[09:20] <rogpeppe> jam: hmm, that's not very helpful :-)
[09:20] <jam> rogpeppe: SIGQUIT output: http://paste.ubuntu.com/1444882/
[09:21] <jam> formatting seems hard to read
[09:21] <rogpeppe> jam: i agree, but i lost that argument a while ago (in go core)
[09:21] <jam> It looks like the test is hanging in a cleanup section, possibly as a bad side effect of something failing.
[09:22] <rogpeppe> jam: it looks to me as if it's hanging trying to connect to mongo
[09:22] <rogpeppe> jam: ah, i see where your bad formatting is coming from
[09:22] <rogpeppe> jam: you probably just typed ^\
[09:22] <jam> rogpeppe: correct
[09:23] <rogpeppe> jam: which is actually ok now on go tip, i believe, but in earlier versions, go test doesn't catch the signal
[09:23] <rogpeppe> jam: so you get two stack dumps interleaved
[09:23] <jam> rogpeppe: ah, interestting. new dump: http://paste.ubuntu.com/1444889/
[09:23] <rogpeppe> jam: the easiest way around it is to compile the binary with go test -c, then run that
[09:23] <jam> using "kill -SIGQUIT"
[09:24] <rogpeppe> jam: is mongod actually running?
[09:24] <jam> rogpeppe: I've tried it with it alive and dead
[09:24] <jam> that one could have been stopped
[09:24] <jam> one more with it "start/running"
[09:25] <jam> http://paste.ubuntu.com/1444893/
[09:25] <fwereade> rogpeppe, offhand, does a `func (*State)Info() *Info` method sound like a sensible thing to you?
[09:26] <rogpeppe> fwereade: i've been wondering about that, off and on
[09:26] <rogpeppe> fwereade: i *think* so. it could just return the info it was opened with
[09:27] <fwereade> rogpeppe, well, it would be very convenient for the deployer, which needs to tell its deployees how to connect
[09:28] <rogpeppe> fwereade: the problem is that it's not always appropriate to use
[09:28] <rogpeppe> fwereade: for instance, we might have opened the state with a localhost address, which might not be appropriate to use in a container
[09:29] <rogpeppe> jam: could you try it against go tip on amd64, just to see if it's a go issue?
[09:29] <fwereade> rogpeppe, well, we're always going to be deploying things which use a modified variant of the deployer's state info anyway, so having another field to swap out isn't the end of the world I think
[09:30] <jam> rogpeppe: is there a simple way to do so?
[09:30] <fwereade> davecheney, morning
[09:30] <jam> rogpeppe: dimitern says he sees the same thing
[09:30] <rogpeppe> jam: hg clone the go repo, cd src; all.bash
[09:31] <rogpeppe> jam: then set $GOROOT=your-go-repo, and rebuild
[09:31] <rogpeppe> jam: (i actually have a separate juju tree that i compile against 1.0.2 rather than tip)
[09:33] <rogpeppe> jam: if you just test cmd/juju on its own, do you see the same hangup?
[09:33] <fwereade> rogpeppe, but there is a minor wrinkle... so, if I expose an Info method and use that to create the deployer manager, I no longer need to pass in a separate (deploying) entity name, because that is already in the state info
[09:33] <fwereade> rogpeppe, and this mostly feels like a win, *so long as* we always want to run an agent against a state opened on that agent's behalf
[09:34] <jam> rogpeppe: yes
[09:34] <jam> this is doing "cd cmd/juju; go test -gocheck.v -gocheck.vv"
[09:35] <fwereade> rogpeppe, that seems reasonable to me, but it will complicate the tests a bit, because the test State is not connected with an EntityName matching the arbitrary unit/machine I want to use for testing
[09:35] <rogpeppe> fwereade: the entity name issue makes me feel like this might not be such a great idea
[09:36] <rogpeppe> fwereade: because the info isn't just about the state, it's also about who is connecting to the state
[09:36] <fwereade> rogpeppe, well, yes, this is the property of the Info that I want to use
[09:37] <fwereade> rogpeppe, what I'm trying to figure out is whether it's ok for me to do so or whether it's icky and wrong
[09:37] <rogpeppe> fwereade: it means we can't hand a state off to some code without giving them our password, which seems... i dunno, maybe it's not an issue, it just seems potentially so
[09:38] <fwereade> rogpeppe, ok, alternative: how would you feel about Addrs() and CACert() methods?
[09:39] <rogpeppe> fwereade: that feels less controversial
[09:39] <fwereade> rogpeppe, ok, thanks :)
[09:39] <rogpeppe> fwereade: although there's still the localhost vs non-localhost address issue
[09:39] <fwereade> rogpeppe, well, we always need CACert and we sometimes need Addrs
[09:40] <fwereade> rogpeppe, and always have to supply our own EntityName and Password
[09:41] <davecheney> fwereade: shouldn't you be somewhere else, drinking tall drinks with umbrellas in them ?
[09:42] <fwereade> davecheney, nah, I took a holiday on fri to synergise with the public holiday on thu, working again until EOD weds
[09:42] <fwereade> davecheney, that said, when did a breakfast cocktail ever fail to improve the day?
[09:42]  * fwereade falls over
[09:43]  * rogpeppe wouldn't mind a bloody mary
[09:44] <davecheney> mmmm, rum
[09:44] <davecheney> lads, i am very happy
[09:44] <davecheney> juju now works properly in ap-southeast-2
[09:44] <rogpeppe> davecheney: good work!
[09:45] <davecheney> also, if anyone see's frank
[09:45] <davecheney> please send my apologies
[09:45] <davecheney> i had to roll back his change because it broke the initial auth phase
[09:45] <davecheney> i don't know how
[09:45] <davecheney> and I wasn't going to get into it trying to cut a release
[09:48] <davecheney> speaking of that does cmd/jujud import environs/openstack
[09:48] <davecheney> i noticed that I didn't have to update the deps when doing the deb build
[09:53] <jam> davecheney: probably not yet
[09:56] <davecheney> jam: that is fine
[09:56] <davecheney> it was only something i noted doing the build
[10:04] <fwereade> davecheney, was it maybe just that the jujud tests were expecting the FW to act differently somehow (ie just hadn't been run)? or something weirder?
[10:04] <davecheney> nah, the auth code is quite touchy
[10:04] <davecheney> rogpeppe: would you say that is a fair statement ?
[10:21] <dimitern> jam: the standup is at 10:30 or at 11 utc?
[10:27] <rogpeppe> davecheney: any auth code is touchy :-)
[10:27] <rogpeppe> davecheney: i'm interested to know how it failed BTW
[10:28] <rogpeppe> davecheney: here's an interesting little problem i found when trying to build juju for 386 (to try to replicate jam's problem)
[10:28] <davecheney> rogpeppe: revert your working copy to r780 and see
[10:29] <rogpeppe> davecheney: if you do, GOARCH=386 GOBIN=/tmp/foo go install launchpad.net/juju-core/cmd/juju
[10:29] <rogpeppe> davecheney: the binary doesn't end up in $GOBIN
[10:29] <rogpeppe> davecheney: but in $GOBIN/linux_386
[10:30] <rogpeppe> davecheney: which means our install script in environs/tools.go fails to work
[10:30] <davecheney> rogpeppe: yup
[10:30] <davecheney> cross compile will do that
[10:30] <davecheney> GOHOSTARCH=386 ./all.bash
[10:30] <davecheney> might help
[10:30] <davecheney> is jam using 386 ?
[10:30] <davecheney> ewww
[10:30] <rogpeppe> davecheney: yes, as far as i could make out
[10:31] <rogpeppe> davecheney: see http://paste.ubuntu.com/1444893/
[10:31] <rogpeppe> davecheney: note, for instance: 	/build/buildd/golang-1.0.2/src/pkg/runtime/zsema_386.c:146 +0x29
[10:31] <jam> davecheney: yes to 386 I believe
[10:31] <rogpeppe> davecheney: i'll try the GOHOSTARCH thing
[10:31] <davecheney> those pointers are rather small :)
[10:32] <jam> dimitern: 11
[10:32] <dimitern> jam: ok, wasn't sure
[10:32] <Aram> hello.
[10:32]  * davecheney waves at Aram
[10:33] <jam> dimitern: I run juju and launchpad in a VM to avoid having Mongo exposed to the world
[10:33] <jam> and I tend to run 386 vms
[10:33] <dimitern> Aram: hiya
[10:33] <dimitern> jam: and it worked that way?
[10:34] <davecheney> jam: honeslty, juju probalby wont' work compiled on 386
[10:34] <davecheney> we've never considered that case
[10:35] <davecheney> it'll probably produce a stillborn toolset using juju bootstrap --upload-tools
[10:35] <rogpeppe> davecheney: i dunno, why should it be a problem?
[10:35] <davecheney> rogpeppe: i'm worried about a default-series kind of 'oh, we never tested that' situation
[10:36] <rogpeppe> davecheney, jam: cmd/juju tests pass for me, at any rate
[10:44] <jam> I'm pretty sure juju tests worked for me at one point. Though perhaps not on this VM. More oddly, why would it be hanging trying to talk to mgo based on CPU word size?
[10:44] <davecheney> jam: i doubt that is the problem
[10:45] <davecheney> but i am concerned there are assumptions baked into the tests that assume amd64
[10:45] <davecheney> i'm pretty sure environs/ec2 image tests assume amd64
[10:45] <rogpeppe> jam: just tried with latest juju trunk against i386 and all tests pass for me
[10:45] <rogpeppe> jam: haven't tried live tests yet
[10:45] <davecheney> rogpeppe: my concern is tests != juju bootstrap --upload-tools
[10:46] <rogpeppe> davecheney: exactly, i'm just gonna try live tests
[10:46] <Aram> unrelated, juju tests are sometimes flaky in a VM, especially with -gocheck.vv
[10:46] <Aram> there's some timing issues exposed only in VMs.
[10:47] <rogpeppe> davecheney: but jam's test failures were local ones, and that's what i was trying (and failing) to reproduce
[10:48] <jam> Aram: well, it fails with and without -gocheck.vv
[10:49] <jam> I just used that to see what was actually hanging, though SIGQUIT worked out better for that
[10:52] <rogpeppe> ah, here's a problem:
[10:52] <rogpeppe> http://juju-dist.s3.amazonaws.com/tools/mongo-2.2.0-precise-i386.tgz:
[10:52] <rogpeppe> 2012-12-17 10:50:22 ERROR 404: Not Found.
[10:53] <rogpeppe> other than that, it all seems to have worked ok
[11:02] <jam> rogpeppe: the 386 thing is probably a red herring. dimitern is hanging as well, but he's on a amd64
[11:02] <rogpeppe> jam: ah.
[11:03] <rogpeppe> jam: i just wanted to make sure that i could run tests ok in a similar env to yours
[11:03] <jam> sure.
[11:03] <rogpeppe> jam: (and it's an interesting experiment too...)
[11:03] <jam> btw, do you know the difference between "apt-get install mongodb" and "apt-get install mongodb-server" ?
[11:03] <jam> (I used to have nothing installed, installed mongodb-server, and it stopped the 'could not find binary' failures. I'll try installing the former and see if that changes anything)
[11:05] <jam> same failure (in Semacquire during (*mongoCluster).AcquireSocket
[11:05] <jam> dimitern is also running on bare metal, vs a VM
[11:09] <jam> rogpeppe: rev 780 seems to fail in the same place
[11:10] <rogpeppe> jam: hmm.
[11:25] <rogpeppe> jam: what version of mgo are you using?
[11:25] <rogpeppe> jam: (i.e. what revision number are you on?)
[11:29] <fwereade> rogpeppe, jam: lots of nice deletions in https://codereview.appspot.com/6938072
[11:32] <fwereade> dimitern, and you, if you feel like reviewing ^^
[11:32] <jam> mongodb-2.0.6-1ubuntu4, mgo: v2/mgo/ revno 183
[11:32] <dimitern> fwereade: 10x, I'll look at it
[11:32] <fwereade> Aram, or you, sorry, I didn't see you come on -- morning :)
[11:33] <Aram> yo
[11:34] <rogpeppe> fwereade: looking
[11:34] <jam> rogpeppe: ^^
[11:34] <jam> (rev 183 of mgo)
[11:34] <rogpeppe> jam: darn, same as me
[11:41] <mramm> jam: thanks for the update on dependencies, reading through it now.
[12:21] <dimitern> fwereade: FWIW you have LGTM from me
[12:22] <fwereade> dimitern, cool, thanks
[13:51] <fwereade> rogpeppe, dimitern: a followup: https://codereview.appspot.com/6944058
[13:54] <rogpeppe> fwereade: why conflate provisioner and firewaller? is it never reasonable to have one without the other?
[13:56] <rogpeppe> fwereade: also, perhaps HostPrincipalUnits would be better as HostUnits - you can't have subordinates without principals.
[13:56]  * dimitern looking
[13:56] <rogpeppe> fwereade: (and principals imply subordinates too)
[14:03] <fwereade> rogpeppe, at the moment, we always want to run the FW and the P together, and the jobs are explicitly not meant to be 1:1 with workers
[14:03] <fwereade> rogpeppe, things may migrate in future
[14:04] <fwereade> rogpeppe, re HPA, the MA's job is to host the principal units -- those units' agents may then host subordinates, but the MA doesn't know or care about that
[14:07] <rogpeppe> fwereade: from the point of view of AddMachine, i think HostUnits makes sense - we're asking that machine to host any units, and we don't care if it's the machine agent interpreting those flags, or something else.
[14:11] <fwereade> rogpeppe, I'm fine with that too :)
[14:11] <fwereade> rogpeppe, HostUnits then has an uncomfortable similarity to WatchUnits though
[14:12] <fwereade> rogpeppe, HostPrincipalUnits/WatchPrincipalUnits is clearer
[14:12] <rogpeppe> fwereade: well, if you think about it, WatchPrincipalUnits is only used for the top level, but that's just an implementation detail - we want the machine to host any kind of unit in the end
[14:13] <dimitern> fwereade: done
[14:14] <rogpeppe> fwereade: another thing i'm not entirely sure about: there was a nice correlation between worker constant names and the Workers function, but Host* doesn't relate strongly to "job"
[14:14] <fwereade> rogpeppe, both the jobs are currently about hosting other things
[14:15] <fwereade> rogpeppe, JobHostBlah felt over-wordy
[14:15] <rogpeppe> fwereade: so if we had more constants, they might not all have a common element in the names?
[14:16] <fwereade> rogpeppe, that might be the case -- I presume you are advocating for Job*
[14:16] <rogpeppe> fwereade: i'm not sure. i'm possibly advocating changing AgentJobs to HostJobs or something along that kind of line
[14:16] <fwereade> rogpeppe, am definitely fine with that
[14:16] <fwereade> rogpeppe, ah not so much with that, sorry
[14:16] <fwereade> rogpeppe, well, letme think ;)
[14:18] <fwereade> rogpeppe, I think I would maybe like HostPrincipalUnits/RunEnvironController, probably with a Job prefix
[14:19] <rogpeppe> fwereade: those names seem, erm, a bit verbose
[14:20] <rogpeppe> fwereade: i'm thinking that from a top-down pov, we're declaring what kinds of things a given machine will run
[14:21] <rogpeppe> fwereade: so maybe RunUnits, RunEnvironController?
[14:21] <rogpeppe> fwereade: i definitely think we should lose the "Principal" - we want a machine to run all units, not just principals
[14:24] <fwereade> rogpeppe, I still feel the other way re Principal, but not enough to fight it :) -- Run SGTM
[14:25] <rogpeppe> fwereade: actually Task might work
[14:25] <rogpeppe> fwereade: UnitsTask, EnvironControllerTask
[14:25] <fwereade> rogpeppe, uncomfortable collision with jujud.task
[14:26] <rogpeppe> fwereade: that should probably be named worker
[14:26] <rogpeppe> fwereade: because it corresponds to the interface implemented by workers
[14:26] <fwereade> rogpeppe, well, niemeyer is adamant that there is a distinction between a task and a worker, and an upgrader is not a worker
[14:27] <rogpeppe> fwereade: hrmph
[14:27] <fwereade> rogpeppe, or that is my understanding, which is probably flawed
[14:27] <fwereade> rogpeppe, I don't think there's a meaningful distinction
[14:27] <rogpeppe> fwereade: i *think* that was due to the old state Worker constants
[14:27] <fwereade> rogpeppe, ha, ok
[14:27] <rogpeppe> fwereade: which were the high level description of what to do
[14:28] <rogpeppe> fwereade: and i'm proposing to rename those to tasks, to make the distinction clear.
[14:29] <rogpeppe> fwereade: that starts to make quite a lot of sense to me, actually.
[14:29] <rogpeppe> fwereade: the machine agent uses some number of workers in order to fulfil its allocated tasks.
[14:30] <fwereade> rogpeppe, task feels a bit too singular for the intent here, I think -- in my mind I'm not thinking of workers at all, I'm thinking of tasks (ie runTasks(...task)), and I'm thinking of a Job as something that is made up of some number of tasks
[14:30] <rogpeppe> fwereade: for me, "task" is a description of something to do, and "worker" is a something that accomplishes that
[14:31] <rogpeppe> fwereade: "job" works ok as well as "task", but seems more like something with a defined beginning and end.
[14:31] <rogpeppe> fwereade: whereas the tasks we're talking about are indefinite in extent
[14:32] <fwereade> rogpeppe, IMO "job" is a pretty good name for a group of ongoing tasks
[14:33] <rogpeppe> fwereade: "job" feels like something that can be finished. then again, maybe "task" does too...
[14:33] <rogpeppe> fwereade: "we task this machine with the job of running the environment controller" :-)
[14:33] <fwereade> rogpeppe, haha
[14:34] <fwereade> rogpeppe, (IMO task feels >= job re finishitude)
[14:35] <rogpeppe> fwereade: ok. UnitsJob, EnvironControllerJob ?
[14:35] <fwereade> rogpeppe, I still want the common prefix for some reason
[14:36] <fwereade> rogpeppe, what's the argument the other way?
[14:36] <rogpeppe> fwereade: we had Worker as a suffix before; it seems to read more nicely to me, at any rate
[14:36] <fwereade> rogpeppe, heh, it always seemed icky to me
[14:37] <rogpeppe> fwereade: JobUnits seems... non-obvious. JobRunUnits perhaps
[14:37] <rogpeppe> afk, one mo
[14:38] <fwereade> rogpeppe, hmm: JobHostUnits/JobManageEnviron?
[14:39] <rogpeppe> fwereade: sgtm
[14:39] <fwereade> rogpeppe, cool
[14:44] <rogpeppe> fwereade: and i think the task interface *should* probably be renamed to worker, but maybe in another cl
[14:45] <fwereade> rogpeppe, I'd prefer the opposite change, I will let it stew in my mind for a bit
[14:45] <rogpeppe> fwereade: renaming worker to task is a much bigger change
[14:45] <rogpeppe> fwereade: we'd have to rename the whole worker package hierarchy
[14:46] <rogpeppe> fwereade: (and i quite like the "worker" name currently - it seems to represent what's going on quite well)
[14:46] <fwereade> rogpeppe, (I have worse thoughts -- "task/uniter", uniter.NewTask(), etc, which would then let me get a Deployer naming I'm happy with)
[14:47] <fwereade> rogpeppe, but, anyway :)
[14:48] <rogpeppe> fwereade: i'm not quite sure what you're thinking of there
[14:48] <fwereade> rogpeppe, it's really not important -- as I say I will ponder worker/task some more, and perhaps attain enlightenment
[16:35] <dimitern> rogpeppe, fwereade: PTAL https://codereview.appspot.com/6940073
[16:35]  * fwereade looks
[16:43] <dimitern> brb
[16:53] <dimitern> back
[17:26] <rogpeppe> fwereade: you've got a review
[17:27] <fwereade> rogpeppe, awesome, ty
[17:29] <fwereade> rogpeppe, I dunno -- at the moment it seems that an agent with no jobs is just not a useful thing to have
[17:29] <dimitern> rogpeppe: would you ? ^^
[17:29] <rogpeppe> fwereade: it is for tests :-)
[17:29] <rogpeppe> dimitern: will do
[17:30] <fwereade> rogpeppe, ha, well, yeah -- it always was, though, and that didn't stop us then ;p
[17:30] <rogpeppe> fwereade: although a test for no jobs in AddMachine seems reasonable too
[17:30] <fwereade> rogpeppe, there is one, isn't there?
[17:31] <rogpeppe> fwereade: quite likely, i didn't check
[17:31] <fwereade> rogpeppe, I think I wrote one :0
[17:32] <fwereade> rogpeppe, +1 on MachineJob, I think
[17:32] <rogpeppe> fwereade: cool
[17:32] <fwereade> rogpeppe, then I guess Jobs() rather than AgentJobs()
[17:32] <rogpeppe> fwereade: didn't i suggest that?
[17:32] <fwereade> rogpeppe, ha, hadn;t read far enough
[17:34] <fwereade> rogpeppe, not sure about the bitmask though -- feels like going to extra effort to restrict the number of jobs we have and make it fiddlier to add or remove them (when we eventually want to do that)
[17:34] <rogpeppe> fwereade: i don't think it makes it any fiddlier to add or remove jobs
[17:34] <rogpeppe> fwereade: and i think most logic gets simpler
[17:34] <fwereade> rogpeppe, more complicated txn retries anyway, surely
[17:35] <rogpeppe> fwereade: (no need to check for dupes for example)
[17:35] <rogpeppe> fwereade: why is the txn retry more complicated?
[17:35] <rogpeppe> fwereade: we're just setting an integer, no?
[17:35] <fwereade> rogpeppe, $addToSet?
[17:36] <fwereade> rogpeppe, we can $addToSet and $pull jobs out of an []int without having to mess around retrying because we're trying to store bitmask X which was dervived from Y which has become Z in the meantime
[17:36] <rogpeppe> fwereade: we don't want to use that for jobs, do we?
[17:37] <fwereade> rogpeppe, won't we?
[17:37] <fwereade> rogpeppe, so the bootstrap machine will be the single bootstrap machine forever?
[17:37] <fwereade> rogpeppe, (forgive the terminology)
[17:40] <rogpeppe> fwereade: there's nothing to say we can't change the jobs for a machine; it just means we can't have an AddJob/RemoveJob API rather than a SetJobs API.
[17:40] <rogpeppe> fwereade: ... which is quite possibly a sufficient reason
[17:41] <fwereade> rogpeppe, I *think* it is... or at least it looks close enough from here
[17:41] <rogpeppe> fwereade: but even if we store stuff in the database as []int, we could still have a bitmask as the externally visible API
[17:42] <fwereade> rogpeppe, is there some advantage of a bitmask I'm not seeing? it seems strictly worse to me -- by the time we have enough flags we care about the extra space of an [], we have enough flags that we're worried about space in a bitmask
[17:42] <rogpeppe> fwereade: it's not about space
[17:42] <fwereade> rogpeppe, not looping through it?
[17:42] <rogpeppe> fwereade: it's about the ease of checking for membership and the automatic duplicate deletion
[17:44] <fwereade> rogpeppe, how common are these operations, and how much code do we waste each time we do them?
[17:44] <rogpeppe> fwereade: not that common - most code never manipulates a set of jobs. maybe 8 or so lines in the places we do.
[17:45] <rogpeppe> fwereade: to me, a bitmask represents like a natural representation of a set
[17:45] <rogpeppe> s/represents/seems/
[17:46] <fwereade> rogpeppe, to me, it's something I use when there's a compelling reason to pack stuff into a small space and never besides :)
[17:46] <rogpeppe> fwereade: ha
[17:46] <rogpeppe> fwereade: C vs Python background i guess :-)
[17:46] <Aram> bitmaks are awesome.
[17:47] <fwereade> rogpeppe, it's not like I *didn't* spend time up to my elbows in bits, it's just that that time was not generally otherwise representative of sensible development practices ;)
[17:48] <rogpeppe> fwereade: using bitmasks as sets actually works pretty well, and isn't unsafe
[17:50] <fwereade> rogpeppe, still feels like an [] is the more natural mongo representation, and I'm still not sure the other benefits really outweigh that
[17:51] <rogpeppe> fwereade: i think i agree with that. seems like a pity that mongodb doesn't have bitwise ops, but there we go
[17:53] <fwereade> rogpeppe, cool, cheers
[17:57] <fwereade> dimitern, I'm afraid cath has just gone out without laura, so I won't finish your review any time soon: probably tomorrow :(
[17:58] <dimitern> fwereade: sure, no probs
[17:58] <fwereade> rogpeppe, dimitern, Aram: but I do have another CL for a horrifying moronic uniter bug: https://codereview.appspot.com/6946071
[17:58] <fwereade> I would very much appreciate reviews of that
[18:00] <rogpeppe> fwereade: a surprisingly large change for such a small bug :-)
[18:13] <rogpeppe> dimitern: sorry, run out of time on your review. FWIW, i got stuck on getId. i couldn't work out whether it's the right function with a dubious doc comment, or if it should be refactored somehow
[18:17]  * rogpeppe is off for the evening. g'night all.
[23:35] <davecheney> fwereade: ping


[13:44] <smoser> cn28h, it stops at the first.
[13:45] <cn28h> aha ok, hm
[13:45] <Odd_Bloke> cn28h: You can configure which data sources it will look at, though.
[13:45] <smoser> gamename (who is gone), cloud-init doesn't currently "pick" eth0. it starts running when the OS's networking is up.
[13:45] <smoser> right, Odd_Bloke you coudl tell cloud-init to not use the openstack, but another entirely.
[13:46] <smoser> or you could (i think) tell cloud-init to use the openstack one, but with a different url (ie, not <IP_ADDRESS>, and use a URL you have control of)
[13:46] <smoser> those things have to be configured prior to cloud-init running.
[13:46] <Odd_Bloke> (I guess you'd also need to skip EC2, as OpenStack provides an EC2-compatible metadata service)
[13:46] <smoser> ie, you can't tell cloud-init where to find data in the data that you're providing it.
[13:46] <smoser> it unfortunately can't read your mind.
[13:47] <smoser> openstack is before EC2 in the order, so that cloud-init will prefer the openstack MD to ec2.
[13:47] <smoser> but, yeah, Odd_Bloke you're right. youd' have to tell it not to look ther also.
[13:48] <smoser> nk121, you should 'apt-get install pastebinit'
[13:48] <smoser> and use pastebinit  :)
[13:48] <smoser> then i dont have to go to pastebin.com urls and look at all those adds.
[13:48] <smoser> er... ads.
[13:48] <cn28h> smoser: you mean, there may be a way to configure the openstack datasource to look elsewhere? (that would be great -- I'd been thinking I'd have to actually go subclass the implementation and replace the user data logic)
[13:49] <smoser> yeah, that may be configurable
[13:49] <smoser> the openstack one is.
[13:49] <smoser> er.. the ec2 one is.
[13:49] <cn28h> ah, very interesting
[13:49] <smoser> or you could use "nocloud"
[13:49] <smoser> which is pretty simple also.
[13:49] <smoser> you just need a base-url with a 'user-data' and 'meta-data'
[13:50] <smoser> harlowja_away, what "archive" format would you want for multipart
[13:50] <cn28h> yeah that's an interesting idea -- we *are* using other features like key injection via openstack, but I suppose I can use a shellscript to grab that from the metadata service and stage it.. less elegant but workable
[13:51] <smoser> :)
[13:51] <smoser> yeah.
[13:52] <smoser> cn28h, look at doc/examples/cloud-config-datasources.txt
[13:52] <smoser> thats how you confgiure a datasource... the key 'metadata_urls' that you see in Ec2 is also valid for openstack
[13:52] <smoser> per my reading of the code
[13:53] <smoser> it looks like it reads:
[13:53] <smoser>  metadata_urls
[13:53] <smoser>  max_wait
[13:53] <smoser>  timeout
[13:55] <smoser> nk121, i think you're using vivid ?
[13:56] <nk121> smoser: no trusty
[13:57] <cn28h> nice, yeah that will be great.  Now I just need to think of how to correlate it so I can return the right user data for that instance, hm
[13:57] <smoser> right.
[13:57] <smoser> that does suck.
[13:57] <smoser> you oculd look at source ip
[13:57] <smoser> as you should be albe to get the instances ip address
[13:57] <smoser> from openstack
[13:58] <smoser> that is essentially how the opestnack metadata service works
[13:58] <cn28h> ah, yeah that makes sense
[13:58] <cn28h> map it backwards by talking to neutron and figuring out which instance has that IP or some such
[14:04] <smoser> right.
[14:05] <smoser> cn28h, if you do this , it might be somewhat useful generically.
[14:05] <smoser> ie, a opensta-ck-metadata-aware proxy
[14:05] <cn28h> hm
[14:05] <smoser> s/sta-ck/ck/
[14:06] <smoser> fairly simple given openstack admin credentials.
[14:06] <smoser> you just take input of a IP address and render the result.
[14:06] <smoser> you may even be able to re-use the openstack one.. but that might be difficult
[14:06] <cn28h> yeah, I will have to do some digging
[14:07] <cn28h> and discussion with the rest of my team -- they may well just tell me it's too crazy for their tastes and thatI need to find a different way ;p
[14:07] <cn28h> but it sounds like an interesting possibility
[14:08] <cn28h> really it would be nice if the other service currently camping on the user-data field was cloud-init compatible
[14:08] <cn28h> because it's just a handful of key-value pairs that could easily be written to a file and read from there instead ...
[14:09] <cn28h> but that belongs to a codebase we don't own
[14:09] <smoser> cn28h, so... if you're talking to that other service...
[14:09] <smoser> tell them they should support mime-multipart and pick out the pieces they're interetsed in
[14:09] <smoser> or use cloud-config-archive format (which i woudl admit is less "standardy")
[14:10] <smoser> this is waht cloud-init does... it pays attention only to things that are destined for it and ignores other things.t
[14:10] <cn28h> yeah, that makes much more sense so that you can share the user data
[14:10] <smoser> right.
[14:10] <cn28h> maybe I will open a JIRA with a feature request
[14:12] <smoser> nk121, i'm not sure what i'm seeing there really...
[14:12] <smoser> nk121, /var/log/cloud-init-output.log might hvae more info
[15:54] <gamename> Hi.  How does cloud-init know which device (e.g. eth0)  as the preferred network interface?
[16:20] <Odd_Bloke> 14:45:33 < smoser> gamename (who is gone), cloud-init doesn't currently "pick" eth0. it starts running when the OS's networking is up.
[16:29] <gamename> Odd_Bloke: Eh? Gone?  Is the status showing me offline?  Re: the question. Ah, ok.  cloud-init is agnostic about the network. It just uses whatever interface comes up. All correct?
[16:33] <Odd_Bloke> gamename: You were gone when smoser said that, ~3 hours ago. :)
[16:33] <Odd_Bloke> gamename: I believe your conclusion is correct, yes.
[16:33] <gamename> Odd_Bloke: Got it.  I didn't get the response. Sorry for the confusion. I'll check my client (or change the damn thing).
[17:05] <cn28h> smoser: so I had an interesting thought and figured I'd share.  If I create a really minimal web app that proxies *locally* I can leave all the heavy lifting in terms of correlation up to openstack because I can just forward requests off to the real thing locally. Then, I can intercept user-data and send that off somewhere else, along with fields I can pull from the metadata service myself to help correlate on the remote end. Should work as
[17:05] <cn28h> long as I can guarantee it's up and running before cloud-init runs.
[17:32] <harlowja> smoser just some simple directory structure would seem like it could replace the whole MIME stuff
[17:32] <harlowja> file + directory struture
[17:32] <harlowja> ^ is also then easily examinable...
[22:54] <harlowja> smoser https://code.launchpad.net/~harlowja/cloud-init/write-files-fetch-from-somewhere should be fixed up


[18:11] <cimbakahn> I am looking at this page, and i am confused ----> https://help.ubuntu.com/community/Lubuntu/Documentation/MinimalInstall
[18:11] <cimbakahn> I am looking for something in between the bare minimum install and the full install.  And i want a graphical installer.  Can anyone help?
[18:12] <cimbakahn> Which download do i click on?  I want the newest one, but NOT the daily build.
[18:14] <joern_s> if you want a graphical installer, there is only the normal desktop iso / full install
[18:15] <joern_s> http://cdimage.ubuntu.com/lubuntu/releases/15.10/release/
[18:16] <cimbakahn> lubuntu Standard vs lubuntu-desktop vs lubuntu-core  So you are saying out of these 3  only the standard has a graphical installer?
[18:17] <joern_s> lubuntu-desktop is the standard
[18:17] <joern_s> but yes, only lubuntu-desktop has a graphical installer
[18:17] <cimbakahn> I wonder if you can get Wily without getting daily......
[18:17] <joern_s> sure, use the link I gave you
[18:18] <cimbakahn> Daily means you'll get updates every single day so i don't want that one.
[18:18] <joern_s> the daily isos are for Xenial (16.04)
[18:19] <cimbakahn> Which one do i click on?  My computer is 64bit.  I want to burn an ISO to a disk.
[18:20] <joern_s> http://cdimage.ubuntu.com/lubuntu/releases/15.10/release/lubuntu-15.10-desktop-amd64.iso
[18:21] <cimbakahn> You are sure a lot nicer and helpful than the people in hashtag ubuntu.
[18:21] <Unit193> Dude, you asked that last night in both #ubuntu and #lubuntu, getting answers in both..
[18:24] <joern_s> thanks, cimbakahn
[18:25] <cimbakahn> They weren't reading my questions simply for what was written.  And when they did answer me i felt like i was being interrogated.
[18:25] <cimbakahn> Like.  How dare me for wanting what i want.
[18:27] <Unit193> No, they were asking you questions so they could answer properly.
[18:27] <cimbakahn> And they didn't explain it as well as joern_s so i could understand.
[18:28] <cimbakahn> I gave them all the information just like i did with joern_s just now.
[18:32] <cimbakahn> I originally thought that you could get a LXDE Lubuntu that was in the middle (with less programs installed by default).  Something that was not a BARE minimal, and something that was not a full install with a graphical installer.
[18:32] <cimbakahn> It seems like this is not possible.
[18:34] <cimbakahn> Thank you very much joern_s !
[18:35] <phillw> cimbakahn: the non-standard installs do require some skills... that is why they are away from the standard page!
[18:37] <cimbakahn> some skills.  That probably means there is no graphical installer to make things easier.  You would probably have to be smart enough to do it in another way.
[18:37] <phillw> joern_s: after food, I will be checking if julien's fix for lxqt metapackage has worked
[18:38] <cimbakahn> Thank you phillw !
[18:38] <phillw> cimbakahn: the server installer script is graphic, just no fancy pictures - It asks the same questions and you answer them :)
[18:39] <cimbakahn> So i could burn this to a disk and install it ----> http://packages.ubuntu.com/wily/lubuntu-desktop
[18:40] <phillw> I'm a fan of alternate installer, it is my very light cross to bear so that lubuntu has a CD sized image for the computers who do not have DVD reader and cannot boot from USB stick.
[18:41] <phillw> cimbakahn: no, that is simply the list of what is on the lubuntu-desktop image.
[18:41] <cimbakahn> I understand now.
[18:42] <phillw> cimbakahn: if you look at https://help.ubuntu.com/community/Lubuntu/Documentation/MinimalInstall#Full_install.2C_minimal_install_or_core_install.3F you will see the list of what is -desktop (which is what we ship as ISO images) and what you *can* select (core) if you use the minimal install route.
[18:43] <cimbakahn> My computer can't boot from USB.  That is why i have to burn OS installs to a disk.
[18:45] <cimbakahn> I am just tired of these operating systems that give me all these programs that i don't want.  I have to uninstall alot of programs, and replace them with the ones i want.
[18:45] <phillw> cimbakahn: if it can read a dvd, then you can use the standard desktop image. If it can only read a CD then you will have to use the alternate image. It is not a scary install, just to keep it CD sized all the funky stuff for installing is not there.
[18:47] <cimbakahn> I use DVD-R disks.
[18:48] <phillw> cimbakahn: if you want to start from scratch, and add things on yourself I'd suggest the minimal route with lubuntu core. that will give you a working system that you can log onto and then add whatever applications you want on top of it. If you choose the minimal install (netboot) route, the installer will offer you a full list of what you want to add to it.. lubuntu minimal is on that list.
[18:49] <phillw> But, that installer will not work on WiFi as the WiFi system is added on later if you want.
[18:52] <cimbakahn> I need something that detects my WIFI right away, so that would probably not be for me.  Unfortunately.
[18:53] <phillw> yes, do not get caught out.
[18:55] <phillw> you would need ehthernet link to begin and then issue
[18:56] <phillw> apt-get install wireless-tools
[18:56] <phillw> for it to install the WiFi stuff.
[18:58] <cimbakahn> If you choose the minimal install (netboot) route, the installer will offer you a full list of what you want to add to it.. lubuntu minimal is on that list.  Would i be able to understand the things on that list?  I have been using linux for a year now.  ethernet link?  I have a wired connection, is this what you mean/
[18:59] <cimbakahn> Is wireless-tools all i would need to install for WIFI?
[19:19] <phillw> cimbakahn: from what I have read, yes. It is a meta-package which will pull in all that is needed
[19:21] <cimbakahn> I think i'll just use this instead to be on the safe side ----> http://cdimage.ubuntu.com/lubuntu/releases/15.10/release/lubuntu-15.10-desktop-amd64.iso
[19:22] <cimbakahn> I am looking at Lubuntu 15.10 videos now.
[19:24] <cimbakahn> You know my collegues and i use Mumble to communicate vocally.  Why doesn't more people use Mumble?  It would be faster and easier to understand people.
[19:27] <phillw> Mumble!!! https://en.wikipedia.org/wiki/Happy_Feet
[20:07] <cimbakahn> Yes.  Happy Feet was a cute movie.
[20:10] <cimbakahn> Yes.  Mumble is cross platform.  It allows you to speak vocally to other people.  I love it.  I have my own channel.  It is usually in synapticPM.
[21:19] <phillw> wb redwolf
[21:19] <redwolf> o/
[21:20] <redwolf> sorry, my network is being odd


[00:02] <poolie> hi spiv, all
[01:13]  * thumper looks for bzr guru
[01:13] <thumper> who is awake
[01:13] <jelmer> ok, I admit it.
[01:13] <jelmer> I'm still awake
[01:13] <thumper> hi jelmer :)
[01:13] <jelmer> what's up thumper ? :-)
[01:14] <thumper> I have an interesting process problem
[01:14] <thumper> lets say I'm doing a bug fix
[01:14] <thumper> based off trunk
[01:14] <thumper> and after some investigation I have a small patch
[01:14] <thumper> now, that patch is identified as being simple enough for an SRU
[01:14] <thumper> so I'd like to make my branch now based of the SRU branch
[01:14] <thumper> but I want my changes kept
[01:14] <thumper> any ideas?
[01:15] <jelmer> thumper: so you'd like to cherry pick your fix into an older release series?
[01:15] <thumper> or just rebase the branch
[01:15] <jelmer> or do you want to create a patch to go into the debian/patches directory of your SRU package?
[01:16] <thumper> I suppose you could shelve, then pull override?
[01:16] <thumper> we have a series branch for the SRU work
[01:16] <jelmer> thumper: Are you doing any commits in the mean time?
[01:16] <thumper> maybe...
[01:16] <thumper> I'm trying to nut out a simple process
[01:16] <jelmer> thumper: if not, I would just do "bzr merge -d sru --uncommitted trunk"
[01:16] <thumper> for working on SRUable bug fixes
[01:17] <thumper> jelmer: so making a new branch?
[01:17] <jelmer> thumper: otherwise just "bzr merge -r-3..-1 trunk" if you want to cherrypick the last three commits - though that doesn't preserve the commit history
[01:17] <jelmer> thumper: I would definitely make a new branch for the SRU work
[01:17] <thumper> I'm not interested in the commit history for this case
[01:18] <thumper> ok, too hard to rebase the existing?
[01:18] <jelmer> thumper: rebasing works too, but the problem with rebasing is that you're applying all commits individually
[01:18] <thumper> how does merge --uncommitted work when the other branch is based off a much older revision?
[01:18] <jelmer> so if each one fails to apply, you have to resolve conflicts in each one.
[01:18] <thumper> but it gives you the conflict markers et al?
[01:19] <jelmer> thumper: yeah, --uncommitted should work in that case
[01:19] <thumper> ok, cool
[01:19] <thumper> thanks
[01:19] <jelmer> thumper: you do get the conflicts, but you have to resolve them and run "bzr rebase-continue" for each commit that conflicts
[01:19] <jelmer> thumper: if you have 2 commits that's probably not an issue
[01:19] <jelmer> thumper: if you're backporting 40 commits it becomes more annoying :)
[01:20] <thumper> jelmer: I'd probably rather avoid rebase...
[01:20] <jelmer> (presuming most of them conflict, of course)
[01:20] <jelmer> thumper: in that case using "bzr merge -rFROM..TO ../trunk" to cherrypick existing revisions, or "bzr merge --uncommitted" indeed seem like the best choices
[01:21] <thumper> jelmer: thanks for that
[01:24] <thumper> jelmer: -3..-1 only takes two commits right?
[01:24] <thumper> the last and second last?
[01:28] <jelmer> thumper: yes
[01:28] <jelmer> thumper: "bzr help merge" also has a pretty good description
[01:28] <thumper> kk, ta
[07:59] <kinkie> Hi all
[08:06] <vila> kinkie: hi
[08:06] <vila> hi all !
[08:24] <fullermd> Oh, vila's up.  Must be bedtime.
[08:26] <vila> fullermd: huh ? Are you ill ?
[08:26] <vila> :-p
[08:28] <fullermd> Mentally or physically?  :p
[08:29] <vila> Well, we're talking about some recent change so I guess it means the later :)
[08:49] <vila> jelmer: ping, workflow question, I've landed the fix for bug #904704, should I: 1) mark the bug fix committed, 2) target 2.8, or both or something else ?
[08:59] <ChrisCauser> Hi everyone. I've just got a regression in a script I have written when using bzr 2.5 and was wondering if anyone can help me out?
[09:00] <vila> ChrisCauser: show us your script and we'll see what happens ;)
[09:00] <ChrisCauser> vila: Thanks http://paste.ubuntu.com/771983/
[09:01] <vila> ChrisCauser: but basically, yes, this a good place to ask
[09:01] <ChrisCauser> I'm afraid I'm going to be horrifically vague because bzr 2.5 is on my home computer and I'm at work
[09:01] <ChrisCauser> Basically, this is a bash prompt for bzr
[09:01] <ChrisCauser> in 2.3 and 2.4, it works as you'd think
[09:02] <ChrisCauser> in 2.5, I get [:] output, because I get a  NotABranchError being caught in line 51
[09:03] <ChrisCauser> I get the same error if I use open_containing in line 39
[09:03] <vila> k, was about to suggest that,
[09:04] <ChrisCauser> The only oddness I can remember is that if I say open '/home/causer/working_copy', the error says that it cannot find a branch in '/home/causer/working_copy/'
[09:05] <vila> which you disagree with because bzr can find a branch there otherwise right ?
[09:05] <ChrisCauser> Also, if the cwd is '/home/causer/working_copy/sub_directory', the error says the url is '/home/causer/working_copy/' again (i.e. it sort of knows that it is a branch)
[09:05] <ChrisCauser> yes, exactly
[09:05] <vila> right, it finds a .bzr/branch dir
[09:06] <vila> what kind of branch is that ? What does 'bzr info -v' says ?
[09:06] <ChrisCauser> Hang on a second. I'll just install 2.5 on my work computer
[09:07] <vila> line 40 is useless isn't it ?
[09:07] <vila> hmm, using branch.nick *after* unlock is... blurry
[09:09] <ChrisCauser> This script is full of historical artefacts. You are correct about line 40
[09:10] <mthaddon> vila: howdy, have a python-testtools question for you
[09:10] <mthaddon> vila: we have 0.9.6-0~bazaar1.0.IS.8.04 of python-testtools installed, but there's a 0.9.8-1~bazaar1-0.IS.10.04 lurking in lucid-cat-proposed - do you know if it's safe to promote that package so it gets installed on the servers?
[09:10] <vila> mthaddon: hello !
[09:10] <ChrisCauser> vila: http://paste.ubuntu.com/771990/
[09:11] <vila> mthaddon: according to jml who is testtools ubermaster, quoting "using 0.9.6 is close to criminal",
[09:11] <ChrisCauser> vila: This is the error I get http://paste.ubuntu.com/771991/
[09:11] <mthaddon> vila: ok, cool - the reason I'm asking is because he has asked for 0.9.8 and I'm wondering if we can use it across the board - so that sounds like a yes - thx
[09:12] <vila> mthaddon: so using 0.9.8 should be ok, but I defer to jml and mgz who knows the compatibility better than me
[09:12] <vila> mthaddon: as far as bzr itself is concerned, yes
[09:12] <mthaddon> thx
[09:12] <jml> vila: the NEWS file has got all known compat issues. I'm pretty sure we're OK though
[09:12]  * jml means to submit the latest release to Debian & backport 0.9.12 to lucid if possible
[09:12] <vila> jml: thanks, my confidence was ~90%, going up to 99% if you say so
[09:14] <vila> ChrisCauser: looking,
[09:15] <vila> first things that comes to mind so far but not guaranteed to fix your issue: you want a try:finally to unlock when you're really done instead of ad-hoc, you want to make sure you properly initialize bzrlib
[09:15] <vila> ChrisCauser: your script works for me
[09:15] <jml> vila: double check the Changes section of 0.9.8 to be extra sure
[09:15] <ChrisCauser> vila: What version of bzr are you using? I'm using the daily ppa
[09:16] <vila> ChrisCauser: I've been running from source since... can't remember
[09:16] <vila> revno 6376 right now
[09:16] <vila> jml: loooking
[09:17] <vila> mthaddon: Hold on !
[09:17] <mthaddon> holding
[09:17] <vila> mthaddon: there is a pending bug regarding upgrading pqm
[09:18] <mthaddon> vila: you're saying we can't upgrade to 0.9.8 just yet on bzr's pqm instance?
[09:18] <vila> mgzctl alarm ring
[09:18] <vila> mthaddon: searching the bug, from memory, compat issue for older bzr series
[09:19] <ChrisCauser> vila: Hmm. I'm on 6349. Python is 2.6. Well, I'll take a look myself and if I find anything, I'll let you know. Thanks for the help anyway
[09:19] <vila> bug #839461
[09:20] <mthaddon> vila: but we're already on 0.9.6 on pqm, so it seems like we'd already be in trouble there
[09:20] <vila> mthaddon: ok, so, basically, mgz will knows better than me or at least it will be easier for me to discuss with him
[09:20] <vila> ouch
[09:21] <vila> mthaddon: bumper to critical, I'll get in touch with you once mgz is up and running ;)(
[09:21] <mthaddon> k, thx
[09:22] <vila> ChrisCauser: gimme as sec
[09:25] <ChrisCauser> vila: Thanks
[09:26] <vila> ChrisCauser: what's your mininum python version requirement ?
[09:26] <vila> mum, sry :)
[09:27] <ChrisCauser> vila: For the script?  I'm looking at the source, and it seems like no _probers are being registered in the ControlDirFormat class. I'm trying to find out what a prober is now :S
[09:33] <vila> a prober decides which format should be used based on whatever it feels appropriate: which files are there, what do they content, what kind of server, etc
[09:34] <vila> not having probers means nothing can be used
[09:34] <ChrisCauser> Ah, Ok. Well, apparently I have no probers, and ControlDirFormat.register_format is not being fired
[09:35] <vila> hmm,add a 'print bzrlib.__file__' after import bzrlib to double-check which version you're using
[09:36] <ChrisCauser> vila: Looks good: /usr/lib/pymodules/python2.6/bzrlib/__init__.pyc
[09:36] <vila> and 'bzr version' tells you the same story or a different path ?
[09:39] <vila> ChrisCauser: Also, try with BZR_PLUGIN_PATH=-site
[09:39] <ChrisCauser> vila: Yes, it's the same. I have now got it working. I have to "import bzrlib.bzrdir" explicitly in the script
[09:40] <vila> O_o
[09:40] <vila> ChrisCauser: file a bug please
[09:40] <vila> and what if you set BZR_PLUGIN_PATH ?
[09:41] <vila> ChrisCauser: and anything interesting in .bzr.log ?
[09:41] <ChrisCauser> .bzr.log looks pretty uninteresting
[09:42] <ChrisCauser> BZR_PLUGIN_PATH makes no difference
[09:45] <vila> hehe, well done vila, spot on !
[09:45] <vila> at least we know the issue doesn't come from a plugin ;)
[09:46] <vila> ChrisCauser: I'm out of ideas for now, but I not used to write scripts using bzrlib, try again later, jelmer and mgz may know better
[09:48] <vila> ChrisCauser: if nothing else, 'with bzrlib.intialize()' should be enough, if it's not, t's a bug
[09:48] <vila> 'I not used'... "I'm not used" and I need more coffee :)
[09:49] <ChrisCauser> vila: Thanks a lot for all your help. I'm pretty sure the problem is that the prober being registered in bzrlib.bzrdir.__line__ == 1143 should be registered on initialize().
[09:49] <ChrisCauser> Perhaps it was a speed consideration that it was left out
[09:49] <ChrisCauser> Anyway, many thanks for all the hard sleuthing. I'll file a bug report
[09:50] <vila> 1143 does not match, what's the line content /
[09:50] <vila> ?
[09:50] <vila> controldir.ControlDirFormat.register_prober(BzrProber) ????
[10:00] <wgz> failing to get network operational this morning...
[10:01] <wgz> vila: are we going to do another release off 2.2?
[10:02] <vila> https://launchpad.net/bzr/+milestones says 2012-02-09 but is subject to change depending on bugs fixed
[10:02] <ChrisCauser> vila: Yes, that's the one. I've filed a bug report
[10:02] <ChrisCauser> https://bugs.launchpad.net/bzr/+bug/905218
[10:03] <ChrisCauser> I hope it is detailed enough
[10:03] <vila> wgz: so, a new 2.2 is pretty unlikely but I'd rather not discover a compat issue when trying to do a release to fix a critical issue...
[10:04] <vila> wgz: my turn now :)
[10:04] <vila> wgz: did you get some results for news_merge on pqm ?
[10:04] <wgz> the only obvious locations.conf seemed to last modified 3 years ago
[10:05] <wgz> while we have mthaddon it would be good to ask him if that's the current one or if the real thing is elsewhere
[10:05] <vila> good point
[10:05] <vila> let's talk about testools first then
[10:05] <vila> what are the options ?
[10:06] <wgz> well, I'm not too worried about upgrading it, various small things have broken and then been fixed across versions
[10:06] <vila> is 2.2 compatible with  0.9.8-1~bazaar1-0.IS.10.04 (available according to mthaddon) or should we instead check for 0.9.12 and wait for jml to provide it for lucid ?
[10:07] <vila> or separate pqm from the other ?
[10:07] <wgz> if it turns out something fails with the new version, we just need to land whatever bzrlib change is required
[10:07] <wgz> but 0.9.8 should be fine for 2.2
[10:07] <wgz> whereas newer versions would require some test output fix backporting
[10:07] <vila> can you double-check that and update bug #839461 ?
[10:08] <wgz> sure
[10:08] <vila> I just bumped it to critical waiting for a more precise diagnosis
[10:08] <wgz> heh, I don't have a 2.2 tree here
[10:08] <wgz> I think I deleted it as no longer relevent
[10:08]  * wgz branches
[10:09] <vila> mwhahah, you want to make our compat overlord cry ?
[10:13] <wgz> well, I *run* a pre-2.2 version as my base bzr on this box
[10:15] <wgz> okay, with trunk testtools, get three:
[10:15] <wgz> AttributeError: 'module' object has no attribute 'ExtendedTestResult'
[10:15] <wgz> will roll back to 0.9.8
[10:15] <wgz> there's a change I fixed that in I could backport to 2.2
[10:18]  * vila nods and notes that 0.9.12 seems possible (this will have my preference)
[10:20] <wgz> no s- bt.test_selftest errors with 0.9.8
[10:21] <wgz> I'll do a more extensive subset and see if there's anything else, but I expect it to be okay
[10:24] <wgz> okay, two doctest isolation problems that weren't backported...
[10:32] <wgz> dammit! was a laptop hardware bug
[10:32] <wgz> can probably transfer to the right box now
[10:38] <vila> wgz: "laptop hardware bug" ? Related to testtools ?
[10:38] <mgz> yeay! and it's still morning
[10:39] <mgz> no, related to me not being able to get on the network this morning
[10:39] <mgz> enabling then disabling the wireless made the wired hardware start responding
[10:40] <mgz> will have to remember that for next time.
[10:40] <mgz> so I don't spend quite as long checking the cabling...
[10:42] <wgz> http://float.endofinternet.org/xmlbin/2.2_testtools_0.9.8
[10:43] <wgz> all known issues, nothing testtools related
[10:43] <vila> so 0.9.8 is a valid alternative for bzr-2.2 ?
[10:43] <wgz> yup.
[10:44] <vila> jml, mthaddon : ^
[10:44] <vila> jml: is that ok with you or do you need 0.9.12 somewhere (in which case, when ? ;)
[10:45] <mthaddon> vila: that's great, thx
[10:45] <mthaddon> vila: we'll go with 0.9.8 for now
[10:46] <vila> wgz: I never know how to interpret (grok?) these pages
[10:46] <wgz> click on the little coloured boxes
[10:46]  * vila nods
[10:46] <vila> but how can I conclude: nothing wrong here
[10:47] <wgz> what I did was:
[10:47] <vila> for the whole page without clicking on all red (only ?)
[10:47] <wgz> 1) see there was no big red bar for any of the rows
[10:47] <wgz> that would indicate a test module failed to import
[10:48] <wgz> then I clicked on the little red and orange boxes, and saw they were all failures I know about already, mostly related to the selftest environment being slightly different
[10:48] <vila> ha, ok
[10:48] <wgz> ideally, you'd just look at the whole page and go "no red or orange!"
[10:48] <wgz> but the testsuite isn't quite that solid
[10:49] <vila> yeah, now I understand that I can't get that without practice ;)
[10:49] <wgz> eg:
[10:49] <wgz> http://float.endofinternet.org/xmlbin/2.2_testtools_0.9.8#bb.test_version.TestVersionUnicodeOutput.test_unicode_bzr_home
[10:49] <wgz> this is a problem with the test, and the design of trace
[10:49] <vila> hehe, I almost mentioned just that one :)
[10:50] <wgz> the test wants to escape isolation and get real `bzr version` output
[10:50] <vila> http://float.endofinternet.org/xmlbin/2.2_testtools_0.9.8#%28doctest%29bzrlib
[10:50] <wgz> and fails if trace.enable_default_logging() hasn't been called
[10:51] <wgz> ^that's an old doctest error that's fixed on trunk, basically it's spelt wrong and happened to work in some cases, again because of bad isolation
[10:51] <vila> oh, ChrisCauser encountered an issue in a script even after calling bzrlib.initialize() bug #905218
[10:52] <wgz> right, we have a bunch of issues that selftest doesn't catch by default because it generally runs in a fully set up environment
[10:52] <wgz> the import tariff type tests are a way around that
[10:52] <vila> a job for a subprocess test
[10:55] <wgz> http://bazaar.launchpad.net/~bzr-pqm/bzr/bzr.dev/revision/5494 <- fix for that bzrlib doctest issue
[10:55] <vila> and you're still based on 2.2 because this runs with ?
[10:56]  * vila tries to refresh his memory ;)
[10:56] <wgz> ...without testtools :)
[10:56] <vila> :-D
[10:57] <vila> . o O (This guy is schizophrenic, not only does he needs 2 nicks, he also manages to contribute (significantly) to a tool he doesn't use ;)
[11:16] <wgz> ha, okay, with trunk the only new errors are in <http://zippedmartin.dyndns.org/xmlbin/newtestresult#bt.test_selftest>
[11:16] <hrw> jelmer: like promised: bug 905275 reported
[11:17] <wgz> the bad part is the fix for that is from my testcase collection branch, so there's no direct backport possible
[11:19] <vila> wgz: gut feeling == skip those tests for 2.2 and be done
[11:20] <vila> wgz: if this is enough to allow us to use 0.9.12, the risk is negligible
[11:20] <wgz> though... I do have one neat rev for it: <http://bazaar.launchpad.net/~bzr-pqm/bzr/bzr.dev/revision/5340.12.7>
[11:21] <vila> wgz: would be clearer with from bzrlib.testools.testresult import doubles
[11:22] <vila> wgz: but small enough as it is for SRUs
[11:22] <vila> err, but good enough as it is, being small, for SRUs
[11:23] <vila> wgz: could you update the bug with a summary/bug task creation whatever you feel appropriate :)
[11:24] <vila> wgz: and thanks a lot, that's far clearer now, death to FUD ! :)
[11:26] <wgz> will just test 2.3/2.4 as well while here
[11:57] <niemeyer> Hey all
[11:57] <niemeyer> Quick question:
[11:58] <niemeyer> Once one "bzr update -r N", how to tell which revision the current working tree currently represents?
[11:58] <niemeyer> "bzr revno" still shows the tip
[11:59] <wgz> `bzr revno --tree`
[12:09] <vila> jelmer: toying around with your feature-flags branch, ./bzr selftest -s bt.test_bzrdir hangs in bzrlib.tests.test_bzrdir.TestHTTPRedirections_pycurl.test_loop tracked down to bzr-svn
[12:09] <vila> jelmer: I'll switch to BZR_PLUGIN_PATH-site
[12:09] <vila> jelmer: I'll switch to BZR_PLUGIN_PATH=-site
[12:25] <jml> vila: 0.9.8 is a valid alternative. 0.9.12 is at the mercy of a willing volunteer to package
[12:25] <jml> vila: which might end up being me, but others are welcome to go ahead.
[12:43] <vila> jml: thanks for confirming
[12:50] <wgz> bah, initialize is still a mess
[12:50] <wgz> pass setup_ui=False and you get a traceback
[12:55] <wgz> what's needed to get the old (quiet) behaviour bad again: <http://paste.ubuntu.com/772153/>
[13:13] <vila> wgz: the more I think about library state, the more I believe it should provides a sensible default behavior when importing bzrlib and *then* allows calls to initialize() to override whatever you want
[13:14] <wgz> yeah.
[13:15] <vila> tests and bzr commands would then be executed into a with bzrlib.initialize() block setting the needed bits and restoring the previous state when leaving the block
[13:15] <vila> should scale for threads too
[13:16] <vila> this should also limit the places where you need to pass the state around to: commands, tree, branch and repo signgificant calls without requiring passing it across the whole API
[13:16] <vila> meh and tests of course
[13:23] <wgz> see r6210 as well
[13:31] <vila> hehe, yeah, I know this one :)
[13:31] <vila> I don't like the global_state=None approach hence my "provides a sensible default behavior when importing bzrlib"
[13:32] <vila> in other words, let's initialize *something* cleanly and *then* give ways to tweak
[14:59] <adiroiban> Hi. I am getting this error:
[14:59] <adiroiban> bzrlib.errors.IllegalUseOfScopeReplacer: ScopeReplacer object 'StringIO' was used incorrectly: Object already cleaned up, did you assign it to another variable?: _factory
[14:59] <adiroiban> second time I call branch = bzrlib.branch.Branch.open_containing(self.url)[0]
[14:59] <adiroiban> any idea what is wrong?
[15:00] <wgz> we need more context to know what's going wrong, it's a symptom of lazy import misuse
[15:00] <wgz> so, full traceback, and ideally the module with your code as well?
[15:01] <adiroiban> I am trying to fix the buildbot, bzrpoller
[15:01] <wgz> ah... it's an error in trace
[15:01] <wgz> from bzrlib.lazy_import import lazy_import
[15:01] <wgz> lazy_import(globals(), """
[15:01] <wgz> from cStringIO import StringIO
[15:01] <wgz> ...
[15:01] <adiroiban> http://pastebin.ubuntu.com/772280/
[15:02] <adiroiban> call is at line 287
[15:02] <wgz> you can probably avoid it by doing `with bzrlib.initialize(): your_main()` in your script
[15:02] <adiroiban> aha
[15:03] <adiroiban> so the bzrlib.initialize() should be called only once?
[15:03] <wgz> file a bug against bzr, because the bad code is in bzrlib.trace
[15:03] <adiroiban> ok. I will file a bug. thanks!
[15:03] <wgz> and yes, the fix is probably just to make init happen once at the right time
[15:05] <wgz> include the full traceback in the bug, and say what you run to hit it
[15:06] <adiroiban> any suggestion for the title?
[15:06] <adiroiban> or just put any title that will be updated
[15:06] <adiroiban> if required
[15:06] <wgz> "IllegalUseOfScopeReplacer from replacement of StringIO" or something
[15:06] <adiroiban> ok
[15:09] <lamalex> Hi, is there any way to get bzr-builder to use pbuilder to build its package?
[15:11] <jelmer> lamalex: at the moment, no
[15:11] <jelmer> lamalex: though you should be able to use --no-build and then use pbuilder manually
[15:13] <adiroiban> wgz: I tried wrapping the call to bzrlib.branch.Branch.open_containing in a with: bzr.initialize() block, and also tried to call bzr.initialize() just after the import bzrlib, but I get the same error
[15:13] <wgz> adiroiban: could also just be a race, which we have a bug for already
[15:14] <wgz> but it's config not trace that needs fixing, I guessed wrong
[15:15] <adiroiban> wgz: unfortunately I am stuck with python 2.5 so I am using bzr 2.3.4
[15:15] <wgz> so, try "from bzrlib import config; config.StringIO()" before spawning threads
[15:16] <wgz> which will deal with that particular one at least
[15:16] <adiroiban> it seems like config.StringIO() solve the problem...
[15:16] <adiroiban> thanks!
[15:22] <lamalex> jelmer, ah, that's a good idea
[15:22] <lamalex> jelmer, i was looking through the source to try and find where it actually builds and i can only find where it builds the source package
[15:25] <jelmer> lamalex: it doesn't build binary packages at all
[15:26] <lamalex> oh, ha
[15:26] <lamalex> but --no-build and pbuilder should work for building a binary package
[15:49] <jelmer> vila: what's the easiest way to create a stack from a string?
[16:04] <vila> jelmer: a store from a string and then a stack from a store like I did for your commit builder branch ?
[16:05] <jelmer> vila: ah, thanks
[16:05] <vila> bzrlib.tests.test_commit.py
[16:06] <vila> jelmer: and hi ! :)
[16:06]  * vila scrolls back for stacked questions
[16:08] <vila> jelmer: ping, workflow question, I've landed the fix for bug #904704, should I: 1) mark the bug fix committed, 2) target 2.8, or both or something else ?
[16:08] <vila> also, ChrisCauser encounter a weird issue: bug #905218
[16:09] <vila> jelmer: I thought the prober could ring a bell with you
[16:09] <jelmer> vila: yep, target 2.8 and mark as fixcommitted
[16:09] <jelmer> vila: yeah, that makes sense
[16:09] <jelmer> vila: we don't import bzrlib.bzrdir necessarily
[16:09] <jelmer> vila: so we don't register the prober for .bzr in some cases. We should probably import bzrlib.bzrdir from bzrlib.initialize()
[16:10] <vila> but the end result is that open_workingtree ends up raising NotABranch because no prober is registered
[16:11] <jelmer> vila: right, because we haven't registered the prober for .bzr/
[16:12] <vila> a bit weird that importing workintree.py doesn't trigger importing bzrdir.py...
[16:12] <vila> and also why wasn't it the case for bzr-2.4 ? (Probably more lazy loading related)
[16:12] <jelmer> vila: yeah, more lazy loading
[16:13] <jelmer> vila: there isn't much in bzrlib.workingtree that is bzr-specific
[16:13] <jelmer> vila: so nothing uses bzrlib.bzrdir
[16:13] <vila> yeah, wt.py vs wt4.py ?
[16:13] <jelmer> vila: right - wt.py just contains the main API, which is shared by bzr and foreign formats
[16:14] <jelmer> vila: I wonder what the better fix is, explicitly importing "bzrlib.bzrdir" at the top of wt.py, or adding "import bzrlib.bzrdir" to bzrlib.initialize?
[16:15] <jelmer> I think in bzrlib.workingtree
[16:15] <jelmer> as we're already doing something similar in bzrlib.branch and bzrlib.repository
[16:15] <vila> or registering the bzr prober lazily somehwere ?
[16:15] <vila> ha, that's probably best then
[16:31] <ChrisCauser> jelmer: Thanks a lot for the help with #905218
[16:33] <jelmer> ChrisCauser: np
[16:34] <jelmer> we've been reducing the number of imports that bzr does at startup time, and that's now biting us
[16:38] <ChrisCauser> jelmer: I guessed that was the problem, but on the flip side, I /really/ do appreciate the work in this area. Bzr is so much quicker now. I really notice it
[16:43] <vila> jelmer: worth mentioning in the what's new ;)
[16:44] <jelmer> vila: what is?
[16:45] <vila> jelmer: more lazy loading => bzr quicker
[16:45] <jelmer> vila: ah, yeah
[17:13] <wgz> wow config_dir is called too many times... <http://float.endofinternet.org/xmlbin/dev_testtools_trunk#bb.test_version.TestVersion.test_main_version>
[17:15] <jelmer> wgz: hmm, how can you tell?
[17:15] <jelmer> ah, I see now
[17:16] <jelmer> well, GlobalStore is called very often
[17:18] <vila> If it's now called more often than GlobalConfig, I call it progress ;-)
[17:18] <wgz> is there a reason test_osutils.TestGetuserUnicode tests use LOGNAME rather than USERNAME?
[17:19] <wgz> I broke them because LOGNAME is meaningless on win.
[17:19] <vila> welcome to environ and its standardS
[17:26] <wgz> okay, I have a kinda-plan with directories
[17:26] <wgz> on startup, bzr should resolve and prepare any well known locations it needs, then stash them somewhere obvious (ie... fix global_state)
[17:27] <wgz> so, this is the 'home' config location, a cache directory, whereever we think .bzr.log should go... anything else?
[17:28] <wgz> currently there are 6 or so bugs about locations of things, that would be easiest to fix in one big go rather than moving stuff around piecemeal
[17:44] <jelmer> hmm
[17:45] <jelmer> I wonder if there's an easy way to discover whether a file system supports the executable bit, other than trying to change it on a particular file
[17:46] <mgz> would be nice if pathconf didn't suck
[17:46] <mgz> alas, it does.
[17:46] <Peng> jelmer: Could create a file once and then stat() it everafter.
[17:47] <Peng> Hmm, that'd be a problem if it was moved onto a different fs that did or didn't support the exec bit...
[17:48] <mgz> Peng: also, some C libs emulate the exec bit based on file extension
[17:48] <jelmer> Peng: yes, and file systems that don't support the X bit have different defaults for the executable bit.
[17:48] <mgz> rather than actually storing a bit with the file
[17:50] <mgz> jelmer: so, it's easy to discount support in a few cases
[17:50] <mgz> proving support is hard
[17:50] <mgz> though not quite as hard as proving bug-free support :)
[17:52] <mgz> you could cover the common cases if you can use (and trust) a syscall to give you the filesystem type
[17:52] <mgz> I bet nfs makes life hard there though
[17:53] <jelmer> mgz: I agree the sensible thing to do is:
[17:53] <jelmer> * assume win32 doesn't support the executable bit
[17:54] <jelmer> * on other platforms, assume the executable bit is support unless we can somehow determine that it definitely isn't
[17:54] <vila> conf.set('xxx', ''), val = conf.get('xxx') , val == '""' >.<
[17:55] <jelmer> yeah, a configuration option would indeed also be a possibility
[17:55] <jelmer> I wish we had a per-tree configuration though..
[17:55] <vila> nah, was mentioning the siliest bug ever, re-read
[17:56] <vila> setting a conf option to '', re-reading it, get '""', not ''
[17:56] <jelmer> ah :)
[17:56] <mgz> heh
[17:56] <vila> configobj apparently, been there since epoch
[17:57] <vila> why we never ran into it....
[17:58] <mgz> okay, I'm going to finish off the lazy_import threading branch
[17:59] <mgz> won't help people marooned on bzr 2.3 like earlier, but the current code is insane compared to MvG's
[17:59] <jelmer> mgz: cool
[18:00] <jelmer> mgz: I think I found an alternative
[18:00] <mgz> doing a fix for that dumb use of StringIO on 2.3 onwards is probably also worthwhile
[18:00] <mgz> jelmer: do tell
[18:01] <jelmer> mgz: it's not exactly ideal but better than what we have now
[18:01] <jelmer> mgz: use stat('.bzr/format') to get st_dev
[18:02] <jelmer> then use getmntent to find the file system type..
[18:03] <mgz> and nfs won't be clever and lie
[18:03] <mgz> ?
[18:03] <jelmer> mgz: well, we'll get back "nfs" for nfs mounts
[18:03] <mgz> if so, that's worth doing.
[18:04] <jelmer> mgz: and there's no way of knowing what the underlying fs is, but we can just default to assuming it supports the executable bit
[18:04] <jelmer> mgz: at least it means we'll get it right for FAT, etc
[18:04] <mgz> well, or fall back to trying a dance
[18:04] <mgz> if we can trust 'ext4' (ho ho) then at least the common case doesn't need funny business
[18:05] <vila> and we'll keep assuming that's true for the whole wt
[18:06] <mgz> ...can anyone think of a reason not to use trace.mutter from inside lazy_import resolution?
[18:06] <jelmer> mgz: overhead?
[18:06] <vila> trace lazy import
[18:07] <mgz> only for duplicate resolution, so not all the time... will double check the loop issue
[19:20] <jelmer> mgz: still there?
[19:43] <mgz> jelmer: yup, just had a break for dinner
[20:37] <mgz> did the basic simplifications I suggested for the lazy_import change
[20:37] <mgz> but wonder if there isn't a proper race-aware way of doing this
[20:38] <mgz> where the first thread to both get, and delete, scope, gets to do the work
[20:39] <mgz> this could mean other threads are stuffed waiting for it to finish I guess, so deadlock
[20:39] <mgz> meph.
[20:40] <mgz> can still use that to work out if it's a race or a reuse though
[20:45] <Noldorin> hey folks
[20:45] <Noldorin> hi mgz
[20:45] <mgz> hey Noldorin
[20:46] <Noldorin> how's... things?
[20:47] <Noldorin> saw the b4 release of 2.5 :-)
[20:47] <Noldorin> looking good
[20:52] <mgz> getting there :)
[21:48] <Reggie> can anyone help a relative bzr novice out?  I have someone who pushed a change to remote repo A, and then merged that to remote repo B and then C.  The change should have only gone into C
[21:48] <Reggie> what's the easiest way to remove it from A and B?
[21:49] <Reggie>  I know I can overwrite the affected files with the files from current-1 and then do a normal commit but hoping there is an easier or more standard way to do it
[21:49] <Reggie> thanks
[21:55] <jelmer> hi Reggie
[21:55] <Reggie> hi
[21:55] <jelmer> Reggie: bzr uncommit is what you're looking for probably
[21:56] <Peng> It sounded to me like it was too late for uncommitting.
[21:56] <Reggie> dev commited locally and then pushed to remote branch

[21:56] <Reggie> then merged up to B and C locally and pushed them
[21:57] <Reggie> now we need to remove the last changeset on the remote repos A & B
[21:57] <wgz> whether you want to uncommit or merge a reversion depends on how public the branches in question are
[21:57] <Reggie> these are not public
[21:57] <Reggie> internally hosted
[21:57] <wgz> if lots of people use them, they'd get confused if you rewrite history on them by removing the commit entirely
[21:58] <Reggie> not an issue
[21:58] <wgz> then uncommit and email to everyone saying "whoops" is generally fine
[21:59] <Reggie> here is where I get confused.  I do a bzr uncommit and now I see the changed files (which is correct). what then?  the bzr uncommit doesn't effect the remote repo?
[21:59] <Reggie> do I need to do the bzr uncommit on the remote repo?
[21:59] <wgz> yeah, you just pass it as the location
[22:00] <wgz> so, `bzr uncommit A` `bzr uncommit B`
[22:00] <Reggie> will repo C get confused?  the change needs to be in C  (these repos are chained together)
[22:00] <wgz> depends how you did the merge.
[22:01] <wgz> you can branch all three locally, try it out and see
[22:01] <wgz> then do it for real when you have the state you want
[22:01] <Reggie> devs do merges on their local workstations.   they would typically push in folder A  then from inside folder B they would do  bzr pull; bzr merge ..\A;  bzr commit -m"merged"; bzr push
[22:02] <Reggie> make sense?
[22:02] <wgz> this is getting out of basic fixing a mistake, and into workflows
[22:02] <wgz> what would the correct series of operations have been?
[22:02] <Reggie> make change in C and push only to C
[22:03] <Reggie> instead dev thought the fix should go all the way back to A
[22:03] <Reggie> this is a single product versioned.  vesrion A, vesrion B, version C
[22:03] <wgz> and C is newest.
[22:03] <Reggie> yup
[22:03] <wgz> uncommit on all three then do it right is fine then.
[22:04] <Reggie> any big problem with overwriting the changed files with files from revision-1 and doing a new set of commits/pushes?
[22:04] <wgz> if this happened some revisions back, you'd want to reverse the merge on A, merge up to B, merge up to C *then revert the tree but keep the merge*
[22:04] <Reggie> I say that because repo C may be already been changed by others so uncommit there might be challenging
[22:05] <wgz> if you can replay the new changes on C that's also fine, but deeper into history rewrite territory
[22:06] <Reggie> yes, I think you just said what I was trying to say.  basically undo the change manually in A & B and then do what I call null-merge to C
[22:06] <Reggie> the bad change is the very last change on A & B but it's not the last change on C
[22:10] <wgz> that option is basically just `bzr merge -r-1..-2 -d A A; bzr commit A; bzr merge -d B A; bzr commit B; bzr merge -d C B; bzr revert C; bzr commit C`
[22:10] <Reggie> right
[22:10] <Reggie> :)
[22:10] <wgz> `bzr revert *` rather.
[22:11] <wgz> you want to keep the merge, but not the changes.
[22:11] <Reggie> wgz, thanks.  really appreciate the help
[22:21] <Noldorin> wgz, oh yeah, was going to ask. does bzr have 'service' plugins like hg does? like for notifying you when someone pushes?
[22:21] <Noldorin> on a bzr server
[22:21] <Noldorin> that is
[22:22] <Noldorin> also, does LP specifically have them?
[23:25] <wgz> bzr does, lp doesn't as far as I'm aware, but various things you can use for landing changes like pqm and tarmac can notify


[05:52] <lazyPower> pleia2: i fail at contacting you over irc when i arrived... but i'll be around all day tomorrow if you'd still like to hi5
[05:52] <pleia2> lazyPower: yeah, totally
[05:53] <pleia2> lazyPower: any thoughts what your plans are? I could do lunch or something if you'll be around the area
[05:53] <lazyPower> nah, i was thinking it might be good to coffeeshop hack for the morning, then go explore more of SF
[05:53] <lazyPower> so no plans to speak of
[05:54] <pleia2> want to grab lunch here? http://www.thegrovesf.com/locations.html
[05:54] <pleia2> 690 Mission Street, it's about a block from the marriott
[05:55] <lazyPower> yeah this sounds great
[05:55] <lazyPower> :D
[05:55] <pleia2> cool, noon sound good?
[05:57] <pleia2> figure we can meet out front, I'll be on irc all morning, because working, feel free to twitter DM me if you run late/can't find me/whatever
[05:57] <lazyPower> Awesome, sounds great pleia
[05:57] <lazyPower> Thanks :)
[05:57] <pleia2> yay \o/
[05:58] <lazyPower> Dodgy hotel WiFi is dodgy
[05:58] <pleia2> boo, where are you staying?
[05:58] <lazyPower> The Marriott
[05:58] <pleia2> been to the bar at the top yet?
[05:59] <lazyPower> I have :))
[05:59] <lazyPower> Awesome view of the city
[05:59] <pleia2> yeah :)
[05:59] <lazyPower> Last night we wound up in a karaoke bar in china town
[05:59] <pleia2> haha, nice
[05:59] <lazyPower> Off the chain. That's all I'm saying about that
[05:59] <pleia2> lol
[06:00] <pleia2> did your work ever overlap with SpamapS? he's a big karaoke guy
[06:01] <lazyPower> I've met spamaps bit have not dang with him
[06:01] <pleia2> he's a lot of fun
[06:01] <lazyPower> I had three backup singers and I still managed to completely drop tune of every song I belted out
[06:02] <pleia2> hehe
[06:02] <pleia2> the only time I ever went out to karaoke was with r00t^2 and I didn't sing
[06:02] <lazyPower> Wot
[06:03] <pleia2> weak
[06:03] <lazyPower> The first rule of karaoke club is you have to sing
[06:03] <pleia2> hehe
[06:03] <lazyPower> The second rule of karaoke club is...  And all that
[06:04] <pleia2> maybe next time, if I drink a lot first
[09:20] <rmg51> Morning
[10:33] <JonathanD> A lot of opping in here :P
[12:16] <teddy-dbear> Morning peoples, critters and everything else
[14:18] <lazyPower> mornin teddy-dbear
[14:54] <teddy-dbear> o/
[14:54] <ChinnoDog> morning
[16:18] <lazyPower> \o