Having Fun with Social Coding. Sean Handley. February 25, 2010

Similar documents
CESSDA Expert Seminar 13 & 14 September 2016 Prague, Czech Republic

Topics covered. Introduction to Git Git workflows Git key concepts Hands on session Branching models. Git 2

Git Introduction CS 400. February 11, 2018

Overview. 1. Install git and create a Github account 2. What is git? 3. How does git work? 4. What is GitHub? 5. Quick example using git and GitHub

Working with GIT. Florido Paganelli Lund University MNXB Florido Paganelli MNXB Working with git 1/47

Git - A brief overview

How to be a git. Dominic Mitchell

What is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development;

INET

AIS Grid School 2015

Versioning with git. Moritz August Git/Bash/Python-Course for MPE. Moritz August Versioning with Git

GIT. A free and open source distributed version control system. User Guide. January, Department of Computer Science and Engineering

Git. Ľubomír Prda. IT4Innovations.

Git and GitHub. Dan Wysocki. February 12, Dan Wysocki Git and GitHub February 12, / 48

About SJTUG. SJTU *nix User Group SJTU Joyful Techie User Group

Tutorial: Getting Started with Git. Introduction to version control Benefits of using Git Basic commands Workflow

Git & Github Fundamental by Rajesh Kumar.

Outline The three W s Overview of gits structure Using git Final stuff. Git. A fast distributed revision control system

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.

A Practical Introduction to Version Control Systems

Algorithm Engineering

Introduction to Git and Github Repositories

Git. A fast distributed revision control system. Nils Moschüring PhD Student (LMU)

GIT VERSION CONTROL TUTORIAL. William Wu 2014 October 7

How to version control like a pro: a roadmap to your reproducible & collaborative research

Overview. during this tutorial we will examine how touse git from the command line. finally we will explore a graphical visualisation of git activity

Git! Fundamentals. IT Pro Roundtable! June 17, 2014!! Justin Elliott! ITS / TLT! Classroom and Lab Computing!! Michael Potter!

Θερινό Σχολείο, Ιουλίου git. Αχιλλέας Πιπινέλης. Μονάδα Αριστείας ΕΛ/ΛΑΚ ΤΕΙ Αθήνας

Version control with Git.

Getting started with GitHub

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.

Push up your code next generation version control with (E)Git

Software Development I

Version Control: Gitting Started

Version control system (VCS)

S18 Modern Version Control with Git

Git. SSE2034: System Software Experiment 3, Fall 2018, Jinkyu Jeong

GETTING STARTED WITH. Michael Lessard Senior Solutions Architect June 2017

GIT for companies Mark Struberg, INSO TU Vienna

Git for Newbies. ComMouse Dongyue Studio

F17 Modern Version Control with Git. Aaron Perley

Git. A Distributed Version Control System. Carlos García Campos

Lecture 2: Data in Linguistics, Git/GitHub, Jupyter Notebook. LING 1340/2340: Data Science for Linguists Na-Rae Han

Impressory Documentation

AMath 483/583 Lecture 2

Git. Presenter: Haotao (Eric) Lai Contact:

Installing and Using Docker Toolbox for Mac OSX and Windows

Boot your computer into GNU/Linux. Overview. Introduction to git on the command line. Introduction to git on the command line

