[00:02:57] (PS7) Awight: DonationQueue shim for non-orphan queuing [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/200793 (https://phabricator.wikimedia.org/T92921) [00:04:56] Fundraising Sprint Grandmaster Flash, Fundraising Sprint House of Pain, Fundraising Tech Backlog, MediaWiki-extensions-DonationInterface, Patch-For-Review: Write an abstracted interface for queue send and receive - https://phabricator.wikimedia.org/T92916#1192653 (awight) a:awight>None Una... [00:05:47] Fundraising Sprint Flaming Lips, Fundraising Sprint Grandmaster Flash, Fundraising Sprint House of Pain, Fundraising Tech Backlog, and 3 others: Write Jenkins job builder definition for CiviCRM CI job - https://phabricator.wikimedia.org/T91895#1192656 (awight) a:awight>None Unassigning: I am... [00:07:18] (CR) Awight: "recheck" [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/201382 (https://phabricator.wikimedia.org/T94506) (owner: Awight) [00:08:43] (CR) Awight: [C: 2] Fix unstaging issue [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/201382 (https://phabricator.wikimedia.org/T94506) (owner: Awight) [00:09:16] (Merged) jenkins-bot: Fix unstaging issue [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/201382 (https://phabricator.wikimedia.org/T94506) (owner: Awight) [00:11:12] Fundraising Sprint House of Pain, Fundraising Tech Backlog, Wikimedia-Fundraising: Make a list of donors affected by PayPal recurring bug - https://phabricator.wikimedia.org/T93936#1192669 (awight) [00:26:57] Fundraising Sprint House of Pain, Fundraising Tech Backlog, Wikimedia-Fundraising: Make a list of donors affected by PayPal recurring bug - https://phabricator.wikimedia.org/T93936#1192683 (awight) ``` zcat logs/payments-misc-201503* | grep -E '"ffname":"paypal-recurring"' | awk '{print $6;}' | sed 's... [00:27:27] Fundraising Sprint House of Pain, Fundraising Tech Backlog, Wikimedia-Fundraising: Make a list of donors affected by PayPal recurring bug - https://phabricator.wikimedia.org/T93936#1192688 (awight) @atgo: When you have a moment, please make this task private to the FR group. Thanks! [00:42:43] Fundraising Sprint House of Pain, Fundraising Tech Backlog, Wikimedia-Fundraising: Make a list of donors affected by PayPal recurring bug - https://phabricator.wikimedia.org/T93936#1150384 (awight) @CCogdill_WMF: This should be ready to go! [00:43:39] Fundraising Sprint House of Pain, MediaWiki-extensions-DonationInterface: Queue backend implementation is configured per queue - https://phabricator.wikimedia.org/T92919#1192738 (awight) Open>Resolved a:awight Collateral done. [00:45:25] Fundraising Sprint House of Pain, Fundraising Tech Backlog, MediaWiki-extensions-DonationInterface: Adapt the Memcache queue subclass - https://phabricator.wikimedia.org/T92918#1192750 (awight) [03:54:20] (PS6) AndyRussG: WIP Campaign-associated mixins [extensions/CentralNotice] (campaign_mixins) - https://gerrit.wikimedia.org/r/202310 [03:55:32] (CR) AndyRussG: "Currently would need https://gerrit.wikimedia.org/r/#/c/202925/ ... if it worked! (Grrr...)" [extensions/CentralNotice] (campaign_mixins) - https://gerrit.wikimedia.org/r/202310 (owner: AndyRussG) [03:55:40] (PS4) Awight: Use Composer-managed Stomp and Minfraud classes [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/180894 (owner: Ejegg) [03:55:51] (CR) jenkins-bot: [V: -1] WIP Campaign-associated mixins [extensions/CentralNotice] (campaign_mixins) - https://gerrit.wikimedia.org/r/202310 (owner: AndyRussG) [03:56:21] (CR) jenkins-bot: [V: -1] Use Composer-managed Stomp and Minfraud classes [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/180894 (owner: Ejegg) [03:58:02] (PS5) Awight: Use Composer-managed Stomp and Minfraud classes [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/180894 (owner: Ejegg) [03:59:25] (CR) jenkins-bot: [V: -1] Use Composer-managed Stomp and Minfraud classes [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/180894 (owner: Ejegg) [05:41:37] Fundraising Tech Backlog, MediaWiki-extensions-DonationInterface: Simplify the orphan slayer - https://phabricator.wikimedia.org/T95523#1193069 (awight) NEW [05:41:54] Fundraising Tech Backlog, MediaWiki-extensions-DonationInterface, Technical-Debt: Simplify the orphan slayer - https://phabricator.wikimedia.org/T95523#1193076 (awight) [06:40:08] (PS1) Awight: WIP more DonationQueue work [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/203000 [12:34:03] (PS1) Pcoombe: Change recurring info text for new legal requirements [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/203041 (https://phabricator.wikimedia.org/T94246) [16:19:15] Wikimedia-Fundraising-CiviCRM: Scheduled Reminder sent from donate@ email address? - https://phabricator.wikimedia.org/T95570#1194772 (RLewis) NEW a:atgo [16:20:49] Wikimedia-Fundraising-CiviCRM: Scheduled Reminder sent from donate@ email address? - https://phabricator.wikimedia.org/T95570#1194781 (atgo) Hey @rlewis - I'm not sure what the problem is here. What's the rationale for wanting the email sent from your email address instead of donate@? [16:21:48] Fundraising Sprint House of Pain, Fundraising-Backlog, Patch-For-Review: Change legal text about recurring on all forms (before April 18) - https://phabricator.wikimedia.org/T94246#1194791 (atgo) a:Pcoombe>None [16:25:03] Wikimedia-Fundraising-CiviCRM: Scheduled Reminder sent from donate@ email address? - https://phabricator.wikimedia.org/T95570#1194806 (RLewis) Hey @atgo - we just assumed the reminder would come from the email address of whoever created the activity/reminder in Civi i.e. myself, Jonathan or Caitlin V as this... [17:00:33] Wikimedia-Fundraising-CiviCRM: Scheduled Reminder sent from donate@ email address? - https://phabricator.wikimedia.org/T95570#1194925 (CaitVirtue) [17:12:49] (PS7) AndyRussG: WIP Campaign-associated mixins [extensions/CentralNotice] (campaign_mixins) - https://gerrit.wikimedia.org/r/202310 [17:19:25] (CR) jenkins-bot: [V: -1] WIP Campaign-associated mixins [extensions/CentralNotice] (campaign_mixins) - https://gerrit.wikimedia.org/r/202310 (owner: AndyRussG) [17:33:11] (CR) Awight: [C: 2] "Thanks!" [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/203041 (https://phabricator.wikimedia.org/T94246) (owner: Pcoombe) [17:38:01] (Merged) jenkins-bot: Change recurring info text for new legal requirements [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/203041 (https://phabricator.wikimedia.org/T94246) (owner: Pcoombe) [17:39:44] Fundraising Sprint House of Pain, Fundraising-Backlog, Patch-For-Review: Change legal text about recurring on all forms (before April 18) - https://phabricator.wikimedia.org/T94246#1158117 (atgo) [17:40:04] awight: just a heads up, ^ has a deadline in 9 days. [17:40:18] so we should be OK, but wanted to alert you since it went straight into review for our team [17:40:55] getting back to offsite now..... ciao [17:41:03] (CR) AndyRussG: "Thanks! The most basic functionality is there: any campaign can have mixins activated/deactivated, the mixin's parameters can be set for e" [extensions/CentralNotice] (campaign_mixins) - https://gerrit.wikimedia.org/r/202310 (owner: AndyRussG) [17:41:05] (CR) Awight: [V: 2] Update Monolog to 1.12.0 [extensions/DonationInterface/vendor] - https://gerrit.wikimedia.org/r/202432 (owner: Ejegg) [17:41:15] (CR) Awight: [V: 2] Remove trait files that break linting [extensions/DonationInterface/vendor] - https://gerrit.wikimedia.org/r/202433 (owner: Ejegg) [18:17:34] https://fundraising.mozilla.org/bitcoin-donations-to-mozilla-17-days-in/ [18:18:19] "The test showed that revenue per visitor drops by about $0.07 USD (ed: after just including a link to "donate with bitcoin")." [18:26:37] Huh. She doesn't say whether the number of donors per visit is higher or lower, though... [18:27:23] I'd say, it's okay to lose total donation amount if you are engaging more people. [18:27:57] ow, it burns! I can't look through the comments :) [18:54:21] awight: comments? never. [20:05:24] awight: hi! [20:07:11] AndyRussG: oops! [20:08:27] awight: np! I don't see atgo either... [20:08:30] I'm well buried in reviewing MModell's vagrant patch, by rebasing earlier work on our paymentswiki role. [20:08:49] AndyRussG: She's at a Communications workshop, I think I remember [20:08:54] aaaah rightoh [20:09:14] I lost track of everyone's vacation schedules, it seems :) [20:09:22] Less so than I [20:09:23] uncountably infinite... [20:09:24] Mmm that vagrant stuff sounds dandy [20:09:28] yes! [20:10:06] Puppet is not my favorite language, at the moment. [20:10:23] They took a free and beautiful language and tore its wings off... [20:10:40] Heheh yeah I've had few moments of nonhappiness with it [20:10:57] Did u notice that our linter enforces aligned arrows, among other inanities? blargh! [20:11:10] For Puppet? [20:11:15] rrr Ruby? [20:11:35] Hmm no didn't know that [20:12:12] Which arrows to you align in Ruby? [20:13:15] I'm finishing Campaign mixins, finally, I think... what, like a week after I said it was almost done? Blrrggg [20:13:41] At least it works now! Was able to dynamically pull in a RL module [20:16:23] It seemed oddly precocious when I took a look yesterday! UI and everything... [20:18:15] Dunno if I took the right route... The UI is autogenerated using mustache from the mixin's param definitions [20:19:03] Now I'm just coding the bannerController.lib code to register pre-banner and post-banner handlers [20:19:46] ( function ( $, mw ) { [20:19:46] var mixin = new mw.cnBannerControllerLib.Mixin( 'placeholderCampaignMixin' ); [20:19:46] mixin.setPreBannerHook( function( params ) { [20:19:46] console.log( params ); [20:19:46] } ); [20:19:47] mixin.setPostBannerHook( function( params ) { [20:19:49] console.log( params ); [20:19:51] } ); [20:19:53] mw.cnBannerControllerLib.registerCampaginMixin( mixin ); [20:19:55] } )( jQuery, mediaWiki ); [20:20:14] awesome!! [20:20:23] coding the code [20:21:09] Mmm thx! Glad u like it so far :) looking forward to ur suggestions [20:21:12] Also: I'm always glad to see that printf is still the #1 debugging tool :) [20:21:22] ? [20:21:30] Did I leave something like that in there somewhere? [20:21:31] console.log ftw :D [20:21:37] Ah yes [20:21:55] Well it's just a thingy to prove that the infrastructure works [20:22:10] That's why I wanted to do a feature branch, in fact [20:22:18] Looks like the campaign mixins will be mostly interchangeable with banner mixins [20:22:49] Anything that could run either with a banner or before the banner is chosen, I guess [20:23:36] Recall these buggers'll run before banners are chosen and can influence choice, buckets, show/hide etc. [20:25:18] Fundraising Tech Backlog: Vagrant role for paymentswiki - https://phabricator.wikimedia.org/T94305#1195873 (awight) [20:25:21] Fundraising Sprint Grandmaster Flash, Fundraising Sprint House of Pain, Wikimedia-Fundraising, MediaWiki-Vagrant, Patch-For-Review: Vagrant Fundraising role needs to be able to run a specific MediaWiki branch - https://phabricator.wikimedia.org/T78739#1195870 (awight) Open>Resolved @mmodel... [20:25:24] Wikimedia-Fundraising, Browser-Tests, Continuous-Integration: Create unit and integration tests for Fundraising extensions to identify breaking MediaWiki changes - https://phabricator.wikimedia.org/T89404#1195872 (awight) [20:38:34] Fundraising Sprint House of Pain, Fundraising Tech Backlog, MediaWiki-extensions-DonationInterface: Use the new queue wrapper for orphan slaying queue stuff - https://phabricator.wikimedia.org/T92922#1195913 (awight) [20:58:33] ops-fundraising, operations: setup/install/deploy beryllium as frack authentication server - https://phabricator.wikimedia.org/T95617#1195980 (RobH) NEW [20:59:14] ops-fundraising, operations: setup/install/deploy betelgeuse as frack authentication server - https://phabricator.wikimedia.org/T95618#1195990 (RobH) NEW [20:59:28] ops-fundraising, operations: setup/install/deploy betelgeuse as frack authentication server - https://phabricator.wikimedia.org/T95618#1195990 (RobH) [20:59:42] ops-fundraising, operations: setup/install/deploy beryllium as frack authentication server - https://phabricator.wikimedia.org/T95617#1195999 (RobH) [21:00:26] ops-fundraising, operations: setup/install/deploy beryllium as frack authentication server - https://phabricator.wikimedia.org/T95617#1195980 (RobH) [21:00:29] ops-fundraising, operations: setup/install/deploy betelgeuse as frack authentication server - https://phabricator.wikimedia.org/T95618#1195990 (RobH) [21:00:54] ops-fundraising, operations: setup/install/deploy beryllium as frack authentication server - https://phabricator.wikimedia.org/T95617#1195980 (RobH) [21:00:57] ops-fundraising, operations: setup/install/deploy betelgeuse as frack authentication server - https://phabricator.wikimedia.org/T95618#1195990 (RobH) [21:08:16] (PS1) Awight: WIP Use DonationQueue in orphan slayer [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/203225 (https://phabricator.wikimedia.org/T92922) [21:08:18] (PS1) Awight: WIP Remove unused code from the orphans script [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/203226 [21:15:34] awight: ummm, I'm gonna change the way banner allocations are calculated for complex overlapping cases that never happen [21:17:05] Basically we have to allocate first campaigns without regard to banners, so we can choose a campaign and know what campaign mixin to run before choosing an exact banner [21:17:34] (evil laughing with reverb in the background) [21:21:00] Might as well kill off legacy buckets while I'm at it :D [21:21:11] Sounds like nobody will notice a change :) [21:23:46] AndyRussG: It's pretty horrifying reading through the legacy banner allocation stuff... [21:24:28] Heheh folks will have to go somewhere else for their scare fun [21:24:34] Maybe [21:24:35] More or less [21:25:13] It'll run a bit faster, too, in any case [21:26:07] May need two random numbers, one to choose the campaign, and then possible another to choose the banner, if there's more than one available within the campaign [21:26:17] We at least got the current campaign weighting correct, though? All campaigns at a priority level are displayed with equal probability? [21:26:37] I had to rereread that... [21:27:10] Oh yeah it's all good [21:27:30] Oops I just forgot another little... eh "error" I should deal with before... order of execution!!!!! [21:27:45] ah javascript [21:30:01] TypeError: mw.cnBannerControllerLib is undefined - placeholderCampaignMixin.js:3 [21:30:11] urrgh [21:30:18] Yeah [21:30:18] getDependencies? [21:30:31] Right, the dependencies are loaded _first_ [21:30:42] 'cause RL is smart [21:30:58] oh, you can't depend on the dependent from the dependency. whee! [21:31:19] (PS2) Awight: WIP Use DonationQueue in orphan slayer [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/203225 (https://phabricator.wikimedia.org/T92922) [21:31:21] (PS2) Awight: WIP Remove unused code from the orphans script [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/203226 [21:31:25] * AndyRussG scratches head [21:31:39] I think there's a solution... [21:31:47] (CR) jenkins-bot: [V: -1] WIP Use DonationQueue in orphan slayer [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/203225 (https://phabricator.wikimedia.org/T92922) (owner: Awight) [21:31:55] (CR) jenkins-bot: [V: -1] WIP Remove unused code from the orphans script [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/203226 (owner: Awight) [21:37:49] It almost makes sense to reverse the dependency... [21:43:13] well bannerchoicedata is needed by bannercontroller, and bannerchoicedata is what brings in as a dependency the mixin modules, whihc need bannercontroller [21:43:50] So maybe it's actually even just an order of stuff needed issue, and the dependency difficulty is a side effect! [21:44:06] Maybe I could fix that as a separate patch to push out with our prior simplifications [21:44:23] I've had an inkling to modify that for a while in fact [21:50:10] Like which page load event to bind to? [22:11:23] Hmmm I don't know about those... More like, make cnBannerControllerLib bannerController.lib, which also should have beenbut was stricken by load order issuz [22:12:34] way to push the envelope :p [22:54:39] Hey awight! We have here with us on IRC cwdent (Casey) who we interviewed yesterday \o/ [22:55:35] yep, fundraising tech hopeful, here to try and get a lay of the land [22:57:03] cwdent: since you were asking about starting to poke around in the code, I was going to say that if you want you could look at some open bugs, though also I don't want abuse your time or suggest that doing so would be a requirement or anything at all like that [22:57:15] Ah right, I think that's the other link Elliot sent... [22:57:53] The fundraising backlog: https://phabricator.wikimedia.org/tag/fundraising-backlog/ [22:59:13] oh yeah i'd love to, thanks! [23:00:15] (cwdent: don't worry at all if awight doesn't reply right away!) [23:01:11] Here are our sprints: https://phabricator.wikimedia.org/search/query/gm_oHdqBHyRa/#R [23:01:12] not at all [23:01:20] i idle in a lot of channels and come and go frequently [23:01:40] <3 mosh [23:01:42] Right now we're on the sprint called "House of Pain" 8p [23:02:56] oooh mosh! That looks useful, thank you [23:04:10] it's pretty amazing, replaced several pieces of software for me [23:04:25] and it even works on my stupid chromebook [23:04:34] Ah cool [23:04:50] cwdent: Hi! Welcome to the questionable jokes channel :D [23:04:56] For a long time I've been meaning to learn Gnu Screen [23:05:01] awight: ssssh!! [23:05:48] awight: looking forward to hearing some of those :] [23:05:59] cwdent: Perfect timing, we were just about to deploy your coding task :p [23:06:09] AndyRussG: tried tmux? [23:06:24] mosh + tmux...changed muh life [23:07:05] cwdent: no never tried that... I did use a tiling window manager called i3 for about a year though [23:07:23] Yes, anything that makes it safer to turn up the bandwidth on your bittorrent client [23:07:35] awight: heh, let me sanitize some inputs... [23:08:13] i used xmonad for years, but lately i've been using a vanilla chromebook [23:08:47] Right! I also tried xmonad, but recently I just went back to Gnome 3 [23:08:58] it's easy to hate on chromebooks but honestly it's one of the nicest pieces of hardware i've ever had, and it was $250 [23:09:15] That's the right price [23:09:18] Really! Cool, interesting to hear [23:09:37] i have an actual linux installed in a chroot [23:09:47] I just set up a few Gnome extensions, including a quick keyboard-based app switcher which does the job well enough [23:09:49] but anymore i don't even need to use it [23:09:57] it was mostly for vpn [23:10:12] I suffered through a few years of evilwm, it's a few hundreds lines of source and u don't need a mouse, but now I'm hooked on the "spotlight" feature of modern WMs [23:10:34] awight: what's the spoghtlight feature? [23:10:51] I usually map it to the "window$" key [23:10:57] the amount of my computing that is either in a browser or a terminal is approaching 99% [23:11:14] cwdent: probably because you're stuck on a chromebook :) [23:11:26] hehe indeed [23:11:57] a nice tmux setup feels pretty much like a tiling window manager [23:12:03] there's even a framebuffer video player [23:12:08] Hmmm I cee https://en.wikipedia.org/wiki/Spotlight_%28software%29 [23:12:42] AndyRussG: That's that macos name for the search feature, at least, where it's like an autocomplete for running applications [23:13:04] yep [23:13:04] mm right [23:13:20] i remember when ubuntu made theirs an anti-feature by including amazon results [23:13:30] cwdent: Feel free to ask away if anything looks interesting to you, or lurk indefinitely! [23:14:09] cwdent: yeah I remember that news item! I've been a Debian user for many years, so that just made me even less likely to ever use Ubuntu ;) [23:14:16] cwdent: haha, yeah that was the end of my experimentation with major distros. [23:15:05] Pretty soon you'll have to whisper around Ubuntu installs, or else a drone will be tossing a packages through your window 30 seconds later. [23:15:18] hahah [23:15:25] nice, i'm definitely debian centric, but i have worries with the current snafu over systemd [23:15:37] it sounds like there's a lot of in fighting going on [23:15:59] Still? That's bad [23:16:42] On the positive side, it seems like init scripts are pretty well standardized, so it doesn't matter too much what's used to invoke them. [23:17:14] yep, i don't really know enough to have a serious opinion on that issue [23:17:24] i see what they're saying about it's not unixy [23:17:39] but also fragmentation is pretty much _the_ thing that sucks about linux [23:18:53] Hmmm... [23:19:23] It also sucks that I can't recommend linux to anyone not already deeply entrenched in the tech world. [23:20:13] Hard even to force it on people, yeah! [23:20:52] yep. linux as a desktop os is a nice thought but i don't know if it'll ever be viable [23:20:54] If it's fragmentation coupled with a well thought-out cooperative governance strucuture I'd be OK with it, and as an outsider I get the impression that that's what sets Debian apart [23:21:30] At least my kids have no problem using it, so long as they stay in a browser... [23:22:01] Except when their science homework requires a Windows-only plugin, blah! [23:22:11] :D enter virtualbox [23:22:23] Yup that's what I did! [23:23:39] Now on my cyanognemod phone I have the same problem but worse, since I don't instend to install Google Play [23:24:17] yeah i can't really imagine an end to that stuff plaguing a free desktop os [23:24:36] there are too many corporate players in that game [23:24:58] but as a developer i think the hardest thing about linux is the non deterministic nature [23:25:14] like...how many config file formats [23:25:17] You mean it breaks unpredictably? [23:25:40] Ah right [23:25:55] but yeah breaking unpredictably is certainly the effect of it [23:26:12] i've worked a lot with config management lately, chef et al [23:26:34] and i've begun to feel like it's kind of a fiction [23:26:45] there is no way to describe the state of a linux system thoroughly [23:26:51] Hmmm [23:27:16] That's an interesting point [23:27:34] Well we were just talking here about the pleasures (sic) of puppet [23:27:57] ah yes, i have used chef and salt a lot, but not much puppet [23:29:30] I'm sure you wouldn't have trouble with it... We use puppet on the cluster, testing instance, and also there's a development vagrant thing we use that has puppet roles for different development purposes [23:30:18] yeah, it seems like they are all sort of similar [23:30:32] I'm ready to punch a puppet, today. [23:31:26] i think the determinism problem is the same thing that was illustrated by this essay 20 years ago https://www.dreamsongs.com/WorseIsBetter.html [23:31:37] Working in puppet is like performing a rolling exorcism [23:32:15] hehe [23:32:24] i found salt to be alright [23:32:50] cwdent: Interesting! I'll check out the essay [23:33:09] I think I remember you said somewhere you're interested in the history of computing... [23:33:44] well i do use a lot of software from the 70s... [23:34:43] oh btw that was the wrong link, the actual essay is https://www.dreamsongs.com/RiseOfWorseIsBetter.html [23:35:38] The first link is a hilarious example of an evolving perspective, though... [23:36:02] Ah hmmm [23:36:59] He's the number one author of rebuttals of his own essays :) [23:37:30] "Unix and C are the ultimate computer viruses." [23:40:17] heh yeah i think it's a great piece about a pretty unanswerable question [23:40:17] K I'm gonna have to read that! [23:43:25] * AndyRussG is looking for the deeper issues in banner selection code too :) [23:43:51] well i'm going to go make dinner but great talking to you guys. i'll be around tomorrow and check out the bug list. whether i get the job or not there are worse ways to spend your time than contributing to open source projects :] [23:44:51] Thanks for tuning into our CB! [23:46:30] cwdent: I'm really glad you stopped by, please don't hesitate to ask any time if you have any questions at all!! Also thanks for the links, I really hope we can talk about these and other CS topics sometime :D [23:47:52] cwdent: here's where you can find some more interesting videos about the Wikimedia and community: https://www.mediawiki.org/wiki/Analytics/Research_and_Data/Showcase