[00:35] <arraybolt3[m]> This may be silly, but how exactly are we planning to be able to use openQA at all inside of LXD? It requires the ability to make VMs, I think. Are we going to somehow passthrough /dev/kvm into the LXD container? Or have half of openQA running on baremetal/VM with nested virt and then the other half in LXD?
 security.nesting = True, should allow access to the underlying KVM (re @lubuntu_bot: (irc) <arraybolt3[m]> This may be silly, but how exactly are we planning to be able to use openQA at all inside of LXD? It requires the ability to make VMs, I think. Are we going to somehow passthrough /dev/kvm into the LXD container? Or have half of openQA running on baremetal/VM with nested virt and then the other half in LXD?)
 but you're only partially right
 the core system UI can live in LXD
 the workers can run independent on the host without being in LXD
 *those* need the KVM, etc. access and I"m not sure if DO allows nested virtualization
 but one step at a time
 the core UI and user system needs to work first :P
[01:37] <arraybolt3[m]> @teward001: https://www.digitalocean.com/community/questions/does-digitalocean-support-kvm-or-nested-virtulzation
[01:37] <arraybolt3[m]> (TL;DR: Yes, they do.)
 yeah i already did that, and something is not working right.  So i'mma poke but i have a lot of things so (re @lubuntu_bot: (irc) <arraybolt3[m]> @teward001: When I was trying to hack openQA into working with Ubuntu and Apache, I was able to get it to let me log in with Ubuntu One, I just had to change the OpenID URL if I remember correctly.)
[01:37] <arraybolt3[m]> @teward001: Nice to know that LXD supports nested virt! I remember a long time ago trying to passthrough a GPU to an LXD container and it was a total nightmare :P
 getting the Apache config working was not a pain
 oh passthrough like that won't work ;) (re @lubuntu_bot: (irc) <arraybolt3[m]> @teward001: Nice to know that LXD supports nested virt! I remember a long time ago trying to passthrough a GPU to an LXD container and it was a total nightmare :P)
 but you can map access to system resources with proper binds.
 but alas it's dependent on knowledge :P
[01:39] <arraybolt3[m]> That was back with an unofficial Xubuntu 16.04 variant, and yeah I think I had some way of getting the device files directly to the container. It was a long time ago, I was a newbie, and was just following random blog posts 🤦
 see that's where i would just go with KVM and not LXD xD
 fun fact LXD *can* make KVM VMs
 but *shrugs*
 *sips soda*
[01:40] <arraybolt3[m]> It was an old 1st Gen Intel Core i7 laptop, no IOMMU. :P
[01:41] <arraybolt3[m]> It was just a mess. I could probably write a whole book on "Aaron's Total Linux Failures as a Newbie". This would definitely get a chapter in it.
[01:42] <arraybolt3[m]> Sure was fun learning what didn't work though.
 heh
 that was me learning how computers are built and taking apart dead ones to learn better
 and i do mean dead ones, like "we're going to toss these into the shredder" crap so
[16:59] <arraybolt3> @teward001: I sure did a *lot* of that back in the day. Got pieces of other computers to work in ones I was using. One time I installed a floppy drive using crumpled-up paper to hold it in the drive bay. It actually worked...
[20:49] <arraybolt3[m]> Simon Quigley:... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/6b469be66b4b1c839d0b3e2e51e858c71fa7f6f6>)
[20:49] <arraybolt3[m]>  * Simon Quigley:... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/b616b0a45a67f7f44ebeba06324321e075b8d3dd>)


 That's a new leftmost page on Google pixel launcher.  Never saw it before right now.
[12:26] <maxolase1squad> Anyone following Tim Berners Lee's Solid project?
 Not I
[14:22] <maxolase1squad> https://www.fastcompany.com/90243936/exclusive-tim-berners-lee-tells-us-his-radical-new-plan-to-upend-the-world-wide-web
 Just landed in Georgia
 It’s weird, like I get to do Friday over again almost
 Welcome back to the country
 Thank you!
 Geez
 Never taking T-Mobile USA service for granted xD
 So I’ve been wondering, why do python developers seem to show up on the upper end of the pay scale, is there some sort of technical hurdle to get a high salary or are people hiring python novices at nearly 100k?
 @RazPi, Not that I have seen
 So what makes a 100k python job?
 Ransom or blackmail of the boss.
 At least if you are talking about novice work
 https://www.payscale.com/research/US/Skill=Python/Salary
 @KMyers I'm looking for PETG. do you recommend any brand?
 @AdamOutler, I have been using the Microcenter brand called InLand and it works well. I have not tried other brands


[12:01] <mup> Bug #1889042 changed: DNS/Bind issue, DNS stops working every day <MAAS:Triaged> <https://launchpad.net/bugs/1889042>
[22:14] <greenstatic> hello, does anybody know why maas creates DNS entries when a host is marked as a kvm host for each host network interface, i.e. <INTERFACE>.<VLAN>.<HOSTNAME>.example.com ?