1. Which of these Git client commands creates a copy of the repository and a working directory in the client s workspace. (Choose one.

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 17, 2018

AMath 483/583 Lecture 2. Notes: Notes: Homework #1. Class Virtual Machine. Notes: Outline:

New Contributor Tutorial and Best Practices

Version control. with git and GitHub. Karl Broman. Biostatistics & Medical Informatics, UW Madison

Using git to download and update BOUT++

GIT FOR SYSTEM ADMINS JUSTIN ELLIOTT PENN STATE UNIVERSITY

Git Guide. Meher Krishna Patel. Created on : Octorber, 2017 Last updated : October, More documents are freely available at PythonDSP

Git for Version Control

Source Code Management wih git

Version Control. Version Control

Version Control. Software Carpentry Github s Hello World Git For Ages 4 And Up You need source code control now

Chapter 5. Version Control: Git

Version Control for Fun and Profit

[Software Development] Development Tools. Davide Balzarotti. Eurecom Sophia Antipolis, France

Software Project (Lecture 4): Git & Github

An Introduction to Subversion

Index. Alias syntax, 31 Author and commit attributes, 334

Visualizing Git Workflows. A visual guide to 539 workflows

USING GIT FOR AUTOMATION AND COLLABORATION JUSTIN ELLIOTT - MATT HANSEN PENN STATE UNIVERSITY

TDDC88 Lab 4 Software Configuration Management

Git. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015

DEAD-SIMPLE VERSION CONTROL FOR YOUR TEAM GIT WITH MATTHEW REIDSMA GRAND VALLEY STATE UNIVERSITY

Introduction to Monte Python

Assumptions. GIT Commands. OS Commands

Version Control with GIT

a handful of Git workflows for the agilist steven harman twitter: stevenharman

A: Yes. It is free to use and modify under the terms of the LGPL License for the Core and under the MIT License for the components.

Accessing OSIRIS and using OSIRIS through GitHub

Software Revision Control for MASS. Git Basics, Best Practices

Version Control with Git

From Commits to Collaboration: A Git Tutorial for Social Scientists

Using GitHub to Share with SparkFun a

catsup Documentation Release whtsky

Version Control Systems (Part 1)

Zephyr Kernel Installation & Setup Manual

Getting started with State Records Authority of NSW s Authority Editor

GUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1

Version Control with Git

Poulpe Documentation. Release Edouard Klein

git the SCM system Jan-Simon Möller training.linuxfoundation.org

Git Tutorial. André Sailer. ILD Technical Meeting April 24, 2017 CERN-EP-LCD. ILD Technical Meeting, Apr 24, 2017 A. Sailer: Git Tutorial 1/36

Esri on GitHub: How to Participate in Open Source Projects

Tools. SWE 432, Fall Design and Implementation of Software for the Web

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.

Programming with Haiku

Git for Subversion users

Technology Background Development environment, Skeleton and Libraries

Lesson 7: Recipe Display Application Setup Workspace

Distributed Version Control (with Git)

Decentralized Version Control Systems

Continuous integration & continuous delivery. COSC345 Software Engineering

Transcription:

Having Fun with Social Coding February 25, 2010

What is Github? GitHub is to collaborative coding, what Facebook is to social networking 1 It serves as a web front-end to open source projects by allowing things like source code access, wikis, commit histories, branches, tags etc It also uses feeds to publish actions on projects, such that they are easily aggregated by a news feed page Like Twitter, you can follow users and watch projects such that their traffic ends up on your news feed page 1 Interestingly, Facebook s source code is on GitHub!

What is Git? Git is a distributed source control system written by Linus Torvalds (perhaps you ve heard of him?) He wrote it for Linux kernel development (where it is still used) and aimed to make it fast and flexible Every Git working directory is also a full repository, removing the requirement for network access which you get in centrally organised source control It s geared for rapid, non linear development and ideal for open source projects

How to get git On Debian/Ubuntu: $ sudo apt-get install git On Mac OS X via MacPorts: $ sudo port install git On Windows, use CygWin, or visit http://code.google.com/p/msysgit/downloads/list

Some git commands $ cd (project-directory) $ git init $ (add some files) $ git add. $ git commit -m Initial commit $ cd (new-project-directory) $ git clone (some git url) $ (make some changes) $ git commit -m I made some changes! $ git push origin

Why Git is *awesome* It s fast and efficient (much faster than SVN, for example) It works distributed so there s no central point of failure Commits are cryptographically archived, such that they cannot be modified without detection. Each object in the repository is hashed via sha-1 It s easy and cheap to branch

Why Github is *awesome* The feeds it offers make it easy to keep tabs on multiple projects It has excellent source code display with syntax highlighting, line numbers etc It is free and open source It shows full diffs per commit Shows graphs for activity, commits etc etc Usual social network features - user profiles, messaging, comments etc

Reading Source Code on Github

Viewing Commits on Github

Ruby and Rails Why Ruby is *awesome* It s a dynamically typed, pure object-oriented language with natural syntax and some functional elements It s highly reflective (for example, it lets you open classes back up at runtime and define new methods on them It lets you write really elegant, beautiful code Focuses on the human element of coding - garbage collection is automatic, the language strives to be as unsurprising and natural as possible It s free, open source and developed and maintained by bright, passionate developers I can t qualify it but it s more fun programming in it than other languages!

Ruby and Rails Snippet 1: Hello World

Ruby and Rails Snippet 2: Add methods to core classes on the fly

Ruby and Rails Some fun projects on Github Toto - a lightweight blogging system which uses git itself to store blog entries http://github.com/cloudhead/toto Coffee Script - Nice simple language that compiles to JavaScript http://github.com/jashkenas/coffee-script Facebook s HipHop library - translates php into optimised C++ http://github.com/facebook/hiphop-php

Going Further Stuff to Read http://www.github.com - Github itself http://whygitisbetterthanx.com - Comparison of Git to other source control systems http://tryruby.org - Excellent interactive Ruby tutorial http://www.rubyonrails.org - Home of Rails

Going Further Questions?