Besut Kode Universitas Seminar Jakarta (Gunadarma)

58 views

Published on

Presentasi John Vandenberg, Mentor Google Summer of Code dan Mentor Google Code In untuk peserta seminar Besut Kode Jakarta.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
58
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Do you want to become a programmer?
    Do you like mathematics or natural science?
    Then you need to code, and code well!
    This workshop will show you a few tools, to help you get started.
  • Do you want to become a programmer?
    Do you like mathematics or natural science?
    Then you need to code, and code well!
    This workshop will show you a few tools, to help you get started.
  • Do you want to become a programmer?
    Do you like mathematics or natural science?
    Then you need to code, and code well!
    This workshop will show you a few tools, to help you get started.
  • Do you want to become a programmer?
    Do you like mathematics or natural science?
    Then you need to code, and code well!
    This workshop will show you a few tools, to help you get started.
  • https://www.flickr.com/photos/lumaxart/2137737248/ CC-BY-SA
  • https://commons.wikimedia.org/wiki/File:Olivetti_Valentine.jpg
    Public domain
  • Git is the canvas on which you work and collaborate.
    Git is an open source distributed version control system (VCS).
    Git was created by Linus Torvalds, to help him build an operating system that you may have heard of, called Linux.
    <number>
  • Github is website built around Git.
    Everyone must know git.
    https://commons.wikimedia.org/wiki/File:Git_operations.svg GFDL
  • Git is the canvas on which you work and collaborate.
    Git is an open source distributed version control system (VCS).
    Git was created by Linus Torvalds, to help him build an operating system that you may have heard of, called Linux.
    <number>
  • Git manages files that are being edited by people all over the world, giving each copy its own version identifier. So each person knows which version they have, and how to merge their changes with other peoples changes, to the same file.
  • Git is the canvas on which you work and collaborate.
    Git is an open source distributed version control system (VCS).
    Git was created by Linus Torvalds, to help him build an operating system that you may have heard of, called Linux.
    <number>
  • Github has more than 14 million users and more than 35 million repositories. 125,000 LOC added per day.
    It the largest host of source code in the world.
    It also host websites on Github Pages.
  • 53rd most visited site on the Internet
    Up 10 in last three months
    i.e. was 63rd three months ago
  • Your Github profile is your most important CV.
    It doesnt lie.
    It does not include information, such as I am a PLSQL programmer extrordinaire, but PLSQL is not in my github repositories as it is all commercial.
  • And Github publishes their prime asset; thier metadata .
    You can download it on Github Archive.
  • People fetch the Github Archive data, and publish new statistics
    Such as http://octoboard.com/ (Defunct) showing statistics as of March 11, 2012
    https://web.archive.org/web/20150801193208/http://octoboard.com/
  • Another tool shows the most “starred” developers, per country
    Notice faisalman, best in Bandung
  • Per city
  • If you are a startup company in Bandung, and you need a good developer, who are you going to call…
  • Another way to look for Indonesians is to look for Awesome repositories
    This is an awesome github project, linking to all the other awesome github projects by Indonesians
    This list is managed by the GitIndonesia organisation
  • Any thing you can legally share
    Public domain, Creative Commons, and other Open Licenses.
  • The Nova Organi Harmonia , by German priest and musicologist Jules Van Nuffel
    Organ accompaniments for Gregorian Chant
  • LilyPond transcription
    LilyPond is a computer program and file format for music *engraving* , to make printed music look beautiful, accurately representing the original printing .
  • No code here – just data in JSON files
  • 76 commits (changes)
    17 different people
  • CSS – 50.7%
    JavaScript – 41.5%
    HTML – 7.5%
    Ruby – 0.3%
  • We can find out who made those changes.
  • One of those contributions is by “Mylee”, who is Mika from Finland.
    Who knows what this change does?
    It is not surprising that it requires someone outside of USA to fix this bug.
  • And here is their bug tracker.
  • Maybe you do not want to create a website by hand?
    GitBook will help you focus on writing,
    And they will create a beautiful website for you.
  • Here is the Github Repository
  • A research paper with Latex formula
  • Another Github addon tool is SiteLeaf, which includes a beta WYSIWYG editor.
    This is a Wordpress killer.
  • Free cloud servers, building open source projects.
  • Travis CI provides free virtual machines for open source projects.
    In return, Open source programmers fix bugs for them.
    Everyone wins.
  • Finding bugs.
    We dont need to open a text editor, or a command prompt.
    Github integrates many online services that do the linting for us.
  • Here are some projects I have in Code Climate.
    Code Climate consolidates the results from a suite of static analysis tools into a single, real-time report, giving your team the information it needs to identify hotspots, evaluate new approaches, and improve code quality.
  • It supports many languages and linters.
    But it doesnt support C.
  • Some of the problems it finds
  • An explanation of the problem.
  • Blissai supports the most languages, with many types of linters.
    Includes the C family of languages.
  • Besut Kode Universitas Seminar Jakarta (Gunadarma)

    1. 1. Besut Kode John Vandenberg Mentor – Wikimedia https://github.com/jayvdb https://slideshare.net/jayvdb
    2. 2. Welcome Wikimedia is an Open Community
    3. 3. Welcome Open Content Wikimedia is an Open Community
    4. 4. Welcome Open Content Wikimedia is an Open Community
    5. 5. Wikimedia components
    6. 6. Open Science = Open Data + Science
    7. 7. Session topics Besut Kode program Google Summer of Code program Build your GitHub profile
    8. 8. Besut Kode SMA: results
    9. 9. Besut Kode program Registration → Elimination → Mentoring → GSOC
    10. 10. Besut Kode program Registration → Elimination → Mentoring → GSOC 1. Set up online accounts: 2. Use online services: 1. Create your own Jekyll website 2. Edit Wikipedia article 3. Earn one Stack Overflow badge 4. Solve three Project Euler problems 5. Fix a small bug in a GitHub repository
    11. 11. Besut Kode program Registration → Elimination → Mentoring → GSOC Task 1 Task 2 Task 3 Task 4 Task 5
    12. 12. Besut Kode program Registration → Elimination → Mentoring → GSOC Task 1 Task 2 Task 3 Task 4 Task 5
    13. 13. Besut Kode program Registration → Elimination → Mentoring → GSOC Task 1 Task 2 Task 3 Task 4 Regular GitHub activity: every three days
    14. 14. Besut Kode program Registration → Elimination → Mentoring → GSOC Task 1 Task 2 Task 3 Task 4 Earnt three Stackoverflow badges 20
    15. 15. Besut Kode program Registration → Elimination → Mentoring → GSOC Each participant builds a small block of a common problem. You choose the color of your block. Mentors help you make decisions, and identify quality problems. Your block must be merged.
    16. 16. Besut Kode program Registration → Elimination → Mentoring → GSOC February 2017 Jakarta Application writing workshop Mid-March 2017 – FOSSASIA Singapore Build connections March 2017 Submit application
    17. 17. Google Summer of Code Application review Applicants Reviewer/Mentor
    18. 18. Google Summer of Code Application review What are my questions when reviewing? ● Which University are they from? ● What projects have they done at University? ● What programming languages do they know? ● What is their IELS score? ● How well written is the application? ● Have they defined good milestones?
    19. 19. Google Summer of Code Application review What are my questions when reviewing? ● Which University are they from? ● What projects have they done at University? ● What programming languages do they know? ● What is their IELTS score? ● How well written is the application? ● Have they defined good milestones?
    20. 20. Google Summer of Code Application Review Google Stalking
    21. 21. Apa itu Git?
    22. 22. Git adalah Github adalah situs web yang dibangun disekitar Git. Setiap orang harus tahu Git itu apa (terutama pemrogram perangkat lunak) Github adalah situs web yang dibangun disekitar Git. Setiap orang harus tahu Git itu apa (terutama pemrogram perangkat lunak)
    23. 23. Apa itu Git? ● Git adalah kanvas dimana Anda bekerja dan berkolaborasi ● Git adalah distributor perangkat lunak terbuka dengan dengan sistem terkendali (VCS) ● Git diciptakan oleh Linus Torvalds, untuk membantunya membangun sistem operasi Linux. https://github.com/GitIndonesia/handbook https://github.com/endymuhardin/buku-git https://github.com/endymuhardin/belajarGit
    24. 24. Git adalah Git mengelola berkas yang disunting oleh orang-orang dari seluruh dunia, dan memberikan setiap berkas identifiernya, sehingga setiap orang tahu versi yang mana yang mereka punya, dan bagaimana mereka bisa menggabungkan perubahan yang mereka punya dengan perubahan yang dilakukan oleh orang lain ke berkas yang sama.
    25. 25. Apa itu GitHub?
    26. 26. GitHub.com  35 juta repo  Publik : Sumber terbuka (Open Source)  Privat : Untuk komersil  125,000 baris kode (lines of code -LOC) diciptakan per hari  14 juta pengguna  Halaman GitHub – hosting situs web gratis
    27. 27. GitHub.com Ranking Global Alexa: 53
    28. 28. GitHub.com  The same size as − Foursquare − Academia.edu − LiveJournal  1/2x the size of − Flickr − DeviantArt  2x the size of − WAYN − SoundCloud − Delicious Bahasa Inggris Competitors  GitLab.com  BitBucket.com  Launchpad.com  SourceForge.com  CodePlex.com
    29. 29. Profil Github Anda
    30. 30. GitHub – mempublikasikan metadata https://www.githubarchive.org/
    31. 31. Statistik GitHub http://octoboard.com/ (Defunct) on March 11, 2012
    32. 32. Github Awards - Indonesia http://github-awards.com/users?type=country&language=java&country=Indonesia
    33. 33. Github Awards - Malang http://github-awards.com/users?type=country&language=javascript&country=Indonesia
    34. 34. Github Awards - mnafian http://github-awards.com/users/mnafian
    35. 35. Repo Indonesia yang keren https://github.com/GitIndonesia/awesome-indonesia-repo https://facebook.com/groups/GitHubID
    36. 36. GitHub – bukan sekedar perangkat lunak  Perangkat lunak (software) itu bukan hal istimewa, mereka hanya berkas  Publik atau pribadi (privat)  Publik: ● Data terbuka ● Rumah terbuka ● Perusahaan terbuka ● Situs web terbuka ● Tulisan ● Terjemahan
    37. 37. Berbagi berkas di GitHub https://github.com/CMAA/nova-organi-harmonia
    38. 38. Berbagi berkas di GitHub https://github.com/CMAA/nova-organi-harmonia
    39. 39. GitHub – geospacial data https://github.com/tyohan/bandung-map-dataset
    40. 40. https://github.com/tyohan/bandung-map-dataset { "type": "FeatureCollection", "features": [{ "type": "Feature", "properties": { "FID": 0, "KECAMATAN": "Sukajadi", "WILAYAH": "Bojonegara", "AREA": 5480185.146, "PERIMETER": 10298.719, "ACRES": 125.808, "HECTARES": 50.913 }, "geometry": { "type": "Polygon", "coordinates": [ [ [107.57003930459555, -6.882494694920302], [107.57030879918078, -6.882441184395826], [107.5706591421416, -6.882753329036982], [107.57142271013309, -6.882922778899057], [107.57935483409187, -6.88047912766603], [107.5794716150788, -6.880505883039601], [107.57972314335836, -6.8813085435457255], [107.58231029137661, -6.880523719954478], [107.58210367886127, -6.879712139649211], [107.58218452723685, -6.879587281017616], [107.58802357658362, -6.877981952829806], [107.59081733711723, -6.878383285385431], [107.59183243338829, -6.878383285385431], [107.59219175950194, -6.878303018901451], [107.59281159704798, -6.877714397604333], [107.5933146536071, -6.877616293983891], [107.59383567647187, -6.877874930757695], [107.59473399175599, -6.878677595710719], [107.59478789067303, -6.879587281017616], [107.59670130222821, -6.879498096260649], [107.59796792677882, -6.881879323524487], [107.59974659104138, -6.883698680126476], GitHub – geospacial data
    41. 41. GitHub – website hosting https://sourcecode.cio.gov
    42. 42. GitHub – website hosting
    43. 43. GitHub – website hosting
    44. 44. GitHub – website hosting
    45. 45. Menghosting situs web di GitHub
    46. 46. Menghosting situs web di GitHub
    47. 47. Mengerjakan laporan di GitHub
    48. 48. Mengerjakan laporan di GitHub
    49. 49. Mengerjakan soal matematika menggunakan LaTeX di Github
    50. 50. GitHub dengan SiteLeaf Perangkat tambahan Github lainnya adalah SiteLeaf, yang termasuk alat penyuntingan beta WYISWYG (apa yang anda lihat anda dapatkan) Perangkat tambahan Github lainnya adalah SiteLeaf, yang termasuk alat penyuntingan beta WYISWYG (apa yang anda lihat anda dapatkan)
    51. 51. Continuous Integration (CI) Integrasi berkelanjutan https://github.com/integrations/feature/continuous-integration Continuous Integration (CI) atau integrasi berkelanjutan adalah sebuah cara untuk membuat tes berjalan secara otomatis (seperti menyusun program, menjalankan unit tes, dll). CI digunakan dengan cara memerintahkan apa yang harus dilakukan ( seperti: susun program ini dengan clang, jalankan program ini, Tes kecepatan program, dll ). Instruksi ini biasanya ditulis dengan berkas konfigurasi (configure files), dan perintahnya adalah command Linux/*nix. Karena itu, pengetahuan dasar Linux dibutuhkan untuk memakai CI.
    52. 52. GitHub – Continuous Integration (CI) Integrasi Berkelanjutan https://www.traviscistatus.com/
    53. 53. Kualitas perangkat lunak GitHub  https://github.com/integrations/feature/code-quality Alat yang memberi peringatan untuk aspek aspek yang mencurigakan dalam kode sumber, yang bisa jadi kesalahan (bug) Biasanya menggunakan analisa statik – dimana mereka tidak menjalankan program saat analisa berjalan.
    54. 54. Code Climate https://codeclimate.com/dashboard Code Climate menyatukan hasil-hasil dari serangkaian analisa statik menjadi satu laporan langsung, yang memberikan tim Anda informasi yang mereka perlukan apabila mereka perlu untuk mengidentifikasikan daerah daerah kritis, mengevaluasi cara-cara baru, dan memperbaiki kualitas kode.
    55. 55. Code Climate CSS Go JavaScript PHP Python Ruby Apex CoffeeScript Ember ESLint Haskell Haxe RubyMotion Rails SCSS Swift Vim Script Brakeman OSS Bundler-Audit Coffeelint CSSLint Duplication ESLint FIXME Node Security Project (nsp) Pep8 PHP Code Sniffer PHP Mess Detector Radon RuboCop ApexMetrics Ember-watson Foodcritic gofmt golint ... Mendukung banyak bahasa pemrograman & linters. Tapi tidak mendukung C Mendukung banyak bahasa pemrograman & linters. Tapi tidak mendukung C
    56. 56. Code Climate Beberapa masalah yang ditemukan Beberapa masalah yang ditemukan
    57. 57. Code Climate Contoh penjelasan masalah Contoh penjelasan masalah
    58. 58. blissai.com
    59. 59. blissai.com BLISSAI Blissai mendukung banyak bahasa pemrograman dan memiliki banyak tipe linters. BLISSAI Blissai mendukung banyak bahasa pemrograman dan memiliki banyak tipe linters. Go JavaScript TypeScript Java C C++ C# Objective-C Objective-C++ PHP Python Ruby CoffeeScript Rails CSS SCSS Swift Scala Elixir Perl Stylus

    ×