[01:41:46] In toolforge [01:41:51] if I do something like this: [01:41:52] $ kubectl create -f etc/deployment.yaml [01:42:01] I get this: [01:42:02] deployment "tools.interaction-timeline" created [01:42:13] but if I check the status with: [01:42:13] $ kubectl rollout status -f etc/deployment.yaml [01:42:26] it hangs at: [01:42:28] Waiting for rollout to finish: 0 out of 1 new replicas have been updated... [01:42:32] what am I doing wrong? [02:13:33] or does it just take forever? [02:16:11] $ kubectl get deploy [02:16:11] NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE [02:16:12] tools.interaction-timeline 1 0 0 0 7m [02:35:58] oh! another log entry: [02:35:59] E1027 02:35:17.320904 31518 streamwatcher.go:109] Unable to decode an event from the watch stream: unable to decode watch event: unversioned.Status is not suitable for converting to "extensions/__internal" [02:36:26] errr [02:36:28] $ kubectl rollout status -f etc/deployment.yaml [02:36:28] Waiting for rollout to finish: 0 out of 1 new replicas have been updated... [02:36:30] E1027 02:36:07.930311 32143 streamwatcher.go:109] Unable to decode an event from the watch stream: unable to decode watch event: unversioned.Status is not suitable for converting to "extensions/__internal" [02:58:44] (03CR) 10jenkins-bot: Localisation updates from https://translatewiki.net. [labs/tools/heritage] - 10https://gerrit.wikimedia.org/r/386770 (owner: 10L10n-bot) [03:31:01] created a task https://phabricator.wikimedia.org/T179132 [03:34:41] davidwbarratt: I'm looking [03:34:53] madhuvishy oh thank you! :) [03:47:50] davidwbarratt: question, so this deployment is just trying to run a simple lighttpd static website in a single pod? [03:48:44] madhuvishy yeah I mean I actually need a "Job" container to "build" everything, but I was going to do that after this [03:49:10] madhuvishy but I can try that first [03:49:24] no that's okay, just checking [03:50:51] madhuvishy maybe my volumes are bad? maybe you have to mount a whole directory in kube instead of a single file? [04:15:00] davidwbarratt: hmmm not sure, i'm gonna eat now, will try to look later, if not follow up tomorrow [04:15:19] is there any reason why you want the building to happen in a container though? [04:17:35] I am not understanding why it's not a shell script or a python script that pulls whatever dependencies and then does webservice start, would be great if you could explain what I am missing, thank you! [04:23:04] madhuvishy need a new version of nodejs [04:23:27] madhuvishy otherwise, yeah you're right, it would be fine to just do that [04:24:13] davidwbarratt: how new? I have an open ticket to update to 6.11 [04:24:22] T170716 [04:24:22] T170716: Update Toolforge k8s nodejs images to 6.11 - https://phabricator.wikimedia.org/T170716 [04:24:34] I think that's the live version in production right now [04:24:50] bd808 newer than 0.12 which is what's outside of the container [04:25:12] bd808 so I need to run the build script _inside_ a container [04:25:27] webservice --backend=kubernetes nodejs shell [04:25:50] that gives you an interactive shell inside a container [04:26:00] bd808 ah, so I could do that and then startup the tool [04:26:05] bd808 in static web [04:26:19] yes. that's how all the docs explain to do it :) [04:26:32] bd808 haha. I mean I was following the deployment.yaml docs. :) [04:26:42] bd808 but apparently that doesn't work. :) [04:27:21] I guess "it depends" since I know I have a python bot running via custom deployment [04:27:41] but I was not trying to do things like mount over existing files in the image [04:27:58] which we may have some admission controller restrictions against [04:28:33] bd808 ugh. well at least that's good to know. [04:28:35] There is quite a bit of our k8s setup that it mystical to me. I just haven't had the time nd reason to dig into all of it [04:29:16] bd808 ah. well if I could run my own container, i would just build it and bake it into the container. :) [04:29:42] davidwbarratt: you can totally do that. Just go find a hosting provider and have at it ;) [04:29:52] bd808 haha [04:30:03] or start working on doing these things in prod instead of toolforge [04:30:52] bd808 I don't even know what that means. :) [04:30:57] I'm not trying to run you off, but I have a lot of customers and most of them are not ready for bring your own Docker image deploys [04:31:14] bd808 yeah I know [04:31:36] bd808 most devs have zero experience with docker too [04:32:19] there legitimately is a production kubernetes cluster. It will have a custom image build and deploy process [04:32:51] its all brand new and the pipelines are still being designed and built out [04:33:52] bd808 nice! [04:33:58] it wouldn't be a bad idea for y'all to get involved in those conversations for your anti-harassment tools [04:34:09] bd808 ++ [04:34:25] bd808 tbh, this was my first time even looking at K8s [04:34:53] You might start by talking to greg-g in release engineering, mobrovac in services, and _joe_ in techops [04:36:24] ah [04:36:49] services have some standard frameworks for nodejs things too [04:37:20] oh cool [04:38:53] the epic for k8s deployments is T170453 [04:38:54] T170453: FY2017/18 Program 6: Streamlined Service delivery - https://phabricator.wikimedia.org/T170453 [04:44:27] bd808 thanks! [04:45:05] but anyway, if you have a post-update build step you can use webservice shell to run npm inside a jessie container that matches the container you will get from webservice start [04:46:01] the nodejs docs are not as complete as the python ones, but the idea is the same -- https://wikitech.wikimedia.org/wiki/Help:Toolforge/Web#python_.28Python3_.2B_Kubernetes.29 [06:21:58] (03PS181) 10Ricordisamoa: Initial commit [labs/tools/wikidata-slicer] - 10https://gerrit.wikimedia.org/r/241296 [06:22:39] (03CR) 10jerkins-bot: [V: 04-1] Initial commit [labs/tools/wikidata-slicer] - 10https://gerrit.wikimedia.org/r/241296 (owner: 10Ricordisamoa) [06:26:43] (03CR) 10Ricordisamoa: [C: 04-2] "PS181 updates grunt-stylelint from ~0.8.0 to ~0.9.0, stylelint from 7.8.0 to 8.2.0, updates the .stylelintrc.json and fixes errors" [labs/tools/wikidata-slicer] - 10https://gerrit.wikimedia.org/r/241296 (owner: 10Ricordisamoa) [06:32:43] (03PS182) 10Ricordisamoa: Initial commit [labs/tools/wikidata-slicer] - 10https://gerrit.wikimedia.org/r/241296 [06:37:16] (03CR) 10Ricordisamoa: [C: 04-2] "PS182 ignores a flake8 error" [labs/tools/wikidata-slicer] - 10https://gerrit.wikimedia.org/r/241296 (owner: 10Ricordisamoa) [06:38:03] (03PS183) 10Ricordisamoa: Initial commit [labs/tools/wikidata-slicer] - 10https://gerrit.wikimedia.org/r/241296 [06:41:10] (03CR) 10Ricordisamoa: [C: 04-2] "PS183 updates eslint from ~4.8.0 to ~4.9.0" [labs/tools/wikidata-slicer] - 10https://gerrit.wikimedia.org/r/241296 (owner: 10Ricordisamoa) [06:50:25] join [06:51:01] I need help regarding ToolForge admin request [06:51:23] !help [06:51:24] shreya1771: If you don't get a response in 15-30 minutes, please create a phabricator task -- https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=wmcs-team [06:54:37] !help [06:54:37] shreya1771: If you don't get a response in 15-30 minutes, please create a phabricator task -- https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=wmcs-team [06:55:16] any Toolforge admin here? [07:06:25] !help [07:06:26] shreya1771: If you don't get a response in 15-30 minutes, please create a phabricator task -- https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=wmcs-team [09:11:26] (03CR) 10Lokal Profil: [C: 031] "recheck" [labs/tools/heritage] - 10https://gerrit.wikimedia.org/r/377743 (owner: 10Jean-Frédéric) [13:43:57] o/ [13:52:49] hi, I'm trying to provision redis in deployment-prep with stretch. The first puppet run post-provisioning has failed due to missing hiera bits, and the fact that the redis class is applied via prefix puppet. I can't even ssh since the first puppet run failed, and rebooting teh instance doesn't seem to try running puppet again? or at least I can't see the output [13:53:03] thoughts on next steps? [13:54:48] godog: can you remove teh currently broken role to get puppet to complete the first time [13:55:07] note since depoyment-prep has its own master the normal process is for it to spin up and then detach from the main cloud puppet master [13:55:14] for you to then setup w/ the project master [13:55:27] it gets weird esp w/ project master projects if it can't get through to that stage [13:55:57] but since this is a prefix application that could be hairy still, but I'm wondering why hiera is broken since hiera is the same even if fractured in both cases [13:56:42] thanks chasemp ! heh in this case puppet fails because it can't find the redis instance in hiera it is trying to run on [13:56:47] namely redis::shards [13:57:09] anyways I'll try to unapply the role from prefix and reboot, see if that gets it off the groun [13:57:23] * chasemp nods [14:04:11] no joy so far, namely puppet.service seems to start and then get killed by systemd with a timeout, https://horizon.wikimedia.org/project/instances/230e908e-f5e0-4b68-9dfa-5887ef7539d4/console [14:04:52] I'm assuming because the first-boot puppet run wasn't successful e.g. the regular puppet cron isn't there, and puppet.service isn't supposed to work anyways [14:06:05] godog: because of the sad state of console access you may be in the "try another build to see if you get past initial first_boot.sh puppet shenanigans now" territory [14:06:13] I hate saying it [14:06:58] hehe ok, and I can't reuse the instance name I just used correct? [14:07:13] in theory yes :) I would wait a bit if so there are contentions there [14:07:18] nothing you can't overcome but [14:07:22] dns caching etc to old IP [14:07:27] it can get a bit weird [14:09:07] heh easier to go with a new name as the "problem stack" is already quite high [14:10:16] godog: two days ago we spent an hour debugging an nscd localhost cache issue for a name reuse [14:10:27] where in some circumstances it returned the old ip [14:10:30] and in some the new [14:10:35] reboot fixed nscd [14:10:42] that kind of thing [14:15:19] "neat" [14:15:46] starting with a new instance looks like it worked, I can ssh - thanks chasemp ! [14:26:05] chasemp: reading firstboot.sh I guess part of the root cause is that it exit 0 even when puppet fails and thus doesn't get retried [14:26:22] yes, it needs to be rethought [14:26:48] We have talked about reimagining teh entire build and boot process and either falling in w/ cloud-init totally [14:26:59] or consolidating on going our own way etc [14:27:05] but it's fragile [14:27:08] now I mean [14:31:39] indeed, sadly so is detecting a failed puppet run [15:11:54] andrewbogott i get this [15:11:55] fatal: Unknown option for merge-recursive: -X'patience''; stderr: 'Error redoing merge 1f15651d13d3b2c0b54cedd9bc34b16c5e3fb158' [15:12:11] I've never seen that before [15:12:14] I'm in a meeting now though, sorry [15:12:25] when running/usr/local/bin/git-sync-upstream [15:12:28] ok [15:15:08] paladox: what OS is that happening on? [15:15:25] stretch [15:15:33] hm, ok [15:15:42] i think it also happends on jessie [15:15:44] too [15:16:56] I have definitely tested that script on jessie [15:17:26] paladox: is this on a server that you dist-upgraded? Is it possible that you have an old git version? [15:17:38] bd808 i will check the git version [15:17:49] root@puppet-paladox3:/var/lib/git/operations/puppet# git --version [15:17:49] git version 2.11.0 [15:18:01] i have had this problem happen with the shell scrip too [15:18:12] rebasing by git pulling locally works [15:18:19] but when the script does it, it fails [15:19:00] paladox: it doesn't shock me that that breaks on stretch but I'll do some tests. [15:19:08] it happends on jessie too [15:19:17] i just doint have the same error confirmed. [15:19:27] but at least i can confirm it dosen't update the repo [15:21:11] i will run the script on jessie when someone merges in puppet :) [15:22:02] paladox: I tested the script a lot on debian jessie with git 2.1.4. The box I was testing on is a "normal" project puppetmaster [15:22:23] bd808 yep, did you create a custom change. then is git commited [15:22:34] then got the script to do it's pulling? [15:22:46] yes. [15:22:56] oh, hmm. [15:23:31] what about a change that is created locally [15:23:36] I also forced repeated tests by using rebase-interactive to reset the clone to an old version and the used to script to set it back to where it was expeccted to be [15:23:40] then copied to upstream [15:23:49] without reverting locally then doing the script? [15:24:05] that has always been something that can break it [15:24:26] it just depends on how things are rebased in ops/puppet before merging [15:24:33] oh, but git pulling locally works. [15:25:50] the core logic of the script is unchanged from the older bash version [15:26:23] the change that has been made is really just how the index is updated in the /var/lib/git/* clones [15:26:41] yeh, im was just thinking that my problem would be solved when we switched to python. [15:27:08] if you are reporting a long standing bug, then no. [15:27:37] like I said the code logic of the script is unchanged from the prior script [15:27:41] yep [15:27:42] *core logic [15:28:03] i will test some things out :) [15:29:58] paladox: by default, git-pull would make merge commits if there are local commits that are not in the remove. If you have a clone of ops/puppet.git with merge commits in it then something is really wrong. [15:30:14] oh [15:30:16] git pulling [15:30:18] merges [15:30:19] the upstream repo is guaranteed to have linear history [15:30:31] it keeps doing [15:30:32] Merge branch 'production' of https://gerrit.wikimedia.org/r/operations/puppet i$ [15:30:43] and your locak hacks should always be on top of the upstream tip [15:30:54] they carn't [15:30:59] they were rejected upstream [15:31:11] some of them are important due to spam. [15:31:12] yeah. you should not `git pull` in /var/lib/git/operations/puppet [15:31:18] oh [15:31:31] i see [15:31:42] or if you do then the magic for keeping that repo up to date will not work reliably and you are on your own [15:32:57] the "best" docs are the ones that have been written for beta cluster's puppetmaster -- https://wikitech.wikimedia.org/wiki/Nova_Resource:Deployment-prep/How_code_is_updated#Cherry-picking_a_patch_from_gerrit [15:34:19] * andrewbogott isn't really paying attention but instinctively links to https://wikitech.wikimedia.org/wiki/Help:Git_rebase when he hears the phrase 'git pull' [15:34:25] thanks [15:34:54] ah [15:34:57] git fetch origin [15:35:06] * paladox has to get use to doing that heh [15:36:21] there are ways to make git-pull rebase by default, but its really just easier to do git-fetch && git-rebase explicitly [15:36:45] that also gives you a chance to make sure that the new changes from upstream are expected [15:37:11] that's an important step in things like a production scap deploy [15:38:03] git fetch; git log HEAD..@{upstream}; git rebase [15:38:11] hello! I'm trying to install a PHP 5.6 app on Toolforge. I see how to get the webservice to use 5.6, but what about `composer install`? e.g. `php -v` is showing 5.5.9 [15:38:20] the @{upstream} symbol is fun [15:38:44] musikanimal: you need to run your composer bits inside a Docker container [15:39:10] thanks [15:39:37] bd808: how do I do that? :) [15:39:50] musikanimal: you can do that with `webservice --backend=kubernetes php5.6 shell` [15:40:06] oh sweet [15:40:11] that will give you an interactive shell into a running k8s container [15:40:46] yay, that worked. Thank you! [15:40:52] and it's not running with xdebug [15:41:01] there are good docs on this, but mostly related to python -- https://wikitech.wikimedia.org/wiki/Help:Toolforge/Web#python_.28Python3_.2B_Kubernetes.29 [15:41:31] yeah I was looking the PHP section [15:41:54] musikanimal: I was explaining the same stuff to davidwbarratt last night related to nodejs so obviously the docs need some attention [15:42:08] hehe all good [15:42:45] musikanimal oh yeah... I have bd808 on speed dial now. :P [15:43:13] I only just recently realized K8s was using Docker [15:43:36] "containers" but yeah our runtime is Docker [15:43:48] someday it may be rkt instead [15:45:15] bd808 replacing preserve merges with -m [15:45:17] fixed it [15:47:22] best I can tell the puppetmaster classes don't apply on stretch at all [15:47:48] so I'm inclined to ignore the stretch case until we try to have actual stretch puppetmasters in prod [15:49:53] happends on jessie too [15:49:54] andrewbogott ^^ [15:50:34] though anyways i will follow git fetch [16:03:12] musikanimal yeah k8s "orchestrates" docker containers... it's kind of a super duper version of Docker Compose and Docker Swarm (which are lighter weight versions of the same thing) [16:03:14] o/ bd808 [16:03:29] bd808 would be nice if Toolforge was just a docker swarm that could be deployed to. :P [16:03:31] I see I've been called out for asking for something "immediately" that I've been waiting for for a while. [16:03:38] Maybe we could chat it out :D [16:03:57] musikanimal I use Docker Compose locally all the time (and on my personal VPS) [16:04:41] musikanimal AND if you want.. you can use the same containers that are used on Toolforge https://github.com/wikimedia/InteractionTimeline/blob/master/docker-compose.yml [16:04:53] halfak: the ticket has been open but there has been no work done on it. And the last time we talked it seemed that the tables were desired, but there was no timeline given at all. [16:05:09] now you have given a timeline, but its a pretty short one [16:05:40] bd808, right, yeah. I guess I meant to convey that the timeline was always "immediate" but that the problem caused was non-critical [16:06:00] As in I've got people waiting for this data, but they can keep waiting. [16:06:17] For what it's worth, I'm giving you as much warning as I can and asking if it is possible. [16:06:25] If the answer is "no", that's OK. [16:07:15] There will be more workshops and more wiki tools demanding access to this dataset after IWSC [16:07:49] musikanimal errr... images, not containers. but you know what I mean. :) [16:08:22] if there's some better way for me to engage with your prioritization process, I'm all ears. [16:08:49] Maybe I should make this a persistent item for SOS [16:08:51] davidwbarratt: neat-O! thanks [16:09:11] halfak: that would only help if my team or the dbas went to SOS ;) [16:09:18] I haven't gotten docker anything running on my local except for a single MediaWiki installation that add-shore helped me install [16:09:28] bd808, you should consider sending someone to SOS :P [16:09:29] I want to get a generic one for PHP 7.1 [16:09:55] I was looking at this one https://dockerfile.readthedocs.io/en/latest/content/DockerImages/dockerfiles/php-apache-dev.html [16:09:56] musikanimal https://hub.docker.com/_/php/ [16:10:19] halfak: I've considered it but not prioritized it. it turns out that a very very small part of WMCS work is Foundation team facing [16:10:26] musikanimal ah, yeah I just use https://hub.docker.com/_/php/ [16:10:33] bd808, maybe we can have our own SOS [16:10:45] ok sweet, I definitely would prefer "official", heh [16:10:53] Scoring Platform & Cloud Services hangout time :) [16:10:54] musikanimal and they have apache, fpm, or cli [16:10:57] I sort of need a Docker for dummies guide, though [16:11:13] musikanimal yeah it is a little confusing (imho) [16:11:28] the one I have set up was automated via add-shore's script [16:12:00] musikanimal ah, yeah [16:15:19] * halfak records all that in the task [16:19:20] * halfak steps away [16:19:50] halfak: :) I'm in meeting 2 of 7 today, but thanks for the details [16:19:59] and yes we should have some standing sync up [17:11:40] bd808: I have a question [17:12:02] But you have to guess what I want to ask you. :p [17:12:35] JK. The question is I have associated the floating IP to cyberbot-exec-iabot-01 [17:12:54] I take it I can place a host on that IP since it's not static? [17:13:17] Cyberpower678: I'm not sure I understand the question [17:13:38] I was granted my own IP address to use for Cyberbot-exec-iabot-01 [17:13:45] right [17:13:48] Is the IP static? [17:13:53] I'm guessing now [17:13:55] *no [17:14:17] yes, actually it is. At least until you move the floating IP to another VM [17:14:28] Ah. Or rebuild it [17:14:43] May I pm you? [17:15:22] Functionally when the floating IP is applied to a VM then the VM takes a static DHCP lease on an ip from the available pool of public addresses. [18:32:17] !help [18:32:17] shreya1771: If you don't get a response in 15-30 minutes, please create a phabricator task -- https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=wmcs-team [18:32:44] shreya1771: what's up? [18:33:09] Nothing much...Need help [18:33:32] Any ToolForge cloud admin ? [18:33:50] shreya1771: I'm one of the admins, what do you need help with? [18:35:06] I need your help to get permission of admin to host my tasks .I am Outreachy round 15 participant of task :User Contribution summery.I am trying to get permission from 7-8 days. [18:35:35] Toolforge admin permission [18:36:22] shreya1771: Did you request toolforge access at toolsadmin.wikimedia.org, and waiting for approval? [18:36:37] <|Satan> +(access is not admin permissions) [18:40:26] shreya1771: I've approved your request. An admin had already replied on your request and you had not responded back with a response to their question, which is why it was not approved before. [18:41:50] Thanks ! [18:43:37] I updated request as admin mentioned long back...My problem is solved [18:58:29] (03PS1) 10Dbrant: Fix download source location of alpha APK. [labs/tools/wikipedia-android-builds] - 10https://gerrit.wikimedia.org/r/386912 [19:09:49] help! [19:16:48] (03CR) 10Dbrant: [C: 032] Fix download source location of alpha APK. [labs/tools/wikipedia-android-builds] - 10https://gerrit.wikimedia.org/r/386912 (owner: 10Dbrant) [19:19:41] (03CR) 10Dbrant: [V: 032 C: 032] Fix download source location of alpha APK. [labs/tools/wikipedia-android-builds] - 10https://gerrit.wikimedia.org/r/386912 (owner: 10Dbrant) [19:23:48] shreya1771: it would be awesome if you could also send what your question is or what you are having trouble with when you ping with help, that way if we see it later we'll be able to respond/or other people who are around and know the answer will be able to help! that said, what are you looking for? [19:28:39] How can I host my github project using ToolForge...I am not able to understand userguide any other help? [19:32:03] shreya1771: what type of project is it? [19:33:28] webproject using python as backend (User rank Summery) [19:35:05] Have you already have a project created on toolforge? [19:35:18] yes [19:35:50] Okay when you connect to toolforge become your project via become project ame [19:35:54] Projectname* [19:36:16] Then you would want to git pull an repo [19:36:44] I have created tool on Toolforge..How to create project? [19:37:08] Tool/projects can be used interchangeably [19:37:37] okay [19:38:07] Let me know when you have all the code within the tool or if you get confused [19:39:04] Thats the question how to get code github code within the tool [19:39:32] Do you see where it says clone or download on the github page? [19:39:40] Created account ,Added SSH key, created tool ..now whats nect [19:39:45] yes ..I can see [19:39:48] Youll want to copy the http link from that [19:39:57] okay then [19:40:07] Then type in the tool git pull url [19:41:44] where should I type this command in tool discription or source code repository [19:41:55] Neither [19:42:15] You know how to connect to toolforge servers right? [19:42:51] nope [19:43:14] Okay, what operating system are you on? [19:43:35] ubuntu [19:44:18] Shreya1771 okay launch terminal [19:44:40] paladox: you around? [19:48:09] shreya1771_: i have to be right back then ill contiune helping but in the meantime launch terminal please [19:48:27] okay..Ill wait [20:06:45] Zppix yes? [20:10:56] (zppix, As noted above for the other user: "it would be awesome if you could also send what your question is or what you are having trouble with when you ping with help, that way if we see it later we'll be able to respond" - see also https://blogs.gnome.org/markmc/2014/02/20/naked-pings/ "The naked ping should be Considered Harmful, for at least two reasons. [...]" [20:12:19] (It really irritates me, and many others, when we get a "[name] ping" - which draws our attention, and then we have to wait many seconds or minutes for the person to finish typing what their actual question was...)) [20:32:28] anybody up for the help [20:41:52] quiddity: my clinet auto-replies complaining about contentless pings :) [20:52:45] greg-g: are you using a script? that'd be fun to have [20:55:20] DatGuy: yeah: https://phabricator.wikimedia.org/P6207 [20:58:21] irssi :( [21:00:25] greg-g, ha, I love that domain name! https://err.no/ [21:00:36] DatGuy: of course! [21:00:55] I haven't moved up to the last decade by migrating to weechat yet [21:01:02] hexchat is pretty kind to me [21:02:06] I use hexchat on top of irssi :P [21:02:16] quiddity: try http://help.wtf/ ;D [21:04:11] hashar, or of course http://rtl.wtf/ ! [21:06:13] i use to use hexchat [21:06:26] but well, it doen't look nice under wine on mac :) [21:06:34] i use textual now :). [21:08:20] +1 for hexchat. and for lunch. [21:15:38] Textual is the nicest OSX client I've found by far. [21:16:39] I've recently sold my soul to IRCcloud [21:16:56] I've heard good things [21:18:01] I should try it out. This is ridiculous, but Textual is really the only thing keeping me on a mac right now. [21:18:26] I just can't find a linux irc client that I can stare at for 5+ hours a day [21:18:54] not even keyboard combinations that don't force you to twist oyur hands? :P [21:19:22] I thought as a boss you're supposed to mostly stare at hangouts? :P [21:20:08] I just finished my 6th hangout of the day so ... yeah [21:20:29] but I watch irc while I pretend to listen in meetings ;) [21:21:48] so, yeah, supposed to... [21:21:51] don't give away management secrets, bd808 [21:22:09] greg-g: I'm trying to "level up" my peers [21:22:22] LKT! [21:22:25] so we can have synergy or something outside the box [21:22:35] nothing's in the box anymore [21:23:04] just some trace isotopes and a faint whiff of cat. [21:23:39] quiddity wins the thread [21:24:42] I had to bash that: https://tools.wmflabs.org/bash/quip/AV9fuKTgJfYMc0lpkgM4 [23:21:14] (03PS1) 10Lokal Profil: Use external tablesorter [labs/tools/heritage] - 10https://gerrit.wikimedia.org/r/386967 [23:27:31] (03CR) 10Lokal Profil: "note that technically custom.js is referred to from tools/rankings.php (but at its toolserver location). Since that one is broken I'm not " [labs/tools/heritage] - 10https://gerrit.wikimedia.org/r/386967 (owner: 10Lokal Profil) [23:28:39] (03CR) 10Lokal Profil: "I've tested that sitting works and looks ok in Chrome but haven't checked Firefox" [labs/tools/heritage] - 10https://gerrit.wikimedia.org/r/386967 (owner: 10Lokal Profil) [23:30:06] (03CR) 10Lokal Profil: "jscss/style.css could probably be trimmed a fair bit to" [labs/tools/heritage] - 10https://gerrit.wikimedia.org/r/386967 (owner: 10Lokal Profil) [23:37:13] (03PS4) 10Lokal Profil: Restructure missing_commonscat_links Statistics [labs/tools/heritage] - 10https://gerrit.wikimedia.org/r/380060 (https://phabricator.wikimedia.org/T176528) [23:38:51] (03CR) 10Lokal Profil: "I removed the WIP status as there is no way of testing this locally (that I could think of)." [labs/tools/heritage] - 10https://gerrit.wikimedia.org/r/380060 (https://phabricator.wikimedia.org/T176528) (owner: 10Lokal Profil)