[00:00] <charlie-tca> Io non ho nessuno che può parlare italiano
[00:00] <jamba> ok, grazie
[00:47] <gorgut> hey folks, what do I do to make a bash script that I wrote available globally? kinda like a built-in
[01:07] <zoredache> put it in /usr/local/bin
[01:18] <j1mc> hi - quick question.  how do i "lock" the screen through the gui in xfce?  is it possible?  or do i need to enter a key-combo?
[01:21] <charlie-tca> Ctrl-alt-del is supposed to work.
[01:21] <charlie-tca> But, that might be a change in Jaunty
[01:22] <j1mc> charlie-tca: that works.  know of any way to do it through the gui?
[01:22] <charlie-tca> only with a screensaver set for password to unlock
[01:23] <j1mc> ok - i didn't think there was a way, but i wasn't sure
[01:24] <j1mc> charlie-tca: i can just type in the comman xflock4, and that will do it.  it looks like ctrl-alt-delete does it, too.
[01:24] <charlie-tca> ctrl-alt-del does it through xf4lock
[01:24] <j1mc> i like how xfce program names are like xf+[program name]+4  :)
[01:24] <j1mc> xfwm4, xfrun4, xflock4  :)
[01:25] <charlie-tca> easier to get them right, maybe. Although I can always get them wrong!
[01:25] <j1mc> :)
[01:26] <j1mc> did you see there's a new program installed called Gigolo?  ???  :)
[01:26] <j1mc> i mean, gigolo... that's the name.  who came up with that?
[01:26] <charlie-tca> yeah. I don't know where that came from.
[01:26] <j1mc> it's under Applications > System > Gigolo
[01:26] <j1mc> it's just weird to have that name.
[01:26] <charlie-tca> I think it is to connect to windows shares, isn't it/
[01:26] <charlie-tca> ?
[01:27] <j1mc> right
[01:27] <j1mc> but... http://www.google.com/search?hl=en&client=firefox-a&rls=com.ubuntu:en-US:unofficial&hs=goT&defl=en&q=define:gigolo&ei=6_DCSaWDI4iQngeWlYWxCg&sa=X&oi=glossary_definition&ct=title
[01:27] <j1mc> http://en.wikipedia.org/wiki/Gigolo
[01:29] <charlie-tca> does seem like a strange name. I wonder if it has a different meaning the author's native language.
[01:36] <jimisrvrox> hey guys I have a pci wireless card that reads on wlan1 but will not work with gnome applet. But when I plug in the usb nic along with the pci. applet sees both cards. How can I get it to recognize just the PCI?  What do I need to do to get xine to play videos on my TV? I'm using an s-video connection and everything else works, just not the movies in xine or totem. Flash videos work in Firefox tho.
[02:52] <jimisrvrox> hey ben..
[02:52] <jimisrvrox> are you good with wireless pci cards?
[03:01] <Bensawsome> jimisrvrox: what brand/model? i just recently started working with xubuntu with laptops so maybe i can >_>
[03:01] <Bensawsome> i do this cool computer recycling thing ^_^
[03:01] <Bensawsome> i take old computers, fix em up, and give to underpriveledged studnets :D
[03:07] <Slor> StudNet!  Sounds illegal...
[03:08]  * Slor crawls back into his hole
[03:09] <jimisrvrox> sorry I didnt respond sooner..
[03:09] <jimisrvrox> was afk
[03:11] <Bensawsome> lol its ok
[03:11] <jimisrvrox> ive got the pci wmp54gcs
[03:11] <Bensawsome> i do it all the time ;)
[03:11] <jimisrvrox> so it runs the broadcom 4813 chipset
[03:12] <Bensawsome> ah ok
[03:12] <Bensawsome> hmmmmmmmmmm
[03:12] <jimisrvrox> the funny thing about it is I also have a wusb54gcs that when I plug it in w/the pci xubuntu shows both cards
[03:12] <jimisrvrox> but only reads the usb nic
[03:12]  * Bensawsome searches through his documentation and other crap
[03:12] <Bensawsome> lol nice....
[03:12] <Bensawsome> hmmm
[03:12] <jimisrvrox> yeah really..
[03:12] <jimisrvrox> walmart pulled a nice bait/switch on me..thought i was getting rev1 wusb oh no..rev2
[03:13] <Bensawsome> XD
[03:13] <Bensawsome> wonderful walmart :/
[03:13] <jimisrvrox> i jacked with that damn thing for a week with ndis and i'll be damned the thing just would not work for shi*
[03:13] <jimisrvrox> I tried both sets of drivers for it the rev1 and 2 set and nothing
[03:14] <Bensawsome> hmmm nope sry i couldnt find  anything about that one :( (i document every computer i get in REALLY GOOD detail and anything i had to do to get it to work)
[03:14] <jimisrvrox> id end up with ERROR: interrput flags no device but when you do lsusb you would see the device
[03:15] <Bensawsome> shoot i gtg to bed now :(
[03:15] <jimisrvrox> damn alright..
[03:40] <aseng> help
[03:40] <aseng> anyone help me
[03:42] <zoredache> !anyone
[03:43] <jimisrvrox> zore...I suppose you are not the right person to talk to about wireless nics?
[03:44] <zoredache> not really, I am lucky enough to have a device that is supported out of the box
[03:48] <jimisrvrox> yeah tell me about it..
[03:48] <jimisrvrox> I got a wusb for mine and got the bait/switch rev2 doesnt PnP
[03:49] <jimisrvrox> took it back got a PCI and so now it too does not PnP
[03:50] <aseng> help
[03:50] <aseng> plug flashdisk on desktop nothing
[03:51] <aseng> how..?
[04:21] <meowImAKitty> Is anyone here running xubuntu on a laptop? I'm having a problem with the external moitor port...
[04:25] <jimisrvrox> if you had been an hour earlier there was a guy in here that does just that
[05:01] <zoredache> meowImAKitty: have you tried to see if things work with a newer livecd?
[05:16] <cjae> HI, using xubuntu 8.10 plugging in a ntfs ecternal drive mounts it as root only I believe is this the default and how do I change it?
[05:16] <zoredache> you should look at using ntfs3g
[05:16] <zoredache> !ntfs-3g
[05:17] <cjae> I know what it is but the kernel supports read and write on drives now and since it is usb it should not have to edit fstab
[05:18] <cjae> what is the command to list directory permissions
[05:19] <zoredache> eh?  Just do an ls -l
[05:25] <cjae> so chmd a .dev.sdb
[05:25] <cjae> so chmd a /dev/sdb
[05:26] <cjae> sorry using an old crt tv as monitor and it is hard to see what I am typing
[05:27] <zoredache> why would you need to do that?
[05:28] <cjae> sorry i think i mean chown
[05:29] <zoredache> have you read the directions on that link?
[05:29] <zoredache> you shouldn't need to change the permissions or ownership of the device file
[05:31] <cjae> brw-rw---- 1 root disk 8,
[05:36] <cjae> are you there?
[05:37] <zoredache> I am here, but I have no idea what you are asking me, or what you are trying to do
[05:37] <cjae> HI, using xubuntu 8.10 plugging in a ntfs ecternal drive mounts it as root only I believe is this the default and how do I change it?
[05:38] <cjae> sudo chown cjae /dev/sdb
[05:39] <cjae> I want to be able to write to the drive without being root
[05:41] <cjae> it wont let me write files to it
[05:41] <zoredache> you don't need to do anything to the device file
[05:41] <zoredache> you need to install ntfs-3g and use that to mount the drive
[05:41] <cjae> so what do I need to do to write files to it
[05:42] <cjae> I already see it and mount it
[05:42] <cjae> it
[05:43] <cjae> and I though that ntfs has been in the kernel for quite some time now
[05:43] <zoredache> write support is not in the kernel
[05:43] <cjae> on my lubuntu box I do not have to install any of that ntfs3g stuff
[05:43] <cjae> kbunutu
[05:43] <zoredache> it is probably installed automatically
[05:44] <cjae> oh I see
[05:44] <cjae> sorry
[05:45] <cjae> so only read support is on the kernel, I was certain that I read both were there
[05:46] <zoredache> I could be wrong... You could ask someone else...  This channel is really quite at this time of night
[05:46] <cjae> ok
[05:46] <zoredache> you might try asking in #ubuntu
[06:41] <Dab202> anyone know a good media player for xubuntu?
[06:41] <Dab202> like something that can get a podcast?
[06:51] <_Pete_> vlc?
[06:52] <zoredache> Have you tried Miro?
[06:53] <zoredache> It will let you subscribe to video/audio feeds
[06:53] <zoredache> But I also like vlc for playing stuff
[06:54] <Dab202> no i just got xubuntu
[06:54] <Dab202> i only have the media stuff that comes on the boot disk
[06:54] <Dab202> and that listen music player doset seem to work
[06:54] <Dab202> its odd
[06:55] <zoredache> you could have used Miro when you where on windows/osx as well.  It is cross-platform and based on the mozilla engine
[06:55] <Dab202> i run zune on windows, but microsoft is to stuborn to make it for ubuntu
[06:55] <Dab202> if i could find something close to that i would me more than happy
[06:56] <zoredache> you might also try songbird
[06:56] <Dab202> but evan like a Windows media player would get the job done
[06:56] <Dab202> ok
[06:56] <Dab202> ill check it out
[06:56] <zoredache> if you are looking for something with a store built in
[06:57] <Dab202> eh i could care less about a store
[06:57] <Dab202> i just need something solid that will work, and pulling podcasts off the web would be nice as well
[06:57] <Dab202> this songbird dosent look to bad
[06:57] <Dab202> might give it a shot
[06:58] <Dab202> thanks
[07:01] <Dab202> yah songbird will do the trick
[07:01] <Dab202> thanks agian
[08:09] <moodog> morning :)
[08:14] <sprockets2000> how do you add programs to a panel in xfce
[08:14] <sprockets2000> i cant like drag for instance x-chat
[08:14] <sprockets2000> i have to add a "launcher" for each one
[08:17] <forces> sprockets2000, in xfce 4.6 you can do that
[08:18] <sprockets2000> I have 4.6
[08:18] <sprockets2000> anything i need to configure to make it happen?
[08:20] <forces> hmm
[08:20] <forces> did you upgrade to xfce 4.6 in xubuntu 8.10?
[08:21] <zeltak> hi i need some SOS help if anyone knows a bit about mdadm and Raid?
[08:21] <sprockets2000> im not running ubuntu
[08:21] <sprockets2000> I asked in linux
[08:21] <sprockets2000> and they sent me here
[08:21] <forces> what r u runing?
[08:21] <forces> !raid | zeltak
[08:22] <zeltak> yeah looked at it ubottu but couldnt find an answer
[08:22] <zeltak> forces: xubuntu intrepid
[08:23] <sprockets2000> archlinux
[08:23] <sprockets2000> I installed xfce about 2 hours ago so working around on it see if i enjoy it more than gnome
[08:23] <forces> ask in #archlinux
[08:23] <zeltak> the problem is first the tmne i issued mdstat i screwed up and i want to do it again yet the drives seems still to be connected to /dev/md0
[08:23] <forces> in arch you have to install all of you want
[08:23] <zeltak> 4this is the message i get btw when i try to recreate the raid                                                                                │ buckethead
[08:24] <forces> if xfce needs an applet for do something, you have to install it manually
[08:24] <zeltak> mdadm: /dev/sda1 appears to be part of a raid array
[08:25] <zeltak> can anyone help out a bit in explaining how to remove /dev/md0 and start from fresh?
[08:47] <thegrafixmaster> so whats new in this new version
[08:48] <Kimi> Xubuntu in 64 mb ram .... is it possible ?
[08:50] <cody-somerville> no
[08:50] <Kimi> ok ...
[08:50] <Kimi> my another frnd has 128 mb ram
[08:50] <Kimi> is it possible ?
[08:50] <Kimi> for 128 ?
[08:51] <cody-somerville> maybe
[08:52] <cody-somerville> but not very enjoyable
[08:52] <Kimi> ok....
[08:52] <Kimi> what will be enjoyable then ?? 256 ?
[08:54] <Linx> kimi mom is moment pls ^^
[08:57] <cody-somerville> Linx, pardon?
[08:57] <cody-somerville> Kimi, 256 isn't too bad. I personally have 1GB
[08:58] <durt> PIII 533Mhz w/ 450MB, not a prob.
[08:59] <Kimi> ok..
[09:04] <Kimi> but you have 1gb and using Xubuntu
[09:04] <Kimi> then you can use UBU itself right ?
[09:05] <Kimi> why , are u an xubuntu like ?
[09:19] <psycho_oreos> got a bit of issue with conversion from usb mouse to ps/2 mouse (as a test) I have tried guides on reconfiguring xorg.conf and tried stuff like mdetect but to no avail the device doesn't get detected
[09:22] <psycho_oreos> mdetect comes back as three devices: /dev/psaux, /dev/ttyS0 and /dev/input/mouse0. None of those work with xorg being constantly restarted via Ctrl+Alt+Backspace
[09:23] <tavasti> are you sure your mouse and ps/2 mouse port are ok?
[09:24] <psycho_oreos> dunno if there's an easier way to test it :) maybe I should try using a livecd. The optical mouse was working fine under USB, and whenever there's an activity with the mouse, the light goes up. The light is still on the mouse and it appears to be working.. I tired to get gpm going but there's no console cursor to test it out
[09:25] <psycho_oreos> under dmesg
[09:26] <psycho_oreos> under dmesg it was also detected as ps/2 mouse
[09:27] <psycho_oreos> oh yeah I forgot to mention, I'm running xubuntu 8.10 (intrepid ibex)
[09:35] <psycho_oreos> thanks for the hint, I'm going to try booting into livecd to see if it works, afterall its just a test to see if the adapter works prior to me trying it out on usb keyboard
[09:41] <psycho_oreos> lol, under livecd boot (also xubuntu 8.10) the mouse doesn't work
[09:50] <psycho_oreos> hmm this will definitely go down well, never buy dell peripherals lol... dell usb mouse as ps/2 doesn't work and definitely not dell multimedia keyboard
[09:52] <psycho_oreos> maybe in the future, there will be a fix for such issues.. I have had issues with stuff like Ctrl+L doesn't work at random times, Caps Lock doesn't show light when its meant to, sometimes L+Shift doesn't work.. initially I thought it was vmware causing it but I now cast my doubts especially with sometimes having to navigate under vm instead of using arrow keys I have to use numpad keys such as 8, 4, 6, 2
[09:55] <tavasti> did you get new usb mouse, which did not have ps/2 adapter?
[09:56] <tavasti> if mouse is delivered without ps/2 adapter, then that may not be possible to use it with ps/2 adapter
[09:56] <psycho_oreos> yeah I got a new usb back a fair weeks ago but its a logitech mouse.. the dell mouse kinda came off a computer that I got it fora real bargain
[09:56] <psycho_oreos> for a*
[09:57] <psycho_oreos> that maybe true but what about the keyboard? :)
[09:57] <tavasti> I would have dozens of spare ps/2 mouses, but I suppose you are too far away :-)
[09:57] <psycho_oreos> I mean the keyboard according to lsusb -vv shows max power draws 50mA
[09:57] <tavasti> multimedia keyboards can be non std compatible
[09:58] <tavasti> they may need driver in windows also
[09:58] <psycho_oreos> nah its not an issue with mouse :) I was using mouse as a test.. I'm still using the same mouse.. I just wanted to test to see if the adapter works
[09:58] <psycho_oreos> nah they work under xubuntu for most parts
[09:59] <psycho_oreos> even the multimedia keys, most works well
[09:59] <tavasti> some of them don't
[09:59] <tavasti> most of them do
[09:59] <psycho_oreos> the only problem was stuff like L + Ctrl and L + Shift.. it works occasionally which is an unusual behaviour if you asked me.. I double-checked that with xev
[10:00] <psycho_oreos> yeah
[10:00] <psycho_oreos> I'm not too worried about multimedia keys not working, but basic keys must work or I can't navigate around easily
[10:01] <psycho_oreos> stuff like Ctrl_L and Shift_L, those are basic stuff when I have to switch between virtual terminals and using firefox for example
[10:01] <psycho_oreos> I can't work with Ctrl_R and Shift_R all the time, it gets annoying
[10:02] <psycho_oreos> luckily I have spare ps/2 keyboards.. and I tested it out again, it works fine under xubuntu 8.10 live so it'll work when I reboot it back into xubuntu 8.10
[10:04] <psycho_oreos> I think I still do have some old ps/2 mouse but yeah they're all beside the point
[10:04] <Slonkie> Hello, i installed deluge yesterday and i want to make it my prefered .torrent application, can anyone help me with that??
[10:04] <psycho_oreos> maybe remove other torrent clients? ;)
[10:05] <Slonkie> I don't think that'll do it
[10:06] <psycho_oreos> well that may remove the binds, saves some space and at least you can somehow set deluge as your preferred torrent client
[10:15] <psycho_oreos> tavasti, lol still no go with those keyboard bindings under vm but oh well, least I got the basic keys working, hopefully they will last or I'd get annoyed
[10:16] <SiDi> torrent clients ?
[10:16]  * SiDi is developing a BitTorrent client :D
[10:17] <SiDi> Slonkie: right click a torrent file, go to properties, open with and choose deluge
[10:17] <SiDi> and by the way, Deluge is not as complete as Transmission afair
[10:25] <mnemoc> hi, I'm using 8.10+jeromeg's ppa. If I enable composite vlc crashs and gxine displays a black box. is there any fix for this?
[10:26] <cody-somerville> You'll have to ask jeromeg
[10:27] <Slonkie> But SiDi that dosn't make it the prefered on in firefox
[10:28] <SiDi> Slonkie: go to firefox, preferences, content tab, and there is a place where to chose what apps to use
[11:00] <mnemoc> cody-somerville: when does jeromeg usually come to irc?
[11:00] <cody-somerville> not sure
[12:07] <Niunio> Hello
[12:08] <Niunio> Can somebody send me the "/etc/apt/sources.list" file?
[12:08] <TheSheep> !easysource
[12:08] <TheSheep> !sources
[12:09] <Niunio> I know, I know...
[12:09] <Niunio> I'll explain myself.
[12:10] <Niunio> I did installed Ubuntu but my comp. was too slow so I instaled Xubuntu desktop.
[12:10] <Niunio> It works but when I upgrade some stuff it uses Ubuntu's settings not Xubuntu's ones.
[12:11] <Niunio> I want to modify the sources.list so it gets all packages from Xubuntu no Ubuntu.
[12:11] <Niunio> I don't want to install everything again. :(
[12:11] <TheSheep> ubuntu and xubuntu use the same repository
[12:11] <TheSheep> what settings do you mean?
[12:11] <Niunio> Oh...
[12:12] <Niunio> I upgraded from 7.10 to 8.04 and it changes everything to Ubuntu.
[12:12] <TheSheep> "everything" is a very vague term
[12:13] <Niunio> Configuring and installing tools.
[12:13] <TheSheep> tools?
[12:13] <Niunio> mmm...
[12:13] <Niunio> Sorry, I'm Spanish and we call it "tools" ("Herramientas")
[12:13] <Niunio> Adept.
[12:14] <TheSheep> adept is from kubuntu
[12:14] <Niunio> User configurations.
[12:14] <TheSheep> anyways, both ubuntu and xubuntu use the same configuration for the package managers
[12:14] <TheSheep> you can choose whether you want ubuntu or xubuntu at the login screen...
[12:16] <Niunio> Then, how can I uninstall any Gnome and KDE application doesn't used by Xubuntu and prevent that the upgrade installs it again when I upgrade to next version?
[12:16] <TheSheep> uninttall ubuntu-desktop and kubuntu-desktop packages
[12:16] <TheSheep> and run autoremove after that
[12:17] <Niunio> Ok. I'll try now.
[12:19] <Niunio> Fixed (I think). Thanks.
[12:19] <Niunio> :)
[13:29] <jdn> is there a way to check what graphics driver is in use for X (the x.org conf, looks realy empty here in 8.10)?
[13:29] <gorgut> jdn: check /var/log/Xorg.0.log
[13:32] <jdn> gorgut: thanks will do
[13:32] <gorgut> jdn: here's what mine looks like. That log is kinda confusing.  http://paste.ubuntu.com/134218/
[13:34] <jdn> it is, but it looks like the intel module's getting loaded
[13:34] <jdn> just wanted to make sure that vesa wasn't my problem
[13:35] <jdn> I've got my hands on one of the industrial grade fanless msi windbox things (think ugly black, and blends well mounted on a monitor)
[13:35] <jdn> I'm trying to turn it into a thin client to connect to my windows server 2008
[13:35] <jdn> using RDP
[13:35] <gorgut> i see
[13:35] <jdn> I'm getting problems with RDP though, that I don't have with more powerful computers, when one aplication runs that refreshes the bitmaps it maxes out CPU
[13:36] <gorgut> well, that's a bit over my head :)
[14:09] <jdn> any idea on how to force the vesa driver?
[14:10] <gorgut> if I had to guess, it'd be to put it in xorg.conf
[14:10] <gorgut> but, again, that's just a guess
[14:33] <gorgut> jdn: have you set up any Wyse thin clients with ubuntu?
[14:35] <jdn> You can't install ubuntu onto wyse
[14:35] <jdn> that I know of
[14:35] <gorgut> oh ok
[14:35] <jdn> My server backend is windows server 2008
[14:35] <gorgut> I have one lying around, didn't know if it was useful or not
[14:35] <jdn> very useful
[14:35] <jdn> I bought a buncha 3225LE's off ebay for like 12bucks
[14:36] <jdn> They have some refresh issues with one of my aplications
[14:36] <gorgut> yeah, this one is pretty old. It's got windows firmware on it
[14:36] <jdn> most of the old ones will support VNC
[14:36] <gorgut> i was thinking of maybe using metasploit to try and hack it
[14:36] <jdn> not the greatest but it works
[14:36] <gorgut> it's got an old version of IE on it
[14:36] <jdn> lol
[14:36] <gorgut> would be nice if I could get the thing to boot from my USB, but didn't appear to work the one day I tried it
[14:37] <jdn> I just uninstalled the X.org intel drivers to force the vesa driver
[14:37] <jdn> Nah, they may be ARM also
[14:37] <jdn> I doub't the're even x86
[14:37] <jdn> CE supports all kinda of exotic things besides x86
[14:37] <gorgut> has ubuntu been ported to run on arm processors?
[14:37] <jdn> as much as I love linux, trying to get RDP to work on it properly is making me annoyed
[14:40] <ifireball> what is the default mail client in xubuntu?
[14:40] <Myrtti> thunderbird I guess
[14:44] <ifireball> doesn't seem to be lightweight enough in my book, then again xubuntu isn't all that lightweight now days....
[15:04] <Slonkie> Hi, i'm having some trouble using java in firefox, i installed java <IP_ADDRESS> from the firefox addons section. But still it dos'nt work. Do you guys have any suggestions on how to fix this?
[15:05] <SiDi> remove everything and install sun-java6-jre
[15:05] <SiDi> it should work then
[15:06] <Slonkie> in firefox ?
[15:06] <SiDi> From Add/Remove or synaptics
[15:06] <SiDi> or by typing "sudo apt-get install sun-java6-jre"
[15:06] <SiDi> but first, remove any Java/OpenJDK to avoid conflicts
[15:08] <Slonkie> it sais "Cant remove" in add/remove
[15:08] <Slonkie> is there a way to do it in the terminal?
[15:08] <SiDi> sec
[15:08] <SiDi> type "aptitude search openjdk"
[15:09] <SiDi> and for each one with a i in front of the name, type "sudo apt-get autoremove --purge <packagrname>"
[15:09] <SiDi> then "aptitude search sun-java" and do the same for all
[15:09] <SiDi> and then install sun-java6-jre
[15:09] <Slonkie> thanks imma try it :)
[15:09] <SiDi> btw when it says "cant remove", you can also do it via synaptics
[15:10] <SiDi> Add/Remove window doesnt manage dependencies and virtual packages aswell as Synaptics package manager
[15:16] <Slonkie> apparently that dident help either :(
[15:19] <SiDi> throw the pc through the window then
[15:20] <SiDi> it'll be scared and obeish next time
[15:20] <Slonkie> :P
[15:20] <SiDi> what is it that you're trying to run ?
[15:21] <SiDi> http://www.java.com/fr/download/installed.jsp
[15:21] <SiDi> reminds me i should install it, too
[15:25] <Slonkie> I'm trying to connect to my web bank
[15:27] <Myrtti> Slonkie: which bank?
[15:27] <Slonkie> Amagerbanken
[15:27]  * Myrtti knows one Finnish bank that's impossible to get to work on 64-bit systems
[15:29]  * Slonkie havent got 64-bit system
[15:48] <st3f83> hi
[15:49] <st3f83> is there anybody out there? :) (may anybody can help me with the first xubuntu run?)
[15:50] <Slor> what sorta help you need?
[15:50] <st3f83> oh, thanks!
[15:50] <Slor> plenty of folks here
[15:50] <st3f83> I have just installed xubuntu on my machine
[15:50] <st3f83> and I have a slave hard disk that I can't see
[15:51] <Slor> meaning you can't find it to partition it?
[15:51] <st3f83> (internal hd)
[15:52] <st3f83> no, I can't find the disk
[15:52] <Slor> "find it where?"  Just trying to understand where you're looking for it.
[15:53] <st3f83> in home
[15:53] <Slor> Is this drive already formatted by a previous OS?
[15:54] <st3f83> uh...maybe the problem is that is formatted in ntfs?? :S
[15:54] <Slor> Ok, a secondary drive won't just "show up" in your UI.
[15:55] <Slor> If you want that partition to be mounted somewhere, you need to get an entry in your fstab for it or mount it manually.
[15:56] <st3f83> ok, so I can do that from the terminal with mnt?
[15:56] <Slor> yes.
[15:56] <st3f83> oh, thank you!
[15:56] <Slor> with "mount"
[15:57] <st3f83> It's been a long long time since I don't use lnux! :)
[15:57] <Slor> if you use "mount -t ntfs ...", you'll have a shot
[15:58] <Slor> and the partition to mount is likely /dev/hdb1 or /dev/sdb1
[15:59] <st3f83> thanks a lot
[15:59] <Slor> e.g. mount -t ntfs /dev/hdb1 mymountdir
[15:59] <Slor> as superuser, where mymountdir is some empty directory
[16:00] <Slor> I don't know offhand if ubuntu allows writing to ntfs volumes these days or not.
[16:00] <Slor> but you should _at least_ be able to see it.
[16:00] <st3f83> I hope!
[16:02] <st3f83> thanks again I'll try when the packages will be installed
[16:02] <vinnl> Slonkie, yep, Ubuntu can write to ntfs
[16:02] <vinnl> !ntfs
[16:02] <vinnl> !ntfs-3g
[16:02] <Slor> nice
[16:03] <Slor> but I'm not Slonkie. :)
[16:03] <Slor> I forgot about the 3g stuff these days - I don't generally need to do ntfs from linux
[16:03] <vinnl> Oops! Sorry Slonkie
[16:04] <Slor> What about "sorry Slor!"
[16:04] <Slor> :)
[16:04] <vinnl> Sorry Slor, you too ;-)
[16:04] <Slor> heh
[16:05] <Slor> For future ref - is there a "master" trigger that will shoot us a list of topics that the bot here can spew info on?
[16:05] <Slor> !topics
[16:06] <vinnl> Slor, I believe http://ubottu.com/factoids.cgi provides them
[16:06] <Slor> cool
[16:23] <st3f83> I have to go now, Thanks for the infos!
[16:23] <fortunev> how do i swap my ctrl and caps key
[16:23] <st3f83> bye!
[16:25] <fortunev> I am using xfce and xubuntu and am having trouble swaping my ctrl and caps keys I have tried using xmodmap in my startup apps, but that did not work either. Any help?
[16:54] <Jan|> my display settings are set to 1440x900@75Hz but my monitor only supports 60Hz refresh rate is it an error?
[17:59] <fortunev> how can I swap my ctrl and caps keys. Tried putting Options "XkbOptions" "ctrl:swapcaps" in my xorg.conf but that did not work. Any help greatly appreciated.
[18:01] <fortunev> how can I swap my ctrl and caps keys?
[18:02] <Daxie> just pull them out of youre keyboard?
[18:02] <Daxie> and swap
[18:03] <fortunev> Paaaaaahahaha.   That is probably the only one I have not already heard. Good one!
[18:03] <charlie-tca> !patience
[18:04] <fortunev> I will have a look. Thanks
[18:05] <charlie-tca> Not a lot of point repeating the questions. If someone knows the answer, they will help you as soon as they can. Many of the people are working a real job,
[18:05] <charlie-tca> and monitoring this at the same time.
[18:05] <fortunev> I see.... my apologies.
[18:06] <knome> some of us are even working on this an monitoring their real job at the same time.
[18:06] <fortunev> I woudl be one of those...
[18:09] <Daxie> have you check the forums add ubuntu?
[18:10] <fortunev> yes. I see the same two answers, neither seem to work 1 use autostart with xmodmap and an .xmodmaprc 2 use xorg.conf with Options. no joy with either
[18:11] <charlie-tca> You said you changed the keyboard shortcuts. I wonder if you have to change that in Window Manager -> Keyboard
[18:13] <charlie-tca> I don't know if it is even possible, are the codes correct that you tried?
[18:13] <fortunev> verified them a few times. It works under Gnome but not Xfce
[18:14] <charlie-tca> You might have to ask that one in #xfce then. They are the developers for xfce.
[18:15] <fortunev> Ok I'll try their. Thanks.
[18:15] <charlie-tca> Good luck
[18:16] <tingle> arround what date will the new xubuntu be released?
[18:16] <charlie-tca> April 23
[18:17] <tingle> charlie-tca: ty
[18:17] <charlie-tca> You are welcome
[18:39] <gorgut> Is there a way to fix function keys on my dell latitude D600? Whenever i change the brightness (using Fn+up) it makes the keyboard unusable
[18:51] <fortunev> the solution to my ctrl caps swap was to put the xmodmap command in my .xinitrc file. THanks for your help and patience.
[18:56] <charlie-tca> Great. Glad you got a solution... and you are welcome
[23:04] <Borg7-9> is xfce gnome based and lxde kde based?
[23:23] <knome> no.
[23:23]  * charlie-tca said that, too, but he left 1 minute after asking
[23:24] <knome> right
[23:24] <knome> i have ignored quits and parts.
[23:24] <knome> maybe i shouldn't have
[23:24] <charlie-tca> I turned mine back on
[23:24] <knome> right..
[23:24] <knome> unignored as well.
[23:25] <charlie-tca> pain in the *** , but sometimes helps
[23:25] <knome> yes.
[23:46] <rocko> hello
[23:46] <rocko> how are everyone today?
[23:53] <cjae> anyone know why I cannot write to my external hdd (ntfs) with ntfs-3g and ntfsconf installed, only allows writes as root
[23:56] <zoredache> when you mount the drive as root, only root will have access.  You should be able to set a umask/dmask.  I also believe, that With fuse setup right you should be able to mount it as your normal account.


