Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Let’s Start Contributing to Open Source!

Let’s Start Contributing to Open Source!

Workshop at Code Mania 110. Presented with @AimeTPGM.

Thai Pangsakulyanont

November 25, 2017
Tweet

More Decks by Thai Pangsakulyanont

Other Decks in Programming

Transcript

  1. 1
    Let’s start contributing
    to open-source!
    Code Mania 110

    View full-size slide

  2. Slide № 5
    dtinth
    Thai Pangsakulyanont (Thai)
    bemusic / bemuse
    dtinth / promptpay-qr

    taskworld / prescript

    View full-size slide

  3. Slide № 7
    dtinth
    Thai Pangsakulyanont (Thai)
    AimeTPGM
    Pankamol Srikaew (Aime)
    phoomparin
    Phoomparin Mano (Phoom)
    chonlatee
    Chonlatee Jumratsee (Neng)

    View full-size slide

  4. Slide № 8
    My open source story

    View full-size slide

  5. Slide № 9
    2006

    View full-size slide

  6. Slide № 13
    2006

    View full-size slide

  7. Slide № 14
    Nowadays, many JavaScript
    libraries, frameworks, plugins, …
    Back then…

    View full-size slide

  8. Slide № 16

    View full-size slide

  9. Slide № 17

    View full-size slide

  10. Slide № 18

    View full-size slide

  11. Slide № 19
    Date picker?

    View full-size slide

  12. Slide № 21

    View full-size slide

  13. Slide № 22

    View full-size slide

  14. Slide № 23
    Create my own

    View full-size slide

  15. Slide № 24

    View full-size slide

  16. Slide № 25
    offsetTop
    offsetLeft
    offsetHeight

    View full-size slide

  17. Slide № 26

    View full-size slide

  18. Slide № 27

    View full-size slide

  19. Slide № 28

    View full-size slide

  20. Slide № 29
    Open source
    is a way to give back to
    the community

    View full-size slide

  21. Slide № 30
    Open source
    motivated me to
    code more

    View full-size slide

  22. Slide № 31
    Work with existing
    open-source software

    View full-size slide

  23. Slide № 32
    Image:
    http://nevikup.blogspot.com/2011/07/smf.html

    View full-size slide

  24. Slide № 34
    Simple Machine Forums
    Heavily modded

    View full-size slide

  25. Slide № 35
    Lots of friends and
    programming experience!

    View full-size slide

  26. Slide № 36
    Reading and understanding code

    View full-size slide

  27. Slide № 37
    Reading and understanding code
    Debugging skills

    View full-size slide

  28. Slide № 38
    Reading and understanding code
    Debugging skills
    Organizing large codebase

    View full-size slide

  29. Slide № 39
    Reading and understanding code
    Debugging skills
    Organizing large codebase
    Maintainability

    View full-size slide

  30. Slide № 40
    Reading and understanding code
    Debugging skills
    Organizing large codebase
    Maintainability
    Security best practices

    View full-size slide

  31. Slide № 41
    Using and modifying
    open source software
    taught me the skills
    that tutorials
    could never teach

    View full-size slide

  32. Slide № 42
    Programming is more fun!

    View full-size slide

  33. Slide № 43
    dtinth / tabe25m

    View full-size slide

  34. Slide № 44
    dtinth / atom-aesthetic-ui

    View full-size slide

  35. Slide № 45
    But it doesn’t always
    have to be code!

    View full-size slide

  36. Slide № 46
    2014
    JavaScript for Automation

    View full-size slide

  37. Slide № 47

    View full-size slide

  38. Slide № 48
    JXA-Cookbook / JXA-Cookbook

    View full-size slide

  39. Slide № 49
    You don’t need to be an expert

    View full-size slide

  40. Slide № 50
    GitHub profile is
    a high-quality portfolio

    View full-size slide

  41. Slide № 51
    Contributing to open source
    is easier than ever

    View full-size slide

  42. Slide № 52

    View full-size slide

  43. Slide № 53
    How to get started?

    View full-size slide

  44. Slide № 54
    AimeTPGM
    Pankamol Srikaew (Aime)

    View full-size slide

  45. First Contribution
    Contribution 101: Newbie Edition

    View full-size slide

  46. 1BOLBNPM4SJLBFX
    9
    9 .,
    9 ., 9C D 9
    9 : 9
    9 C

    View full-size slide

  47. : 9
    HC : F F A
    HC : F F

    View full-size slide

  48. /: GF A 0 CG 9 D C C
    / D I A A 9 D 0/ I 0

    View full-size slide

  49. Contribution Cheatsheet
    A:
    , @D C
    D

    View full-size slide

  50. Contribution Cheatsheet
    DA A A: A 9C AG

    View full-size slide

  51. Contribution Cheatsheet
    $cd ~/your/path/to/folder
    $git clone https://github.com/this-is-you/a-repository.git
    G DA 9C D C A 9C AG

    View full-size slide

  52. Contribution Cheatsheet
    $git checkout -b
    $git add .
    $git commit -m “a short comment to commit”
    $git push origin
    $git checkout master
    $git merge
    $git branch -d
    $git status
    $git commit -m “a short comment to commit”
    $git push origin master
    G DA DC A A C F A D
    latest Make Pull Request (master + new feature)
    merge new feature to master
    latest
    master
    refactor
    new feature
    create a branch
    add all untracked files
    commit changes
    push changes
    change branch to master
    merge branch to master
    delete a branch
    check current status
    commit changes (if any)
    push to master

    View full-size slide

  53. Contribution Cheatsheet
    G DA DC A A C F A D
    $git checkout -b session-review
    $git add .
    $git commit -m “add review for sessions”
    $git push origin session-review
    $git checkout master
    $git merge session-review
    $git branch -d session-review
    $git status
    $git commit -m “update sessions’ reviews”
    $git push origin master
    latest
    master
    session-review
    merge session-review to master
    Make Pull Request
    Example

    View full-size slide

  54. Contribution Cheatsheet
    G DA 9C D A : ,D @D C

    View full-size slide

  55. Contribution Cheatsheet
    G DA 9C D A : ,D @D C

    View full-size slide

  56. github.com/Roshanjossey/first-contributions/
    blob/master/translations/README.th.md

    View full-size slide

  57. github.com/Roshanjossey/first-contributions/
    blob/master/translations/README.th.md

    View full-size slide

  58. github.com/Roshanjossey/first-contributions/
    blob/master/translations/README.th.md

    View full-size slide

  59. github.com/Roshanjossey/first-contributions/
    blob/master/translations/README.th.md

    View full-size slide

  60. – Aime
    (copied and modified the quote from Thor Ragnarok)
    I DA 9 C 9CH

    View full-size slide

  61. Slide № 74
    Workshop

    View full-size slide

  62. Slide № 75
    Repo:
    ThaiProgrammer / code-mania-110

    View full-size slide