[Wikitech-l] Tip for Sublime Text editors: DocBlockr plugin and conf for JSDuck

2013-11-19 Thread Krinkle
Hi,

If you're using Sublime Text as your text editor[1], I'd recommend checking out
the DocBlockr plugin[2]. It makes it easier to produce documentation comments.

It helps you through various features such as:
* Autocomplete various @-tags
* Auto-create blocks[3]
* Detect function params and property value types
* And lots more..

It avoids mistakes and speeds up the creation of conformant comments so that
Jenkins/JSDuck won't shout at you.

Though it provides all this by default, I recommend you fine tune it to your 
liking
(and to the specifics of JSDuck).

To deal with the variety in how different projects write documentation comments,
it has various configuration options[4] (e.g. @return vs @returns, @var, vs 
@property,
type {Boolean}, {boolean} or {bool} etc.). I've published my configuration on 
GitHub.
It might be useful to you to get started[5].

You can install DocBlockr in Subllime the easy way using Package Control[6],
or check out the plugin page[2] for manual installation.

-- Krinkle

[1] http://www.sublimetext.com/
[2] https://github.com/spadgos/sublime-jsdocs
[3] Type /** followed by tab to insert the template, then tab trough 
placeholders to fill them in
[4] 
https://github.com/spadgos/sublime-jsdocs/blob/2.11.7/Base%20File.sublime-settings
[4] 
https://github.com/Krinkle/dotfiles/blob/b2088da/hosts/KrinkleMac/SublimePreferences.json#L17-L23
[5] https://sublime.wbond.net/


___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Tip for Sublime Text editors: DocBlockr plugin and conf for JSDuck

2013-11-19 Thread Daniel Friesen
On 2013-11-19 3:35 AM, Krinkle wrote:
 Though it provides all this by default, I recommend you fine tune it to your 
 liking
 (and to the specifics of JSDuck).

 To deal with the variety in how different projects write documentation 
 comments,
 it has various configuration options[4] (e.g. @return vs @returns, @var, vs 
 @property,
 type {Boolean}, {boolean} or {bool} etc.). I've published my configuration on 
 GitHub.
 It might be useful to you to get started[5].
No per-project config we can put right into core?

~Daniel Friesen (Dantman, Nadir-Seen-Fire) [http://danielfriesen.name/]



___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

[Wikitech-l] Google Code-in update (was Re: Google Code-in starting NOW (important!))

2013-11-19 Thread Quim Gil
GCI is moving fast. We need more mentors and tasks, especially for
software development! See below.

On 11/18/2013 09:04 AM, Quim Gil wrote:
 http://www.google-melange.com/gci/homepage/google/gci2013
 https://www.mediawiki.org/wiki/Google_Code-In
 
 You can see all our open tasks at
 
 http://www.google-melange.com/gci/org/google/gci2013/wikimedia

Here goes a first report. I will send more of these but not as verbose.
 After one day we have

77 tasks in total, from which

* 2 have been closed as FIXED:

PROVIDE CSS CLASS (HLIST) TO DEFINE HORIZONTAL LISTS IN MEDIAWIKI CORE
http://www.google-melange.com/gci/task/view/google/gci2013/5772232571748352

TRIAGE (RETEST) ANY 10 OF MEDIAWIKI VECTOR SKIN (DEFAULT) BUG REPORTS
http://www.google-melange.com/gci/task/view/google/gci2013/5884303300886528

* 3 have been marked NeedsReview by the students:

MAKE SIMPLESEARCH PARAMETERS TO APIOPENSEARCH CONFIGURABLE
http://www.google-melange.com/gci/task/view/google/gci2013/5903692930744320
See https://gerrit.wikimedia.org/r/#/c/96162/

FIX LOW RESOLUTION RSS/ATOM FEED ICON FOR SIDEBAR
http://www.google-melange.com/gci/task/view/google/gci2013/5795046364282880
See https://gerrit.wikimedia.org/r/#/c/96197/

ADD A GO BACK TO TOP BOTTON TO KIWIX
http://www.google-melange.com/gci/task/view/google/gci2013/5839120244932608


* 2 marked for review have been pushed back by the mentors:

FILE PAGES SHOULD USE HIDPI 'SRCSET' ATTRIBUTE FOR THE MAIN IMAGE
http://www.google-melange.com/gci/task/view/google/gci2013/6705304553127936

SUPPRESS NATIVE INVALID E-MAIL WARNING ON SPECIAL:CHANGEEMAIL
http://www.google-melange.com/gci/task/view/google/gci2013/5315763447529472


We are missing more mentors and tasks, especially in the category of
DEVELOPMENT. The program is called Code-in, right? It's not too late.
Come on, step in!

https://www.mediawiki.org/wiki/Google_Code-In#Become_a_Wikimedia_GCI_mentor

These students will help you getting actual work done. If you are busy
enough to create tasks in Google Melange just point Andre Klapper and me
to the related bug reports and we will do that piece of work for you.

-- 
Quim Gil
Technical Contributor Coordinator @ Wikimedia Foundation
http://www.mediawiki.org/wiki/User:Qgil

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Tip for Sublime Text editors: DocBlockr plugin and conf for JSDuck

2013-11-19 Thread Tomasz Finc
On Tue, Nov 19, 2013 at 3:35 AM, Krinkle krinklem...@gmail.com wrote:
 DocBlockr

Nice. I hadn't know about  Package Control either.

thanks

--tomasz

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Tip for Sublime Text editors: DocBlockr plugin and conf for JSDuck

2013-11-19 Thread Nikolas Everett
Package Control is you friend.  How else do you install a linter or syntax
highlighting for a new language without touching a mouse?


On Tue, Nov 19, 2013 at 2:42 PM, Tomasz Finc tf...@wikimedia.org wrote:

 On Tue, Nov 19, 2013 at 3:35 AM, Krinkle krinklem...@gmail.com wrote:
  DocBlockr

 Nice. I hadn't know about  Package Control either.

 thanks

 --tomasz

 ___
 Wikitech-l mailing list
 Wikitech-l@lists.wikimedia.org
 https://lists.wikimedia.org/mailman/listinfo/wikitech-l

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Applying nofollow only to external links added in revisions that are still unpatrolled

2013-11-19 Thread Gabriel Wicke
On 11/18/2013 01:59 PM, Gabriel Wicke wrote:
 On 11/18/2013 12:27 PM, Risker wrote:
 To be honest, I suspect if the Google fellow said anything like this, it
 was that they might ignore nofollow on Wikimedia wikis, but I'm pretty
 certain that he didn't say Mediawiki wikis.
 
 I remember being surprised too that it applied to all MediaWiki
 installations rather than just Wikimedia sites. I have pinged him about it.

I now received an answer from my contact at Google:

Google will not follow rel=nofollow links, and not flow pagerank
through them.  That includes Wiki{m,p}edia sources.

So the information I got at Wikimania was either not correct or the
result of a misunderstanding on my part. Another possibility is that
this detail of how pagerank works is considered too sensitive for
publication.

It should not be too hard to verify this independently by setting up a
fresh page with an unguessable URL and linking it from a wiki page with
rel=nofollow. If googlebot visits that page (or it turns up in search
results), then rel=nofollow was ignored.

Gabriel

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Facebook Open Academy

2013-11-19 Thread Quim Gil
 https://www.facebook.com/OpenAcademyProgram

I am having a call with them on Friday morning PST and I will ask them
these questions. Let me know if you have further questions or you want
to join the chat.

-- 
Quim Gil
Technical Contributor Coordinator @ Wikimedia Foundation
http://www.mediawiki.org/wiki/User:Qgil

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Architecture RFC review meetings

2013-11-19 Thread Quim Gil
On 11/14/2013 01:19 PM, Quim Gil wrote:
 Wednesday, November 20, 2013 at 10:00 PM UTC at #wikimedia-meetbot
 https://www.mediawiki.org/wiki/Architecture_meetings/RFC_review_2013-11-20

This is in less than 24 hours.

 There are no RFCs scheduled yet.

That is still the  case.

 Seeing how the previous iterations
 went, perhaps the schedule could be defined by these priorities:
 
 # RFCs previously discussed with actions completed.
 # RFCs previously scheduled that were left out because of lack of time.
 # New RFCs pushed by their promoters.
 # RFCs called by the architects for a resolution.
 
 Up to you.

Nobody has commented on this idea. Nobody has proposed a specific RFC
for tomorrow either. Only two people have signed up in the wiki page.

 I will be there operating MeetBot.  :)

Actually I have another meeting at the same time. Even if I could cancel
it, it would be good to know whether the meeting will be hosted -- and
whether someone could volunteer operating the bot this time. It's easy.

-- 
Quim Gil
Technical Contributor Coordinator @ Wikimedia Foundation
http://www.mediawiki.org/wiki/User:Qgil

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Facebook Open Academy

2013-11-19 Thread Tyler Romeo
On Tue, Nov 19, 2013 at 7:14 PM, Quim Gil q...@wikimedia.org wrote:

 I am having a call with them on Friday morning PST and I will ask them
 these questions. Let me know if you have further questions or you want
 to join the chat.


I'm sure you've thought of most of these, but some obvious questions:

   - Would the students be using our existing code review infrastructure or
   is something Facebook specific required?
   - Would Facebook be the mentors for the program, with MediaWiki simply
   providing basic support? Or maybe each student would have a MediaWiki
   mentor as well as somebody from Facebook?
   - What is the syllabus for the class? What are the requirements for
   passing and getting college credit?
   - Do students work on multiple open source projects during the class? Or
   would they devote most of their effort to one project, and only contribute
   to others as an optional thing?
   - The document mentions teams. Are students put together in teams to
   work on stuff? If so how large are the teams, and how does this interact
   with the previous question?

This is literally everything I could think of, so if a question seems
inappropriate feel free to leave it out. Thanks in advance.

*-- *
*Tyler Romeo*
Stevens Institute of Technology, Class of 2016
Major in Computer Science
___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] Comet

2013-11-19 Thread Lee Worden
Thanks for responding, Aran, Tyler, and Daniel.  I appreciate your 
thoughtful advice.


I am planning to use SSE.  It's for some slow server-side operations
that typically take 1-3 minutes or so, where I want to give the user
near-real-time updates on what's happening.  I don't need full duplex
or a long-term connection, and I don't want to make wiki admins install
extra server software.  I could just do it with Ajax polling, but I
think SSE will give a more responsive feel.

I have an early version of this working now, that watches a file and
spools it out in an SSE event stream (by violently hijacking the
ApiBase logic and seizing low-level control of the HTTP response - I'm
sure it could be integrated into the output options in the Api class
hierarchy if there's interest).  This seems to work pretty well so far.

For slow operations with side effects, I'm going to do it in two parts: 
client calls api.php to request the operation; it sends back a single 
SSE event containing a key, and goes on with its business, writing 
information about its progress to a file; client calls api.php a second 
time, using the key, to watch that file.  This way it can robustly 
handle a bad connection or timeout by reconnecting without causing any 
unwanted side effects, like restarting the long operation.  The stream 
of output could just as well go in memcache or the database as in a 
file, but for my project it makes more sense to use the file system, 
because some of it will come from redirecting the output of unix commands.


LW


From: Aran a...@organicdesign.co.nz

Wouldn't WebSocket be the better choice for a full duplex channel?

On 14/11/13 21:12, Lee Worden wrote:

In the MW extension development I'm doing, I'm thinking of writing
some operations that use [[Comet_(programming)]] to deliver continuous
updates to the client, rather than the Ajax pattern of one request,
one response.

Has anyone messed with this?  Any code I should crib from, or advice
or cautionary tales?  Also, if it develops into something useful, I
could split it out for others to use.

Thanks,
LW



From: Tyler Romeo tylerro...@gmail.com

I have not messed with it personally, but I think it is a good idea. You
should also know that the HTML5 standard has standardized the Comet model
into server-sent events (SSE). [1] Mozilla also provides a nice tutorial on
how to use it. [2] However, one big catch is that this is not currently
implemented in Internet Explorer or mobile browsers. [3] So you'd have to
have your own custom pure-JavaScript implementation for IE support.

WebSocket, as another mentioned, is also an approach you could use.
However, WebSockets are meant for full duplex communication, meaning the
client is also talking back to the server, which may or may not be what you
want. Also using WebSockets means the internals of what is sent over the
socket and what it means is left to you to design, rather than being
standardized. Not to mention the fact that you have to implement WebSockets
in PHP or find a reliable library that will do it for you. And even then,
WebSockets are only supported in IE 10 and later, so you're still a bit
screwed in terms of backwards compatibility.

[1] http://www.w3.org/TR/eventsource/
[2]
https://developer.mozilla.org/en-US/docs/Server-sent_events/Using_server-sent_events
[3] http://caniuse.com/#feat=eventsource



From: Daniel Friesen dan...@nadir-seen-fire.com

Rather than natively using WebSockets you could use a higher-level library.
There are two of these in existence, Socket.IO[1] and SockJS[2].
Socket.IO is the popular implementation.
However when I looked into it I found SockJS to be the superior
implementation IMHO.

These libraries use WebSockets when available and fall back to a variety
of other methods when WebSockets aren't available.
So they support practically every browser.

However you're probably going to have to give up on PHP.

Neither Socket.IO nor SockJS have a PHP server implementation.
The only thing that shows up for Socket.IO is Elephant.IO[3] which is a
Socket.IO *client*.

If you go down to raw WebSockets there is Ratchet[4]. However that
brings up a number of issues that accumulate up to losing every single
point you could possibly have to run it using PHP.
Ratchet needs to spawn its own server. This means it needs a dedicated
port, domain, or a reverse proxy in front of it.
It also means that even though it's written in PHP you can no longer run
it on any form of shared hosting.
PHP is also not designed to run long running daemons. It can do it, but
you will have to watch this very carefully and be prepared to fix any
bugs that show up.
You'd expect that since it's in PHP you at least have the one remaining
advantage that you can directly interact with MediaWiki.
However all of MediaWiki's code is synchronous. This means that if you
directly use MW every time it needs to do something with the database,
memcached, filesystem, other storage, or a slow MW code path your

[Wikitech-l] RFC: Configuration database 2

2013-11-19 Thread legoktm
Hello,
As discussed in the last RFC review meeting, I've put together a
proposal for an on-wiki configuration scheme:
https://www.mediawiki.org/wiki/Requests_for_comment/Configuration_database_2.
Comments and feedback would be appreciated!

I've also added this to the list for tomorrow's RFC review meeting.

Thanks,
-- Kunal Mehta (Legoktm)

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] [Multimedia] Welcome, Aaron Arcos (volunteer!)

2013-11-19 Thread Matthew Flaschen

On 11/18/2013 06:38 PM, Rob Lanphier wrote:

I'm thrilled to announce that Aaron Arcos has agreed to volunteer for
the Wikimedia Foundation as a developer with our Multimedia team
through May.


Welcome.  I look forward to working with you.

Matt Flaschen


___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l