[12:20] <defendguin> st3: is fstab still used or is there a better way to make sure that a partition is always mounted at a certain place?
[12:37] <TheMuso> c
[12:37] <TheMuso> ugh
[01:31] <st3> defendguin, well, i don't see any reason for not using fstab
[01:32] <defendguin> for some reason i kept thinking there were more high level ways i could manage that procedure
[01:33] <defendguin> i thought it could be handled by the gnome partition editor but i was mistaken
[01:40] <st3> don't choose high level when low level is human readable and just works :)
[01:41] <defendguin> st3: well i could add a new user manually but it is better not to because if i do he won't appear in the user picker in gdm and i can't manage his rights with any high level tool
[02:02] <st3> well, that's a gdm fault
[02:02] <defendguin> yeah
[02:03] <st3> i usually don't use X, so no idea :)
[02:03] <defendguin> you would think gdm and the gdm config tool would know better
[02:03] <defendguin> must stink to browse the web without x
[02:04] <defendguin> and your missing out on all the wobbly windows
[02:07] <st3> i didn't say i never use X, i usually don't
[02:07] <st3> well, my graphics card isn't as powerful as needed for displaying wobbly windows :)
[02:48] <holycow> hey guys
[02:48] <holycow> i'm looking at buying this device and puttinhg ubuntu on it:
[02:48] <holycow> http://www.dynamism.com/u8240/main.shtml
[02:49] <holycow> it has a Intel Pentium A110 800MHz
[02:49] <holycow> can anyone comment on kernel support for the cpu in any regard?
[02:49] <holycow> i'm willing to be a guinea pig if any kernel devs need that as a testing platform
[02:50] <holycow> the chipset is right tho so it should be allright
[02:54] <mjg59> Should be nothing special about the kernel at all
[02:54] <holycow> just reading more on that cpu as i've never heard about it, just looks like lower clocked pentium m cpus
[02:54] <holycow> so indeed
[03:00] <holycow> mjg59, thanks for the heads up, i'll do a writeup when i get the device on the installation process
[03:06] <defendguin> hey mjg59   this person found a work around for this bug but what needs to be done to fix this for gutsy?   https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/86820
[03:57] <mjg59> defendguin: Should already be fixed in gutsy, I believe
[04:01] <defendguin> would it work to test that with a liveCD?
[04:02] <mjg59> Once they exist, yeah
[04:02] <defendguin> fair enough.  Thanks
[06:04] <pwnguin> strange question: what's the "right" way to bring a newer kernel into a feisty install?
[06:05] <crimsun> #ubuntu question.  I'll address it there.
[06:05] <pwnguin> i already asked it twice in there, but okay
[08:58] <koresko> I'm looking for a kernel that can see 1 GB of RAM on x86.  Generic sees about 750M.
[08:59] <koresko> Is it necessary to recompile the kernel? Hopefully not - 1 GB is the memory size of about half the laptops I saw when shopping for this one a few days ago.
[08:59] <Mithrandir> -generic sees 1.5GB for me on i386
[08:59] <crimsun> what Mithrandir said.
[09:00] <Mithrandir> at least the kernel from 7.04
[09:00] <Mithrandir> I am fairly sure at least 6.10 and 6.06 did the same.
[09:00] <crimsun> I just verified on 2.6.20-16-generic and 2.6.22-5-generic
[09:01] <koresko> Hm, I wonder if I have a bad BIOS setting or something.  Should I try mem=1024M on the commandline?
[09:01] <koresko> This is with the very latest Feisty kernel, running on a Turion64 laptop (Acer Aspire 5100).
[09:02] <Mithrandir> sounds weird.  Check that the machine sees all the memory in the bios?
[09:02] <koresko> Hm, good point.  I will have to reboot but will do that.
[09:04] <koresko> Hang on, rebooting... should be back in 5 minutes.
[09:11] <koresko> Ah, OK, I made a bonehead mistake!
[09:12] <koresko> The problem was that the BIOS had allocated 256 MB to the onboard video card.  I reduced it to 64 MB, and now the kernel sees 969 MB.
[09:12] <koresko> I was confused because when I upgraded my desktop box from 0.5 to 1.0 GB I needed to rebuild the kernel with the high memory option enabled, else it only saw about 750 MB of memory.
[09:13] <koresko> That was under Gentoo.
[09:13] <Mithrandir> makes sense, then
[09:14] <koresko> I was afraid I was going to have to maintain my own kernel... the reason I'm running Ubuntu instead of Gentoo on this machine is mostly to do with the fact that it doesn't need as much effort to maintain it.
[09:16] <koresko> Anyway, thanks for confirming that it was *supposed* to work - else I'd probably have built my own kernel and still been stuck.
[09:17] <koresko> But now I realize that I don't get any benefit from having 3.5 GB of swap, since the virtual is limited to 4 GB, right?
[09:37] <cbx33> hi guys....
[09:37] <cbx33> I'm getting this error
[09:37] <cbx33> runaway loop modprobe binfmt-464c
[09:37] <cbx33> but not all the time
[09:37] <cbx33> just occasionally
[09:38] <cbx33> i saw on some threads it could be because I'm running 32 bit on 64 arch?
[09:38] <cbx33> but this machine has happily ran through dapper and edgy and normally feisty
[09:38] <cbx33> I sometimes get an error about pnpbios failing
[09:39] <cbx33> and that's usually the start of the problems
[09:39] <cbx33> anyone got any ideaS?
[09:52] <cbx33> hmmm
[09:52] <cbx33> could have been a dodgy ram chip
[11:03] <st3> koresko, no, it's not limited to 4G
[11:03] <koresko> st3: Really? Even on x86?
[11:04] <st3> my kernel configuration:
[11:04] <st3> CONFIG_HIGHMEM4G=y
[11:04] <st3> # CONFIG_HIGHMEM64G is not set
[11:04] <st3> Mem:   1018228k total,   776696k used,   241532k free,        0k buffers
[11:04] <st3> Swap:  4882724k total,   273164k used,  4609560k free,   280560k cached
[11:05] <koresko> Hm, interesting point.  But 32 bits can only address 4G, right?
[11:05] <koresko> Or are you running a 64-bit kernel?
[11:05] <st3> i'm running a 32 bit kernel on an old 32 bit processor
[11:05] <crimsun> Pentium Pros and newer support PAE.
[11:06] <st3> right
[11:06] <koresko> I see.
[11:06] <koresko> Can you actually use more than 4G of virtual?
[11:06] <st3> (no need for PAE to have large swap, though)
[11:06] <st3> sure
[11:07] <koresko> I don't understand how it is addressed... Oh, maybe there is a 4G limit per process and the kernel swaps things around to make that work.
[11:07] <st3> no, that's entirely kernel managed of course
[11:08] <koresko> OK, but then what is the point of 64 bits?
[11:08] <mjg59> You can't have more than 4GB of virtual on x86, no
[11:09] <koresko> mjg59: Hm, so how is is that st3's machine is showing nearly 5G?
[11:09] <koresko> I am completely confused now.
[11:10] <st3> bahaha, do you want me to allocate them all?
[11:11] <koresko> st3: I was wondering what would happen if you tried that.
[11:11] <st3> wait
[11:11] <mjg59> PAE lets you have more than 4GB of physical space
[11:12] <mjg59> But per-process, you're still limited to 4GB
[11:12] <mjg59> (Well, 3 really)
[11:12] <koresko> Ah, I thought it might be something like that.
[11:13] <koresko> Well, the biggest program I run routinely uses about 900M, so I'm covered!
[11:19] <st3> ok, i'm almost done...
[11:20] <koresko> I'm going to bed.  Pretty late here.
[11:20] <st3> i'm allocating<PHONE_NUMBER> bytes (note the final 7)
[11:20] <koresko> Thanks for your help!
[11:20] <koresko> Hm, why that specific number of bytes?
[11:21] <st3> it's 2^32+1
[11:21] <koresko> Ah, I see!
[11:21] <koresko> So... any smoke?
[11:22] <st3> no
[11:22] <st3> it works ok
[11:22] <koresko> And you did this in one process?
[11:22] <st3> no, two ones
[11:22] <koresko> Ah, OK.
[11:22] <st3> (a process is limited to 2^30*3-1 or something like that)
[11:23] <koresko> That makes sense.
[11:23] <koresko> Some of the address space (1G) is reserved for the kernel, right?
[11:23] <koresko> There used to be a config option to control where the split went.  I think the default was 2G/2G kernel/user.
[11:24] <st3> iirc, the default was 1G/3G
[11:24] <mjg59> Yes, 1:3
[11:24] <mjg59> Some of the address space is used to refer to the physical address space
[11:24] <koresko> Hm, I vaguely remember that being the optional setting.
[11:24] <mjg59> Moving it lets you use more RAM without needing HIGHMEM
[11:26] <koresko> OK, I think I see.
[11:32] <koresko> Bedtime!  Thanks again for the info.  It's hard to find this even via Google (I tried).  The kernel docs themselves are a bit terse.
[11:56] <tepsipakki> hum, I merged ndiswrapper before checking out the version in kernel..
[01:20] <lifeless> what would cause a drive to flip-flop between sda and hda on boots ? (not every time, but its not consistent)
[01:39] <shawarma> Didn't there used to be a restricted-modules package that corresponds to the server images?
[02:00] <Cheka> hey folks... if i wanted to profile the linux networking stack how would i go about it ?
[02:17] <BenC> Cheka: netperf?
[02:18] <Cheka> netperf will tell me the throughput, but i'm more interested in the length of packet processing at each stage
[02:18] <Cheka> i.e. hardware interrupt, ip processing, tcp processing etc
[02:22] <BenC> that's more like normal kernel perf stuff
[02:22] <BenC> oprofile I think is what you want
[02:22] <BenC> I also don't know if you can get the granularity you're expecting, in regards to ip vs. tcp processing time
[02:23] <Cheka> i've used another profiler and it shows the amount of time spent in the kernel, but as you said not to the granularity that i want :(
[02:43] <zul> BenC: is there still a meeting today?
[02:43] <BenC> zul: yep
[02:44] <zul> okies
[02:44] <zul> whats on the agenda?
[02:45] <zul> er never mind
[02:57] <Mithrandir> hm, the 3ware 9550SX-12MI should be well supported, shouldn't it?
[02:57] <Mithrandir> and is a decent controller?
[03:00] <thom> Mithrandir: yeah, works pretty well for us
[03:00] <thom> just make sure you get BBUs! :-)
[03:01] <Mithrandir> battery backups, yeah.
[03:01] <Mithrandir>  do you have any experience with the Areca ARC-1130?
[03:01] <thom> (the 9550 disables write cache utterly and irrevocably with no BBU)
[03:01] <thom> we had a couple of arecas and they were dreadful
[03:02] <Mithrandir> ok, good to know.
[03:02] <thom> but that was on oldish RHEL
[03:02] <Mithrandir> the 3wares are cheaper, so it's not a hard choice to make.
[03:02] <Mithrandir> by about the price of the battery
[03:03] <thom> heh
[03:16] <kylem> Mithrandir, all 3ware controllers are pretty good.
[03:16] <kylem> if you can live with their custom ODF.
[03:17] <Mithrandir> I'm pondering using them as a JBOD and use the swraid layer
[03:31] <maswan> Mithrandir: we had rather bad experiences with areca too, 3wares are stable for us.
[03:31] <kylem> Mithrandir, are you sure they don't use their own ODF with JBOD too?
[03:31] <Mithrandir> kylem: no, but I'd think it less likely
[03:31] <kylem> hmm.
[03:31] <Mithrandir> maswan: ok, thanks.  That settles it.
[03:32] <kylem> Mithrandir, i don't trust areca... their driver people are... perhaps we should talk in private. ;-)
[03:32] <Mithrandir> that bad?
[03:33] <kylem> no comment.
[03:33] <maswan> I _think_ I've moved between !3ware and 3ware for md raid5 devices
[03:33] <maswan> yeah, started out a raidset on sata_sil, then changed to 3ware for stability
[03:34] <kylem> yeah, 3ware are top notch in the prosumer. raid controller business.
[03:34] <Mithrandir> ok, coolie
[03:58] <st3> Cheka, iperf?
[03:59] <Cheka> does that give me detailed statics of the network code or just the network throughput?
[04:02] <st3> "Iperf is a tool to measure maximum TCP bandwidth, allowing the tuning of various parameters and UDP characteristics. Iperf reports bandwidth, delay jitter, datagram loss."
[04:04] <Cheka> yeh, that's what i thought, i'm more interested in how long the the packet is in each layer, say the ip processing (i.e. the ip_output.c functions or whatever)
[04:23] <zul> whoops...I brought down the network at work
[08:16] <fdoving> did anything special change from 2.6.20 to 2.6.22 that would make my trackpoint die? (latitude d620)
[10:57] <keturn> fdoving: maybe it's the season for trackpoint death?  the thing on my inspirion 4000 died, but booting older software doesn't bring it back, so I'm assuming it was hardware gremlins.
[11:01] <fdoving> keturn: well, this machine is pretty new. and it works with the feisty kernels :)
[12:08] <victory747> Hi, I just upgraded feisty to 2.6.20-16.  Previously (2.6.20-15 and earlier) my IDE hard drive always showed up as /dev/sda.  Now, suddenly with this new kernel it shows up as /dev/hda.  Is this a known problem?


