Lets Hack Mediawiki

Final night presentation, we got ~6 hours left

Tony Thomas, Live at IITM  & #iitwmhack

Where are we ?

  • Understood basics of web application and git 
  • Tried following the Gerrit Tutorial, stuck ?
  • Cloned Mediawiki core, installed and running 
  • Checked out Phabricator, found easy bug 
  • Almost found out how to fix  a small bug 
  • Understood how the Mediawiki code-review works

Plans for tonight ?

Plans for tonight ?

  1. What to do when stuck ?
  2. What happens when I push the patch wrong ?
  3. Few best practices and tips 
  4. A non trodden path with Open Source 
  5. A short and sweet feedback and review session

When Stuck ?

You cant help it ? Get HELP

Ask in 

IRC

Ask in 

ML

Ask in

bug

When Stuck ?

Asking the right questions 

Hey, I was working on this bug - https://phabricator.wikimedia.org/T124676, on adding in an icon for Newsletter extension messages. I tried adding in the icon using this code ( link to code ), but I am getting this error ( link to error ). Can someone take a look , and tell me what I am doing wrong ?

What happens when I do it wrong ?

SIMPLE - resend it 

What happens when I do it wrong ?

  1. Gerrit review tool can download the change 
  2. You can amend it 
  3. Send it back, get more reviews 
  4. Repeat till it gets okey ;) 

https://www.mediawiki.org/wiki/Gerrit/Tutorial#Amending_a_change_.28your_own_or_someone_else.27s.29

What happens when I do it wrong ?

Few best practices

  • Use phpstorm, with the Mediawiki plugin installed 
  • Use zsh instead of bash 
  • Install a stable Linux Operating System 
  • Use Github search instead of ack-grep or grep
  • Stick to the coding standards ( use tabs, not spaces ) 
  • Easy bugs, have minimum discussions 
  • Start with bugs in extensions, then go forward with core
  • Test locally before pushing in 
  • Always use dpaste.de to share code in IRC channels
  • Google effectively and find answers 

A non-trodden path

For CS Undergrads

Open Source 

 

Cyber 

Security

Competitive 

programming

Outreachy
Applications
code 
fix 
bugs 
GSoC
automate
Vulnerability
CTFs
GSoC
CVE
find
solve
Codechef
Topcoder
ICPC
code
hired

Things you might wanna try

  • Linux Command Line: 
    1. http://overthewire.org/wargames/bandit/ -- bandit

    2. https://nixsrv.com/llthw - Learn Linux The Hard Way

    3. https://www.codecademy.com/learn/learn-the-command-line

  • Git: 
    1. https://try.github.io/levels/1/challenges/1

  • Cyber Security
    1. https://picoctf.com -- CTF style competition for beginners

  • By Facebook - techprep.fb.com

An early path

for your younger siblings

Open Source 

 

Cyber 

Security

Competitive 

programming

Google
 Code In
InCTFJ
junior 

ICPC

Few words about ThinKFOSS

  • Interested in mentoring something ? Here is the place 
  • We train in PHP, Python ( Django ) and few others

https://www.thinkfoss.com/register/user/portal/student/

Hack Mediawiki, day 3

By Tony Thomas

Hack Mediawiki, day 3

  • 869