[04:33:08] [[Tech]]; 103.47.133.46; /* yfgg */ new section; https://meta.wikimedia.org/w/index.php?diff=15254989&oldid=15252948&rcid=7277629 [04:33:24] [[Tech]]; Ruy Pugliesi; Reverted changes by [[Special:Contributions/103.47.133.46|103.47.133.46]] ([[User talk:103.47.133.46|talk]]) to last version by MarcoAurelio; https://meta.wikimedia.org/w/index.php?diff=15254990&oldid=15254989&rcid=7277630 [05:56:06] err anyone knows the name for bold stuff (in this case ㄱ and ㅈ) in category? https://test.wikipedia.org/wiki/Category:%ED%85%8C%EC%8A%A4%ED%8A%B8 [05:58:27] you mean the section headers? [05:58:39] for the list of category members? [05:59:25] http://puu.sh/mBc5M/11b4bfe03d.png this part, yes [05:59:44] section header... ok [06:02:19] I'm not sure what the proper name would be, but the code refers to it as "First letter" data [07:30:15] can someone help me out here? [07:45:10] [[Tech]]; 2601:602:C700:9C56:408C:945D:F8EF:5961; /* ...... */ new section; https://meta.wikimedia.org/w/index.php?diff=15255258&oldid=15254990&rcid=7277955 [07:51:36] [[Tech]]; Tegel; Reverted changes by [[Special:Contributions/2601:602:C700:9C56:408C:945D:F8EF:5961|2601:602:C700:9C56:408C:945D:F8EF:5961]] ([[User talk:2601:602:C700:9C56:408C:945D:F8EF:5961|talk]]) to last version by Ruy Pugliesi; https://meta.wikimedia.org/w/index.php?diff=15255284&oldid=15255258&rcid=7277983 [07:55:44] [[Tech]]; ArchiverBot; Bot: Archiving 1 thread (older than 30 days) to [[Tech/Archives/2015]].; https://meta.wikimedia.org/w/index.php?diff=15255288&oldid=15255284&rcid=7277990 [13:59:24] When preparing pages for translation, is the tag at the top added automatically? [14:06:08] AndyTechGuy: no [17:19:54] Hello, I've got a question concerning the math extension: the help page for purging, says that you need action=purge&mathpurge=true to purge math formulars. Is that possible by API action=purge, and what params do I need? [17:33:20] brion: As author of the extension, do you know it? [17:46:49] I don't know sorry :) lots of extension's have my name from template code ;) [17:55:24] Luke081515: Aaron is the most likely person to know, he was the one who made some things un-purgeable [17:55:35] iirc [18:00:13] Nemo_bis:Thanks [18:09:11] brion: Thanks too [20:41:32] Hi, I'm not clear about the recent authentication changes; will I have to change my bot code, which uses the two-pass action=login with token? [20:43:29] jem: You shouldn't have to change anything [20:43:47] Ah [20:43:49] for reference: https://lists.wikimedia.org/pipermail/wikitech-l/2016-January/084501.html [20:44:14] that posting has a "For Bots" section [20:44:19] Yes, I was reading so [20:44:45] But I didn't find clear enough, and it points to https://lists.wikimedia.org/pipermail/mediawiki-api-announce/2015-December/000099.html [20:44:50] find it* [20:45:03] Where the title says "Removal of lgtoken", so... [20:46:07] jem: are you constructing cookies manually? if so, yes. [20:46:18] (is your bot's source somewhere that we could see it?) [20:47:38] MatmaRex: Give me one minute [20:50:58] (Well, three) :) [20:51:05] MatmaRex: https://tools.wmflabs.org/jembot/mostrar.php?file=wiki.php [20:51:24] Search for: function &login [20:52:40] bah, i only took spanish in high school. D: [20:54:27] MatmaRex: I can translate if you need... [20:55:21] ... but, anyway, all non-native English speakers could also complain about all programming languages being based in English :) [20:55:50] Well, except for Ook! and the like [20:55:51] i'll manage. ;) [20:55:52] jem: i'm not sure how curl works in PHP, but it looks like it's already handling cookies for you. hmm [20:56:12] Curl is there just as a backup [20:56:21] But the default is to use Snoopy [20:58:59] well, in that case, i have no idea. [21:00:35] Ok, thanks anyway, MatmaRex [21:06:10] jem: actually, i'm pretty sure your code is fine. i was confused myself for a bit [21:07:16] Ok :) [22:48:40] kaldari, ping [22:49:19] howdy [22:51:28] I saw your suggestions. [22:51:52] There's a reason why I'm avoiding the use of classes, especially when it comes to curling [22:52:51] Multithreading and classes don't mix very well from my experience. If you tried to pass a class to a thread and it had a resource, the resource does not get passed. [22:53:37] A CURL handle is a resource. [22:53:58] kaldari, ^ [22:55:23] Those functions are intentionally written that way to be thread safe. [22:55:41] * Cyberpower678 gets back to migrating to OAuth [22:55:50] even if the curl handle isn't instantiated from a class, the curl code should at least be abstracted in some form so that there isn't so much code duplication [22:56:23] kaldari, if you can find a way that's compatible with multithreading, I'm all for it. [22:56:44] Because I'm not too much of a fan of it either. [23:01:14] Why are you writing multithreaded code in PHP anyway? [23:01:56] Cyberpower678: I created a follow-up task in regard to the code review: https://phabricator.wikimedia.org/T123385. You can assign it to yourself if you want. [23:02:59] Reedy, it started as a small project and then it just grew, and I realized I needed to multithread and didn't feel like switching languages. [23:03:10] Cyberpower678: Personally, I'm not convinced multi-threading is really a good solution for this, but that's another discussion I suppose. [23:03:50] especially since Tools Labs won't install pthreads :( [23:05:43] kaldari, that does kind of suck. [23:05:58] Maybe we can add it to IAs VM they setup for me. [23:06:16] true [23:07:38] kaldari, I feel multithreading is much more appropriate than spawning multiple copies of the same bot. For one, mem usage is kept significantly lower for the same amount of work, and so is the CPU. [23:08:55] Have you considered using hhvm in repo authorative mode? [23:09:01] Speed and memory boosts [23:09:06] Then spwan multiple? [23:09:43] ? [23:09:47] true, but I'm just not a fan of multithreaded PHP. It usually seems to be more trouble than it's worth [23:10:01] Well it's not causing trouble now. [23:10:21] The bot runs just dandy in multithreaded mode [23:10:50] With each thread using about 2 MB [23:12:20] fair enough. I'm just thinking about long-term maintainability which is going to be easier with vanilla PHP. [23:12:39] or hhvm [23:12:40] What's vanilla PHP [23:12:44] Or that [23:12:53] I've never heard of both. [23:12:56] ... [23:13:07] ... [23:13:10] or hhvm (which is basically just a subset of vanilla PHP) [23:13:13] I presume by vanilla php, kaldari is meaning "stock" zend [23:13:26] ie not using extensions not supported/supplied in normal distributions [23:13:32] And hhvm [23:13:36] hhvm is facebooks reimplementation of php [23:13:41] WMF switched a while ago [23:13:50] Lot less server load, for the same amount of traffic [23:14:19] https://lmddgtfy.net/?q=hhvm [23:14:34] Reedy: Do you know if there's any support for hhvm on Tool Labs? [23:14:51] Not sure [23:14:57] But adding it, if not, shouldn't be an issue [23:14:58] moment [23:15:34] kaldari: there is [23:15:53] * Cyberpower678 is hungry [23:16:04] Got cookies. :p [23:35:53] Cyberpower678: I did some research on using HHVM on Tool Labs and wrote up a very basic documentation page in case it's useful: https://wikitech.wikimedia.org/wiki/Help:Tool_Labs/HHVM [23:43:24] kaldari, I'll have a look. My primary concern however is functionality at the moment, then I'll thoroughly document the code. [23:46:35] Then I clean up the code afterwards, once I'm certain the bot is working perfectly as it should. That way I don't waste time and effort prettifying something that I might destroy later. [23:49:49] You create tech debt to then fix up later? [23:52:07] Cyberpower678: It would be good to at least fix some of the trivial problems and separate out the execution code. That way we can start writing unit tests for everything. [23:52:26] Sure okay. [23:52:54] Cyberpower678: Do you want me to break that out as a separate task in Phabricator? [23:53:00] Define execution and logic code. This may be because I'm walking computer, but's all the same to me. [23:53:15] You don't have to. [23:55:11] Cyberpower678: Basically you should be able to load most of the logic for dead links without actually executing the bot. The easiest way to do that would just be to move lines 1 - 275 to a separate file. [23:55:45] although, you may want to functionalize some of the logic in that code as well while you're at it [23:55:53] off to a meeting. TTYL [23:56:19] Like I said, make it work first, sort it out later. [23:56:47] You can think of the code as my current thought process. I can work on best if it's in this kind of state. [23:56:52] *on code [23:56:57] Cya