[01:53] <guiverc> ubuntu-bug isn't opening firefox for me on jammy daily (lubuntu)... anyone else have that?
 Yes can confirm - get firefox :not found error.. (re @ubuntu_bridge_Bot: (irc) <guiverc> ubuntu-bug isn't opening firefox for me on jammy daily (lubuntu)... anyone else have that?)
[05:47] <guiverc> thanks @Leokolb
[09:27] <lotuspsychje> PaulW2U: regarding your workspaces bug, the only thing journal spits on my side are these anymore; apr 03 11:26:06 R00TB00K gnome-shell[3657]: Object 0x7fee900b92d0 of type IBusText has been finalized while it was still owned by gjs, this is due to invalid memory management
[09:27] <lotuspsychje> i wonder if you also get these and result into so many memory is crashes?
[09:54] <PaulW2U> lotuspsychje: Could be. I see up to 10 of those errors in my journal every time I start an application
[09:58] <PaulW2U> And another crash when trying to replicate bug 1967661 (why I logged out so suddenly)
[10:22] <lotuspsychje> PaulW2U: i cant to see to make it crash on my side
[10:24] <PaulW2U> I suppose that's good. I spent the whole of yesterday re-installing and setting up so surprised I'm still seeing so many problems
[10:26] <lotuspsychje> thats on intel graphics right PaulW2U ?
[10:26] <PaulW2U> It is
[10:31] <lotuspsychje> PaulW2U: what about an htop running while you drag to worskspaces?
[10:34] <lotuspsychje> PaulW2U: or additional extensions that might crash gnome?
[10:35] <PaulW2U> Might try those later...
[10:35] <lotuspsychje> kk


[01:17] <davechen1y> niemeyer: you make a good point
[01:17] <niemeyer> For context,
 http://codereview.appspot.com/6497057/ is my proposal
 I suspect it's a bit more involved than that
 As the comment suggests, we should only push secrets when they are not yet set, and should push *only* secrets
 should we take this to the chhanel ?
 Sure
[01:17] <davechen1y> niemeyer: what happenes currently is AllAttrs - SecretAttrs are pushed on bootstrap
[01:17] <davechen1y> so, with 6497057
[01:18] <davechen1y> the set of attrs not pushed would only be the secrets
[01:18] <davechen1y> but this is only by coincidence, not design
[01:18] <niemeyer> davechen1y: Hmm.. I'm not sure I understand what that means
[01:18] <niemeyer> davechen1y: That's what have been aiming at
[01:18]  * davechen1y finds code
[01:19] <niemeyer> davechen1y: Also, it's not true that we currently push AllAttrs-SecretAttrs.. it will be so once wrtp's branch goes in with the fix, though
[01:19] <davechen1y> niemeyer: hmm, there are unit tests that check this
[01:20] <davechen1y> certainly up to the point that they are yaml encoded and passed to cloudinit.Config
[01:20] <niemeyer> davechen1y: If we have unittests for this, they're broken or not being run
[01:20] <niemeyer> davechen1y: https://codereview.appspot.com/6500052/diff/2001/environs/ec2/ec2.go
[01:20] <niemeyer> davechen1y: Line 132 of the left-hand side
[01:24] <davechen1y> niemeyer: http://codereview.appspot.com/6458161/patch/17001/15007
[01:30] <niemeyer> davechen1y: Sure, it works because updateSecrets is broken, right?
[01:30] <niemeyer> davechen1y: The configuration being tested there is after updateSecrets has set everything over agian
[01:30] <niemeyer> sent
[01:31] <davechen1y> niemeyer: yes, you are correct
[01:32] <davechen1y> niemeyer: http://codereview.appspot.com/6458161/diff/17001/state/state_test.go?column_width=80, rhs, like ~ 88
[01:32] <davechen1y> that doesn't go through the conn
[01:32] <davechen1y> so the problem must be the handoff to jujud bootstrap-state via cloudinit
[01:32] <niemeyer> davechen1y: I'm not entirely sure about what you're trying to show me.. the test contains the full configuration..
[01:33] <niemeyer> davechen1y: The problem is in the exact line I've shown you above, and wrtp's branch fixes it
[01:34] <davechen1y> cool, i'll wait for it to lang
[01:34] <davechen1y> land
[01:36] <niemeyer> davechen1y: You can also use it as a pre-req if you'd like to build on it
[01:36] <niemeyer> davechen1y: It's already approved
[01:36] <davechen1y> sweet, will do
[02:11] <niemeyer> OK: 1 passed
[02:11] <niemeyer> PASS
[02:11] <niemeyer> ok      launchpad.net/juju-core/mstate/presence 1.111s
[02:11] <niemeyer> !!!!!
[02:11] <niemeyer> On that note, I'm heading to bed as tomorrow will be an early day
[02:11]  * davecheney opens the champaign
[02:11] <niemeyer> davecheney: I wish I could enjoy it with you :)
[02:12] <davecheney> TO LISBON!
[02:12] <niemeyer> davecheney: Oh yeah!
[02:12] <davecheney> MOAR PORT WINE
[02:12] <niemeyer> SO TRUE
[02:12] <niemeyer> 8)
[02:12] <niemeyer> 'davecheney: Have a great working day, and will see you in a bit!
[02:12] <davecheney> will do
[02:12]  * niemeyer takes off
[03:02] <davecheney> common LP, you can do it
[03:02] <davecheney> % lbox propose
[03:02] <davecheney> error: Failed to load data for project "juju-core": Get https://api.launchpad.net/devel/juju-core: unexpected EOF
[04:59] <wrtp> davecheney: mornin'
[05:15] <davecheney> wrtp: hody!
[05:15] <davecheney> can you commit your bootstrap branch
[05:15] <davecheney> so I can unfuck my cross branch that requiresit
[05:15]  * davecheney hates prereqs so much
[05:16] <wrtp> davecheney: sorry for stepping on your toes with the provisioner fix - i'd done the fix before i checked the bug and found it was InProgress
[05:16] <wrtp> davecheney: am just about to submit
[05:16] <davecheney> wrtp: no appology needed
[05:16] <davecheney> don't care, it's fixed :)
[05:16] <wrtp> :-)
[05:16] <davecheney> i have a secrets only branch to follow
[05:16] <wrtp> davecheney: it was great that you'd added the last "happens in the wild" comment to the bug report
[05:17] <wrtp> davecheney: 'cos otherwise i wouldn't have found the other firewaller bug
[05:17] <davecheney> wrtp: also, nice use of the watcher inside the provisioner test
[05:18] <wrtp> davecheney: it was a little more involved than perhaps it should be, but i hate fuckin' timeouts
[05:19] <wrtp> davecheney: we have far too many tests that rely on waiting for arbitrary time periods
[05:20] <davecheney> wrtp: 110% agree, see my whinge about https://bugs.launchpad.net/juju-core/+bug/1037421
[05:20] <wrtp> davecheney: yeah.
[05:20] <wrtp> davecheney: i wonder if we should standardise on using debug log messages to determine "actively doing nothing"
[05:21] <wrtp> davecheney: because that's usually what we're testing when we timeout
[05:21] <davecheney> wrtp: not sure, like it says in the ticket, i haven't looked into _why_ this happens at all
[05:21] <wrtp> davecheney: presence may be different
[05:22] <wrtp> davecheney: i looked at the timing of the presence tests BTW, and it's not that there's one test that's slow - there are many slow tests there.
[05:22] <davecheney> wrtp: 0% cpu usage while it is waiting, i smell timeout
[05:22] <wrtp> davecheney: definitely
[05:27] <wrtp> davecheney: just doing final test after merging trunk, then will submit
[05:27] <davecheney> kk
[05:27] <wrtp> davecheney: the other thing to make tests faster: it would be great if all the tests could use the same state server.
[05:29] <davecheney> wrtp: i cant' see how we could do that in zk, but with mongo probably
[05:30] <wrtp> davecheney: apparently it is possible in zk (you can do the equivalent of chroot) but mongo is more important now.
[05:30] <wrtp> davecheney: submitted
[05:31] <davecheney> wrtp: i guess with mgo it would be some sort of unique prefix on the table names
[05:32] <wrtp> davecheney: i guess.
[05:32] <wrtp> davecheney: BTW do you think that https://codereview.appspot.com/6499056/ is superficial enough to submit without niemeyer's LGTM?
[05:33] <davecheney> wrtp: you have my permission to throw me under the bus if niemeyer objects
[05:33] <davecheney> i've been submitting build fixes without waiting
[05:34] <wrtp> davecheney: i didn't see any buses in lisbon
[05:34] <davecheney> you never say LONGO BUS ?
[05:34] <wrtp> davecheney: oh yeah, one thing: there was a test in firewaller_test that looked like a debugging remnant. see line 81 of https://codereview.appspot.com/6499056/diff/5001/worker/firewaller/firewaller_test.go
[05:35] <wrtp> davecheney: i left it in, but was it there for a particular reason?
[05:35] <davecheney> wrtp: dunno, i didn't write it (i think)
[05:35] <wrtp> davecheney: actually i came from the airport on a bus. you may be in danger.
[05:35] <wrtp> davecheney: frank thought you did actually
[05:35] <davecheney>  s/say/saw
[05:35] <wrtp> davecheney: that bit of it anyway
[05:36] <davecheney> wrtp: fuck it, it's called refactoring
[05:36] <wrtp> davecheney: yeah. i didn't want to leave out tests that actually checked functionality.
[05:36] <wrtp> davecheney: but that just tests that the instance has been started, which we test elsewhere
[05:38] <davecheney> # launchpad.net/juju-core/juju
[05:38] <davecheney> ./conn.go:95: env.Get undefined (type *config.Config has no field or method Get)
[05:38] <davecheney> ./conn.go:96: env.Set undefined (type *config.Config has no field or method Set)
[05:38] <davecheney> ./conn.go:99: env.Write undefined (type *config.Config has no field or method Write)
[05:38] <davecheney> sadface
[05:38] <davecheney> i was using those
[05:44] <wrtp> davecheney: we could add Get.
[05:45] <wrtp> davecheney: i don't think the other two are appropriate though
[05:45] <davecheney> wrtp: what CL changed this
[05:45] <davecheney> i'll get my learn on
[05:45] <wrtp> davecheney: in fact, i wonder if the lack of Write is a problem
[05:45] <wrtp> davecheney: it's been going to happen for ages
[05:45] <wrtp> davecheney: frank did it at niemeyer's request
[05:49] <wrtp> davecheney: right, you're officially at risk
[05:52] <davecheney> wrtp: jolly good
[06:12] <davecheney> wrtp: any idea why this happens ?
[06:12] <davecheney> ubuntu@server-15347:~/go/src/pkg/net/http$ godoc launchpad.net/juju-core/environs/ec2
[06:12] <davecheney> PACKAGE
[06:12] <davecheney> package ec2 import "launchpad.net/juju-core/environs/ec2"
[06:12] <wrtp> interesting
[06:12] <davecheney> tested from a clean checkout
[06:13] <wrtp> davecheney: yes, happens for me too
[06:14] <wrtp> davecheney: but works fine on dummy, for example
[06:14] <davecheney> how odd
[06:15]  * wrtp refuses to get distracted :-)
[06:17] <davecheney> wrtp: i'll lot a bug to figure out WTF that is happening
[06:28] <davecheney> can I test the waters with this CL, http://codereview.appspot.com/6492065/
[06:29] <davecheney> I was playing on canonistack today
[06:29] <davecheney> it is very possible to do a three line install of juju from source from scratch
[06:34] <davecheney> has anyone else run into this issue btw, https://bugs.launchpad.net/juju-core/+bug/1044164
[06:43] <wrtp> davecheney: i think that's a good idea
[06:43] <wrtp> davecheney: i think it's a pity that go get doesn't have a way of asking for testing deps too
[06:44] <davecheney> wrtp: it's kind of a hack
[06:44] <davecheney> but it works
[06:44] <davecheney> and is reasonably self contained
[06:45] <wrtp> davecheney: given the current limitations of go get, i think it's reasonable.
[06:45] <wrtp> davecheney: i've fixed the issue you had above BTW
[06:45] <wrtp> davecheney: (it happens all the time for me)
[06:45] <davecheney> godoc ?
[06:45] <davecheney> or AWS
[06:45] <wrtp> davecheney: sig mismatch
[06:46] <davecheney> do I need to update goamz ?
[06:46] <wrtp> davecheney: i can't remember if i submitted or not
[06:47] <wrtp> davecheney: hmm, maybe i never even proposed it
[06:48] <wrtp> davecheney: ha, i never even committed the change!
[06:48] <wrtp> davecheney: short story: goamz is totally broken currently
[06:48] <wrtp> davecheney: fix: add / to the urls
[06:48]  * davecheney facepalm
[06:49] <davecheney> ah yes
[06:49] <davecheney> bucket.s3.amazon.com is a host
[06:49] <davecheney> bucket.s3.amazon.com/ is a url
[06:49] <davecheney> or something like that
[06:50] <wrtp> davecheney: it signs the path, which should be "/" but is ""
[06:50] <davecheney> right
[06:50] <davecheney> the root of a URL is always tricky
[06:50] <davecheney> well it's not tricky
[06:50] <davecheney> it's very simple
[06:50] <davecheney> but somehow always catches things out
[06:51] <wrtp> davecheney: URLs are fundamentally broken
[06:51] <davecheney> wrtp: no argument there
[06:51] <wrtp> davecheney: we just hobble around the brokenness
[06:51] <wrtp> davecheney: any sequence of slashes should be a separator
[06:51] <wrtp> davecheney: like in unix paths
[06:52] <wrtp> davecheney: mind you, even in unix it's a bit broken: i think cat /etc/passwd/ should work
[06:52] <davecheney> wrtp: not sure I can follow you there
[06:52] <davecheney> is a collection
[06:53] <davecheney>  /index is a resource
[06:53] <davecheney>  / is a collection
[06:53] <wrtp> davecheney: i don't understand that
[06:53] <davecheney> put it this way
[06:54] <davecheney>  / is a dir
[06:54] <davecheney> actually never mind
[06:54] <davecheney> iw as talking cack
[06:55] <wrtp> davecheney: the model becomes really simple if trailing slash (or several) make no semantic difference.
[06:55] <wrtp> davecheney: with root being a special case of course, so that we get relative paths.
[06:57] <davecheney> wrtp: what does cat /etc/ do ?
[06:58] <wrtp> davecheney: depends on the system
[06:58] <davecheney> :)
[06:58] <davecheney> you've used solaris
[06:58] <wrtp> davecheney: once upon a time it gave you the contents of the dir in binary format
[06:58] <wrtp> davecheney: (it still does in plan 9, and i think that's ok)
[06:58] <davecheney> wrtp: i kinda agree
[06:58] <wrtp> davecheney: but the point is {operation /etc/} is the same as {operation /etc}
[06:59] <davecheney> i'm not sure if I want /etc and /etc/ to *be* the same thing
[06:59] <wrtp> davecheney: they are
[06:59] <davecheney> well currently /etc/ isn't, it's an error
[06:59] <wrtp> davecheney: no it's not - it's just fine
[06:59] <wrtp> davecheney: ls /etc/
[06:59] <wrtp> % ls /etc/ | md5sum
[07:00] <wrtp> 910833b8b809292bd85de24a9536df74  -
[07:00] <wrtp> % ls /etc | md5sum
[07:00] <wrtp> 910833b8b809292bd85de24a9536df74  -
[07:00] <davecheney> but then we get to the issue of ls /etc/passwd/
[07:00] <wrtp> davecheney: /etc/passwd/ is just an error because something in the kernel is trying to be clever
[07:00] <davecheney> i try not to be clever, to many things have gone wrong
[07:00] <wrtp> davecheney: or probably because of the way the namec works internally
[07:00] <wrtp> s/the/that/
[07:01] <davecheney> hurry up ec2
[07:01] <wrtp> if it's still called namec any more
[07:01] <davecheney> i wanna propose and get to my friends leaving drinks
[07:01] <davecheney> namec is the function ?
[07:01] <wrtp> in plan 9 you could do cat /etc/passwd/ if /etc/passwd existed :-)
[07:02] <wrtp> davecheney: yeah, it's the kernel name lookup function, or used to be
[07:02] <wrtp> davecheney: probably not under linux
[07:02] <davecheney> damn open sores
[07:02] <wrtp> i may well be remembering very badly :-)
[07:08] <wrtp> davecheney: my memory is indeed faulty. it's namei. http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/sys/sys/nami.c
[07:09] <davecheney> later lads
[07:09] <wrtp> davecheney: cheerio
[08:32] <TheMue> morning
[08:45] <Aram> moin.
[09:09] <TheMue> Aram: hi
[09:31] <TheMue> Aram: how are the watchers doing?
[09:31] <Aram> I ma fighting bugs.
[09:33] <TheMue> Aram: if i can help you let me know.
[09:33] <TheMue> Aram: i'm interested in how they are done now. so any paste is welcome.
[09:33] <Aram> ok, let me bzr push
[09:34] <wrtp> Aram, TheMue, fwereade__: morning
[09:34] <Aram> yo.
[09:34] <fwereade__> wrtp, hey
[09:34] <TheMue> wrtp: good morning, too
[09:34] <fwereade__> hey everyone else too :)
[09:34] <TheMue> fwereade__: and also you ;)
[09:34] <wrtp> i've actually been around for over 4 hours this morning, just forgot to say hello earlier!
[09:35] <Aram> TheMue: lp:~aramh/juju-core/62-mstate-watchers-mux
[09:35] <Aram> look in watchserver.go
[09:35] <Aram> there are bugs, but that's the general idea
[09:35] <TheMue> Aram: great, thx
[09:39] <Aram> some types will change, e.g. will use a chan []genericDoc instead of chan genericDoc, some loops will change from m x n to n x m etc.
[09:39] <Aram> but now I am debugging the thing first.
[09:40] <Aram> ah, there will be e generic unmarshalling function using reflection
[09:42] <Aram> rogpeppe: I forgot how can I run a single test.
[09:42] <rogpeppe> Aram: -gocheck.f pattern
[09:42] <Aram> rogpeppe: thanks, how do I find this information if I need it again?
[09:43] <rogpeppe> Aram: run the test binary with -help
[09:43] <Aram> ah yes, I was running go test itself with -help
[09:44] <TheMue> for standard tests my editor scans the file and provides a shortcut to a menu where all or individual tests can be run. that's nice.
[09:49] <rogpeppe> TheMue: do you remember talking about the possibility of using a single watcher for the EnvironConfig for both provisioner and firewaller?
[09:49] <rogpeppe> TheMue: it looks like it should be ok to me, but i'm not entirely sure.
[09:49] <Aram> btw, in the new watcher implementation, there is a single real watcher. a watch server demultiplexer, so to speak.
[09:49] <Aram> it's only one of those per session.
[09:50] <TheMue> rogpeppe: yeah, we once talked about it. i don't remember anymore why we chosen watchers for each.
[09:50] <rogpeppe> Aram: that sounds like a good move
[09:50] <Aram> it gets the data and distributes it to interested parties
[09:50] <rogpeppe> Aram: i was hoping for something like that
[09:50] <rogpeppe> Aram: in this case though, it's more about saving code than watchers per se
[09:50] <TheMue> rogpeppe: they should reference the same environ, so that one SetConfig() should be enought.
[09:50] <rogpeppe> TheMue: exactly
[09:50] <TheMue> rogpeppe: but there are TWO "should" in that sentence ;)
[09:51] <rogpeppe> TheMue: i think i'll do it. shouldn't be hard. and it removes some moving parts (and hence tests) from the firewaller and the provisioner.
[09:52] <TheMue> rogpeppe: +1
[09:52] <rogpeppe> func NewProvisioner(environ environs.Environ, st *state.State) *Provisioner
[09:52] <TheMue> rogpeppe: it simply sounds more logical
[09:52] <rogpeppe> fwereade__, Aram: does that sound reasonable to you?
[09:53]  * fwereade__ reads back for context
[09:53] <rogpeppe> fwereade__, Aram: using a single shared environs.Environ for the various workers, and having a separate process watching it and updating it when necessary.
[09:53] <fwereade__> rogpeppe, +1
[09:53] <Aram> lgtm
[10:00] <TheMue> Aram: i'm no friend of the reflection based unmarshal idea. ok, it may save a few lines, but we only talk about four internal docs, so your actual way seems fine to me.
[10:29] <Aram> yes! the fix I dreamt last night was correct!
[10:29] <Aram> dreaming fixes has happened before, but not in a long time.
[10:30] <Aram> I tried it in the morning, and thought it didn't work, but my fix was wrong because the zero value of interface{} is nil, not 0.
[10:30] <Aram> but what I have dreamt was correct :).
[10:31] <fwereade__> Aram, nice :)
[10:33] <Aram> "panic: interface conversion: interface is int, not mstate.Life"
[10:33] <Aram> TheMue: ^ ^ this is the reason I want to use reflection, not because it produces less code.
[10:34] <Aram> but because the code is necessarily correct and doesn't break when you change the data model.
[10:34] <fwereade__> conversely, I just spent all frickin' morning delving deeeeep into the guts of the charm manager, trying to figure out what's going on, and I *just* realised it was a poorly merged test :(
[10:38] <rogpeppe> fwereade__: my fault?
[10:39] <fwereade__> rogpeppe, nope, 100% mine
[10:39] <rogpeppe> fwereade__: my commiserations
[10:39] <rogpeppe> fwereade__: i hate it when that happens
[10:39] <Aram> YES! everything works.
[10:39] <rogpeppe> fwereade__: the bright side is you usually come out with a better understanding of everything goingon
[10:39] <Aram> fixed the damn thing.
[10:39] <rogpeppe> fwereade__: and probably made some fixes while you were doing it
[10:40] <fwereade__> rogpeppe, sadly in this case all I have done is come up with a series of ever-more-batshit theories about how git works, and I fear they may pollute my brain for a while ;)
[10:40] <rogpeppe> fwereade__: oh well
[10:40] <Aram> TheMue: you might want to pull again, to see working watchers.
[10:40] <Aram> tests pass now
[10:41]  * fwereade__ cheers at Aram
[10:41] <Aram> it's by far the most complex piece of machinery in mstate, sadly.
[10:42] <Aram> but I am happy with it from many perspectives.
[10:52] <TheMue> Aram: great
[10:52] <TheMue> Aram: and yes, the server is a little monster ;)
[10:52] <rogpeppe> Aram: which piece is this?
[10:52] <Aram> rogpeppe: lp:~aramh/juju-core/62-mstate-watchers-mux
[10:53] <rogpeppe> Aram: i will have a look :-)
[10:53] <Aram> watchserver.go is the real thing, watcher.go is just a quick hack to be able to validate the design.
[10:53] <rogpeppe> environ watchers ripped out of firewaller and provisioner. all tests pass (some new tests needed though). am happy.
[10:54] <TheMue> Aram: btw, I'm just doing the EnvironConfig change for mstate
[10:54] <Aram> TheMue: what change?
[10:54] <TheMue> rogpeppe: great., i hope https://codereview.appspot.com/6488057/ will then still run too
[10:55] <TheMue> Aram: state.EnvironConfig now returns an environs/config.Config and there's an additional SetEnvironConfig
[10:55] <Aram> ok.
[10:55] <TheMue> Aram: test is already working here
[11:01] <rogpeppe> have we got a meeting now?
[11:02] <davecheney> waiting on gustavo and mramm
[11:02] <rogpeppe> davecheney: just a quick query
[11:02] <mramm> I'm on my way
[11:02] <niemeyer> Morning all
[11:02] <niemeyer> Do we have invites sent yet?
[11:02] <mramm> not yet
[11:02] <mramm> that i see
[11:02] <davecheney> rogpeppe:mmm
[11:02] <mramm> inviting everybody now
[11:03] <rogpeppe> davecheney: i decided that it would be a good thing if the provisioner didn't listen for environ config changes itself
[11:03] <rogpeppe> davecheney: so something else listens and changes the environ; everyone uses that environ
[11:03] <rogpeppe> davecheney: does that sound reasonable to you?
[11:03] <davecheney> rogpeppe: why the reason for the change ?
[11:04] <rogpeppe> davecheney: i was going to have to have exactly the same code in three places
[11:04] <davecheney> it sounds like my beloved proxy environ idea :)
[11:04] <rogpeppe> davecheney: no need for a proxy i think
[11:04] <mramm> https://plus.google.com/hangouts/_/4ca5fa037ece34849caa79686808bc9e75cfae19
[11:04] <Aram> ah, meeting today?
[11:05] <rogpeppe> Aram: yup
[11:06] <mramm> https://launchpad.net/juju-core/+milestone/1.3
[11:06] <rogpeppe> fwereade__: meeting?
[11:06] <fwereade__> rogpeppe, whoops, ty
[11:48] <davecheney> Aram: https://wiki.canonical.com/UbuntuEngineering/Sprints/JujuCoreIntegration
[11:58]  * Aram goes to lunch
[12:00] <TheMue> lunchtime
[12:06] <niemeyer>                 case change, ok := <-fw.environWatcher.Changes():
[12:06] <niemeyer>                         err := fw.environ.SetConfig(change)
[12:07] <rogpeppe> niemeyer: http://paste.ubuntu.com/1177699/
[12:22] <davecheney> night guys
[12:35] <niemeyer> rogpeppe: http://pastebin.ubuntu.com/1177736/
[12:46] <niemeyer> rogpeppe: fw.environ = environ
[12:46] <niemeyer> rogpeppe: worker.SetEnvironConfig(fw.environ, config)
[12:49] <niemeyer> rogpeppe: https://codereview.appspot.com/6488057/diff/1/worker/provisioner/provisioner_test.go
[12:52] <niemeyer> rogpeppe: case fw.environTest <- fw.environ: // do nothing
[12:53] <niemeyer> rogpeppe: someworker.SetEnvironWatcher
[12:54] <niemeyer> rogpeppe: someworker.SetEnvironObserver
[12:54] <niemeyer> rogpeppe: someworker.SetEnvironObserver(ch)
[12:54] <niemeyer> rogpeppe: case fw.environObserver <- fw.environ: // do nothing
[13:05] <rogpeppe> niemeyer: http://paste.ubuntu.com/1177767/
[13:11] <rogpeppe> niemeyer: perhaps you could mention to TheMue the thoughts you had on the worker tests, re: the above provisioner_test.go CL.
[13:11] <niemeyer> rogpeppe: Will do
[13:14] <niemeyer> Will get some breakfast first, though!
[13:49] <rogpeppe> niemeyer: are we concerned about what might happen if an upgrade is done concurrently with an environment setting change?
[13:49] <niemeyer> rogpeppe: In which sense?
[13:49] <rogpeppe> niemeyer: would it be acceptable for the upgrade request to be lost, for example?
[13:49] <rogpeppe> (in that case)
[13:51] <niemeyer> rogpeppe: Are you alluding to the race in SetEnvironConfig?
[13:51] <rogpeppe> niemeyer: yeah.
[13:51] <niemeyer> rogpeppe: Not a problem we have to worry for a while, IMO
[13:51] <rogpeppe> niemeyer: well, the race that happens when you must do: EnvironConfig followed by SetEnvironConfig.
[13:51] <niemeyer> rogpeppe: yeah
[13:51] <rogpeppe> niemeyer: ok, i thought so, but just wanted to check explicitly
[13:52] <rogpeppe> niemeyer: thanks
[13:52] <niemeyer> rogpeppe: We should fix that at some point, probably by having a method that enables applying deltas safely, but this is a nice problem for us to have when things actually work
[13:52] <niemeyer> rogpeppe: In practice, fiddling with the env is rare enough that it won't be an issue anytime soon
[13:53] <rogpeppe> niemeyer: definite agreement there. and fiddling with the env *concurrently* is even rarer.
[13:53] <niemeyer> rogpeppe: Yeha
[14:00] <fwereade__> niemeyer, before I polish this properly, can I get another pre-review sanity check on the charm upgrades please? https://codereview.appspot.com/6488062
[14:02] <niemeyer> fwereade__: Sure
[14:02] <niemeyer> fwereade__: I'll just finish something and will be with you
[14:02] <fwereade__> niemeyer, cheers
[14:21] <niemeyer> Flights booked
[14:29] <niemeyer> fwereade__: Haven't reviewed it entirely, but sent some pre-review comments
[14:29] <fwereade__> niemeyer, thanks, that's what I was after -- and sorry to keep bugging you with this one
[14:30] <niemeyer> fwereade__: It still looks like you're fighting with the awkwardness of having the charm manager handling responsibilities which ought to be elsewhere
[14:31] <fwereade__> niemeyer, it seems excessive to me to have to keep *another* state file around to allow the uniter to keep track of what operation it's performing
[14:32] <fwereade__> niemeyer, it feels to me that being able to determine restart state purely from charm state and hook state is a good thing
[14:32] <fwereade__> niemeyer, charm state + hook state + uniter state feels wrong -- especially since IMO charm state and hook state are useful simplifying features
[14:32] <fwereade__> niemeyer, but once we're dealing with uniter state as well they actually become redundant and make life more complex
[14:33] <fwereade__> niemeyer, or have I misunderstod something?
[14:34] <fwereade__> niemeyer, whereas just making sure that the charm op and the hook op overlap STM like the clearest way to ensure that the appropriate ops are followed by appropriate hooks
[14:34] <niemeyer> / charm directory, it returns ErrConflict. cbSuccess will be called before
[14:34] <niemeyer> / status is set from st back to Deployed, to give clients the opportunity
[14:34] <niemeyer> / to complete dependent actions.
[14:34] <niemeyer> fwereade__: This is a hack
[14:35] <niemeyer> fwereade__: This is a charm.Manager..
[14:35] <niemeyer> fwereade__: It has deployed the charm
[14:35] <niemeyer> fwereade__: There are no "dependent actions"
[14:35] <niemeyer> fwereade__: It has done it
[14:35] <niemeyer> fwereade__: No conflicts, no problems.. it's finished its job
[14:35] <niemeyer> fwereade__: It doesn't depend on anything else to say it has finished its job either
[14:36] <niemeyer> fwereade__: We can talk about different ways in which we can solve that, but first thing is to understand what we're doing and why
[14:37] <fwereade__> niemeyer, ok -- what I am trying to do is ensure that a charm operation is always followed by the apropriate hook
[14:38] <fwereade__> niemeyer, ISTM that the two ways to do that are to overlap the operations, so the charm op ends after the hook op has begun; or to add *another* layer of state that's specific to the uniter, which feels redundant
[14:39] <niemeyer> fwereade__: So what you mean is that you'd rather do the whole upgrade again than acknowledge the fact we can tell the merging has been done?
[14:40] <fwereade__> niemeyer, er, I don't think that's what I'm saying at all
[14:40] <niemeyer> fwereade__: That's what's in the code
[14:40] <niemeyer> fwereade__: If cbSuccess fails, we never set the status to deployed, despite the fact it *is deployed*
[14:41] <fwereade__> niemeyer, so what? same thing happens if writing "Deployed" fails
 fwereade__: So what you mean is that you'd rather do the whole upgrade again than acknowledge the fact we can tell the merging has been done?
[14:42] <fwereade__> niemeyer, are yu telling me I should be parsing git logs or something?
[14:42] <niemeyer> fwereade__: No.. I'm telling that we shouldn't have a cbSuccess that prevents us from acknowledging the merge has been done, for purposes that are completely external to the concerns of the Manager
[14:43] <niemeyer> fwereade__: Divide and conquer.. the Manager is doing a lot
[14:43] <niemeyer> fwereade__: We should have a pleasant API to work with, that makes sense by itself
[14:43] <niemeyer> fwereade__: I don't buy that we should be breaking abstractions and injecting that kind of weirdness because we can save a file from being written to disk elsewhere
[14:45] <fwereade__> niemeyer, I am trying, but I don't see the middle ground between what I suggest and dropping independent charm and hook state entirely
[14:47] <fwereade__> niemeyer, if I've got a super-state that tells me how to interpret charm and hook state, doesn't it end up noticeably simpler to simply write every operation out in just one place? ...but then we lose many of the benefits of separating out /charm and /hook
[14:47] <fwereade__> niemeyer, or...... hum, I think I see
[14:48] <fwereade__> niemeyer, the uniter state is basically independent of hook state and exists purely to manage the transition from charm op to associated hook?
[14:49] <niemeyer> fwereade__: Possibly. I'm not even entirely sure (yet) we need an extra state, to be honest
[14:50] <fwereade__> niemeyer, ok -- the problem I am trying to avoid is: write-charm; set-deployed; whoops-we-crashed-before-run-hook
[14:50] <niemeyer> fwereade__: If the uniter decides it needs to upgrade, what happens within the uniter itself?
[14:50] <niemeyer> fwereade__: Yeah, I kind of see it.. I just don't have as good a view on the details as you do
[14:51] <niemeyer> fwereade__: The basic semantics I imagine for the manager, in isolation is: write-charm-and-url, set-deployed
[14:52] <niemeyer> fwereade__: If there is a crash, the uniter should have a mechanism that tells it was going to over a charm upgrade.. it will try to write the charm again, and the manager will go "Ah, don't worry, that's what I have"
[14:53] <niemeyer> fwereade__: What is that mechanism?
[14:53] <fwereade__> niemeyer, the mechanism ATM is charm.ReadState
[14:53] <niemeyer> fwereade__: Okay, maybe we can still keep it like that
[14:54] <niemeyer> fwereade__: If there's really nothing else we need in terms of uniter information to make that decision
[14:55] <fwereade__> niemeyer, well... ok -- but the fact that the charm is deployed is not in itself enough for the uniter to know that it has completed all relevant operations (ie running a ollowup hook)
[14:55] <niemeyer> fwereade__: Yeah, there's a missing state
[14:55] <fwereade__> niemeyer, so it's uniter state? or are you thinking of something else?
[14:56] <fwereade__> niemeyer, or a missing state within an existing set of states?
[14:56] <niemeyer> fwereade__: No, it may be fine to do that within the manager if that makes it simple and doesn't disturb the manager itself
[14:56] <niemeyer> fwereade__: E.g.
[14:57] <niemeyer> fwereade__: Installing, Installed, InstalledAck, Upgrading, Upgraded, UpgradedAck
[14:58] <fwereade__> niemeyer, ah, ok, so the Manager is responsible or writing most o those states but the Uniter writes the Ack states afterwards?
[14:58] <niemeyer> fwereade__: yeah
[14:58] <niemeyer> fwereade__: Or even, Ack()s :-)
[14:59] <fwereade__> niemeyer, honestly that feels like a step back from what I originally proposed -- it smears the charm-state-writing responsibility into 2 places instead of one, and that eels to me like it's harder to ollow?
[14:59] <fwereade__> hm, my F key appears to be flaky, sorry
[14:59] <niemeyer> fwereade__: I'd be glad to understand why you think that's the case
[15:01] <fwereade__> niemeyer, well, beforehand I had a single func (changeCharm) that did all the writing of charm state
[15:01] <niemeyer> fwereade__: :-)
[15:01] <niemeyer> fwereade__: I hope that's not what you're proposing now :)
[15:01] <fwereade__> niemeyer, feels analogous to hook state, which while it's in 2 funcs is at least all in the same package
[15:01] <niemeyer> fwereade__: (as a single function of 300 lines might look bad)
[15:01] <fwereade__> niemeyer, I'm talking specifically about the charm state file
[15:02] <niemeyer> fwereade__: I feel like part of the reason we're having so much trouble is precisely that file
[15:02] <niemeyer> fwereade__: I'd like to kill the idea that we ReadState and WriteState
[15:02] <niemeyer> fwereade__: We have a Manager, that manipulates a charm directory
[15:02] <niemeyer> fwereade__: Anyone that is not the Manager should talk to the Manager to change its state
[15:03] <fwereade__> niemeyer, ah! if we can move all that state-writing into uniter itself, I'd be entirely happy
[15:03] <niemeyer> fwereade__: LOL
[15:03] <niemeyer> fwereade__: I was thinking the opposite :-)
[15:03] <niemeyer> fwereade__: But, tell me about that idea
[15:04] <fwereade__> niemeyer, fuzzily, I think I'm thinking that the charm state is actually uniter operation state
[15:04] <niemeyer> fwereade__: Ok
[15:04] <niemeyer> fwereade__: Makes sense
[15:05] <niemeyer> fwereade__: What would the Manager look like in such a world?
[15:05] <fwereade__> niemeyer, I think the manager would be more of a Deployer
[15:05] <fwereade__> niemeyer, ...except maybe not quite...
[15:07] <fwereade__> niemeyer, aside: when I originally moved the charm dir out of the manager, it really did feel like a step forward, but I ended up not going anywhere very good from there
[15:07] <niemeyer> fwereade__: Yeah ,the problem is drawing the line at the right place.. you probably were onto a good direction in some sense, but the line got blurred somehow
[15:08] <niemeyer> fwereade__: The idea of a deployer makes sense to me..
[15:09] <niemeyer> fwereade__: The only state we need within the deployer is probably the URL that is actually on disk (what we have as readURL)
[15:09] <fwereade__> niemeyer, yeah, exactly
[15:09] <fwereade__> niemeyer, ok, so assuming we were able to separate out a charm dir, a deployer, and a charm-operation-state file
[15:10] <niemeyer> fwereade__: In the uniter state, I suspect we'll still need extra states, though
[15:10] <niemeyer> fwereade__: Which some of the causation of the discussion above
[15:10] <niemeyer> fwereade__: Since we need to track "need to deploy => deployed and need to run hook => run hook"
[15:11] <fwereade__> niemeyer, I *think* that works OK though -- once we're deployed, yay, we're deployed -- but the state is still the uniter's responsibility to recover on unexpected abort
[15:11] <niemeyer> fwereade__: Yep
[15:11] <niemeyer> fwereade__: So State, ReadState and WriteState are all gone..?
[15:12] <fwereade__> niemeyer, well, I think they are divorced from Manager anyway
[15:12] <niemeyer> fwereade__: Yep
[15:12] <fwereade__> niemeyer, they still feel pretty "charm"y
[15:12] <niemeyer> fwereade__: Not to me
[15:12] <niemeyer> fwereade__: Anymore than the unit is charmy, anyway
[15:12] <niemeyer> fwereade__: "I need to run hook", as an example
[15:12] <fwereade__> niemeyer, I can see it both ways
[15:13] <niemeyer> fwereade__: Is pretty unity :)
[15:13] <fwereade__> niemeyer, yeah, indeed :)
[15:14] <fwereade__> niemeyer, ok, so, as a rough sketch: charm.Deployer + charm.GitDir; then some unexported uniter state manipulation in changeCharm around Deployer operations?
[15:14] <fwereade__> niemeyer, the readURL thing starts to feel pretty redundant now
[15:16] <niemeyer> fwereade__: +1 except for the last sentence
[15:17] <niemeyer> fwereade__: The URL has to be put as part of the deployed content if we want to be able to easily tell what's in the directory
[15:17] <niemeyer> fwereade__: The uniter state can't track what's *actually* there (after facing a revert, or merge, or whatever)
[15:17] <fwereade__> niemeyer, hmm, I'll think about it a bit more... ah, ok, we could quite easily have a *missing* operation state file meaning "deployed, check the charm dir"
[15:18] <fwereade__> niemeyer, ok, I think maybe I have direction again
[15:18] <fwereade__> niemeyer, cheers
[15:18] <niemeyer> fwereade__: I don't see that as something entirely neat.. if we have state, we can easily name it..
[15:19] <niemeyer> fwereade__: Having the same URL both in the uniter state and in the charm is a great sign of things being right :)
[15:19] <fwereade__> niemeyer, ok, I think my resistance may come from not being able to figure out how I should react if they don't match :)
[15:19] <niemeyer> fwereade__: They serve different purposes, anyway
[15:20] <niemeyer> fwereade__: Example scenario:
[15:20] <niemeyer> fwereade__: We're running an upgrade from revision 10 to 11
[15:21] <niemeyer> fwereade__: uniter state says we're in revision 10, trying to install 11
[15:21] <niemeyer> fwereade__: we ask the deployer to upgrade, and get a conflict
[15:21] <niemeyer> fwereade__: unit goes into error mode
[15:22] <niemeyer> fwereade__: user logs into the machine.. fiddles around, reverts
[15:22] <niemeyer> fwereade__: user calls resolved
[15:22] <niemeyer> fwereade__: uniter catches up, learns that directory has revision 10.. doesn't call upgrade hook, goes back into working mode
[15:22] <niemeyer> fwereade__: End of story point.
[15:23] <fwereade__> niemeyer, feels like the next stepis actually "goto10"
[15:24] <niemeyer> fwereade__: ?
[15:24] <fwereade__> niemeyer, uniter returns to working mode; detects an upgrade, and...
[15:24] <niemeyer> fwereade__: That's another story
[15:25] <niemeyer> fwereade__: At the end of the story above, it gets back onto the main loop, and can do anything it usually would
[15:25] <niemeyer> fwereade__: Including upgrading again, sure.. perhaps not even to the same version.
[15:27] <rogpeppe> niemeyer: this might be something like we discussed: https://codereview.appspot.com/6501072
[15:27] <fwereade__> niemeyer, I don't see the value of that story, because what *will* happen is another upgrade, and we can easily and automatically handle a revert-and-upgrade-to-new-version ourselves, even from an error state
[15:28] <fwereade__> niemeyer, without a separate actually-don't-upgrade-this mechanism, I don't see why a user would ever need or want to revert
[15:28] <niemeyer> fwereade__: The value of that story is that the only way to make it possible is by knowing what's actually inside the directory
[15:29] <niemeyer> fwereade__: Ah, maybe it's that's the disagreement.. I totally see why people (or I :-) would like to resolve a conflict, and then revert back to the previous state
[15:29] <niemeyer> fwereade__: Because what was done was wrong
[15:29] <niemeyer> fwereade__: Even then, we're diving into too much detail here
[15:29] <fwereade__> niemeyer, are we talking about one specific unit, or a whole service?
[15:29] <niemeyer> fwereade__: The core of my argument is that there's value in knowing what a given revision of the charm directory actually contains
[15:30] <niemeyer> fwereade__: I was hoping that this wouldn't be very controversial
[15:30] <fwereade__> niemeyer, neither keep-the-url-in-the-charm-dir nor keep-the-url-in-a-state-file are individually controversial in my mind
[15:30] <niemeyer> rogpeppe: Cheers, will look
[15:30] <fwereade__> niemeyer, keeping *both* of them still makes me nervous
[15:31] <fwereade__> niemeyer, because I'm not sure that we can do anything useful with disagreements
[15:31] <niemeyer> fwereade__: Okay, I'm happy to have it just within the charm directory while we don't figure a reason to have it outside
[15:31] <fwereade__> niemeyer, hence my contention that what we're after is *operation* state, not charm state, and we shouldn't have a URL in operation state when we're not operating
[15:32] <niemeyer> fwereade__: I don't know how you'll manage to tell what version you're supposed to upgrade to before the upgrade actually happens, but that's part of the "while we don't figure a reason" part
[15:32] <niemeyer> fwereade__: Okay, that makes sense
[15:33] <fwereade__> niemeyer, if I go one step further and say we shouldn't have *any* operation state when we're not operating, are you still comfortable?
[15:35] <fwereade__> niemeyer, blast, sorry, brb
[15:35] <niemeyer> fwereade__: Yeah, I'd definitely not complain if you made that work nicely
[15:40] <fwereade__> niemeyer, cool, I'll have another crack at it
[15:40] <fwereade__> niemeyer, sorry this bit's taking so long
[15:52] <rogpeppe> flight to lisbon booked
[15:57] <niemeyer> fwereade__: No problem at all, I appreciated that conversation
[15:57] <niemeyer> rogpeppe: Reviewed, good stuff
[15:57] <rogpeppe> niemeyer: thanks
[15:58] <fwereade__> niemeyer, a pleasure, as always :)
[15:58] <rogpeppe> niemeyer: i thought about Errer, but couldn't quite bring myself - it just looks like a spelling mistake. still, if you think it's ok...
[15:59] <niemeyer> rogpeppe: It crossed my mind, but it still feels better than Errorer (which I'm probably unable to pronounce :-)
[16:02] <rogpeppe> fwereade__: o fellow english speaker: what do you think: Errer or Errorer ? (as a name for interface{Err() error})
[16:02] <rogpeppe> fwereade__: or some alternative?
[16:03] <fwereade__> rogpeppe, Errer is an ugly word, but also seems like a legitimate "that which errs", so I think I'd go with that
[16:03] <Aram> rename Err to Error and use the builtin error interface?
[16:04] <rogpeppe> Aram: that would be kinda cool but... do we want all watchers to be errors ?
[16:04] <Aram> rogpeppe: ^
[16:04] <rogpeppe> Aram: it would also be a far reaching change
[16:05] <rogpeppe> Aram: tomb, for instance, is an external package that uses Err()
[16:05] <niemeyer> rogpeppe, Aram: Nope, Err is the proper name for that method, and it's actually a standard convention
[16:06] <niemeyer> rogpeppe, Aram: Err is seen in things that report an "error" (the interface); they are not errors themselves
[16:06] <rogpeppe> niemeyer: +1 having looked in the go source
[16:06] <Aram> white:pkg$ pwd
[16:06] <Aram> /home/aram/go/src/pkg
[16:06] <Aram> white:pkg$ csh '\.Err\(' | wc -l
[16:06] <Aram> 21
[16:06] <Aram> it's only used in database and exp/html
[16:07] <niemeyer> Aram: Yeah, but it's an agreed-to convention, and I actually pushed the patch prior to Go 1 to make it consistent
[16:07] <rogpeppe> Aram: yeah - it wouldn't be right anyway because Error (error's method) returns a string not an error
[16:07] <rogpeppe> Aram: which we definitely don't want to do
[16:09] <Aram> actually the very few .Err() in the go tree return error, not string.
[16:09] <Aram> so while I agree that changing to error is not a good idea, calling three usages of an Err in 400,000 LOCs hardly counts as convention, especially since our Err has a different signature :)
[16:12] <niemeyer> rogpeppe: https://codereview.appspot.com/6501069/ reviewed too
[16:12] <rogpeppe> niemeyer: ta!
[16:13] <niemeyer> rogpeppe: Thank you!
[16:15] <rogpeppe> niemeyer: i put the numbering in because it was so painful counting through 13 tests to find which one had failed.
[16:15] <rogpeppe> niemeyer: the alternative is to put the comment in the struct
[16:15] <rogpeppe> niemeyer: which is probably better, come to think of it
[16:15] <niemeyer> rogpeppe: Yes, there are multiple ways to solve that.. putting the comment as a summary in the struct is a generally a great one
[16:15] <rogpeppe> niemeyer: i'll go with that then
[16:15] <niemeyer> rogpeppe: Thanks!
[16:16] <niemeyer> Stepping out for lunch
[16:18] <Aram> yay, I can use chan []map[string]interface{} as a map key
[16:25]  * Aram wished Put wasn't near Undo in acme.
[16:35] <rogpeppe> Aram: i don't get bitten by that very much, though i wish Put didn't appear under the mouse when you get to the end of a load of Redos...
[16:35] <Aram> yeah, that too
[16:35] <rogpeppe> Aram: i have never thought of a good way to make it better though
[16:35] <rogpeppe> yay, ec2 is fixed again!
[17:20] <niemeyer> Aram: Gosh, do we need that as a map key? :)
[17:20] <Aram> yeah...
[17:20] <niemeyer> Aram: Why?
[17:22] <Aram> it's not that bad, it's only chan []genericDoc, genericDoc is map[string]interface{} because it represents any mongodb document (like bson.M). we need it because this is how client watchers register with the watch server.
[17:23] <Aram> the code is actually quite clear, even if the key is complex.
[17:23] <Aram> the key is what is is because it is the way the server sends event to clients.
[17:23] <Aram> clients expect slices of documents.
[17:23] <niemeyer> Aram: Hmm.. that sounds a bit suspect
[17:24] <niemeyer> Aram: Why do we have a genericDoc in lower level watcher?
[17:24] <niemeyer> Aram: That wasn't in the design we talked about
[17:24] <Aram> what is a lower level watcher?
[17:24] <niemeyer> Aram: The design we talked about, which I thought you've been working on
[17:25] <Aram> I have.
[17:25] <niemeyer> Aram: Well, that wasn't there
[17:25] <niemeyer> Aram: We don't work with genericDocs in mstate so far
[17:25] <niemeyer> Aram: The fact we can deal with actual values instead is quite convenient
[17:26] <niemeyer> Aram: I'm concerned that what we talked about was simpler than what seems to be taking to get it in place
[17:26] <Aram> there is a single entity doing all the queries for all the watchers. watchers have different documents, it has to use a map to be able to get data before converting it to a document.
[17:27] <niemeyer> Aram: That's not what is in the design
[17:27] <niemeyer> https://gist.github.com/e1453bb97426081a12e5
[17:27] <niemeyer> Aram: This is the design
[17:28] <Aram> "A Watcher can watch any number of documents and collection" that implies arbitrary documents, hence maps instead of structs.
[17:28] <niemeyer> Aram: You don't have to agree with it, and it's fine to go in a different direction, but when I go over the trouble of doing that after we stumbled upon several issues, I do expect feedback before we change gears
[17:28] <niemeyer> Aram: Where's genericDoc in this design?
[17:30] <Aram> the fact that you didn't mention genericDoc doesn't mean I can't use it, you didn't mention error or string or int either. genericDoc is just a name I gave for a map, I can change it to bson.M if you want.
[17:30] <Aram> because it is essentially bson.M, not only in representation, but in concept as well.
[17:30] <niemeyer> Aram: I don't care about the name.. I care about the fact I can't see a "generic map" or however you wanna call it in this design
[17:30] <niemeyer> Aram: We simply do not *load* the document
[17:32] <Aram> surely someone loads documents as the events delivered by watchers are full entities that have the full document inside them.
[17:32] <niemeyer> Aram: I'm talking about the design in this page, not about whatever you're implementing on top of it
[17:32] <niemeyer> Aram: This is a building block that we need, and agreed upon
[17:33] <niemeyer> Aram: You seem to be talking about stuff that is not in this design, despite the fact we don't have this integrated or up for review anywhere'
[17:33] <niemeyer> Aram: We seem stuck despite all my efforts, and I'd like to understand why
[17:39]  * rogpeppe loves all it when 90 lines of new test code all passes after one minor initial glitch.
[17:39] <rogpeppe> somehow the initial glitch makes it even better, because you have positive verification that the test is actually running.
[17:40] <niemeyer> rogpeppe: True
[17:40] <niemeyer> rogpeppe: When I get a straight pass I'll generally tweak things a bit to make sure it's *really* passing :)
[17:41] <rogpeppe> niemeyer: i often leave a "this cannot pass" piece of code in the test just to make sure
[17:41] <rogpeppe> niemeyer: easier when you've got an ErrorMatches test
[17:42] <niemeyer> rogpeppe: +1, done that before as well
[18:04] <rogpeppe> 5 minutes and 21 seconds to upload the tools that time.
[18:05] <rogpeppe> (running live upgrading test BTW)
[18:15] <rogpeppe> niemeyer: friday's last gasp: https://codereview.appspot.com/6490067/
[18:15] <rogpeppe> niemeyer: it passes live tests!
[18:16] <rogpeppe> niemeyer: and that should get us roughly back to where we were...
[18:16] <rogpeppe> and with that, i'm off to practice drinking port in preparation for Lisbon
[18:16] <rogpeppe> fwereade__, mramm, niemeyer: have a great weekend!
[18:17] <niemeyer> rogpeppe: Superb!
[18:18] <niemeyer> rogpeppe: Thanks so much
[18:18] <niemeyer> rogpeppe: and have a brilliant weekend too
[18:27] <mramm> rogpeppe: have a fantastic weekend, and get good and practiced up on the port drinking!
[18:32] <rogpeppe> mramm: darn, it's running out. need more supplies!
[18:48] <mramm> heading to a late lunch, back in a bit
[21:56] <niemeyer> PASS: presence_test.go:148: PresenceSuite.TestScale     1.978s
[21:56] <niemeyer> 1000 pingers starting, pinging, half being killed, all of them observed.. 2 seconds. Woohay.