On Github VireshDhawan / SWLPresentation
Created by Viresh Dhawan / @vires
fewer engineers and dollars to ship code to more users than ever before
As the leverage of the individual software engineer increases, the barriers to becoming a code creator are falling fast. The same software foundation (open source software, development tools like Github, infrastructure as a service provided by the likes of Digital Ocean, and more) that allowed Whatsapp and Imgur to scale, means that experience and skill writing software become less important.
individual can now scale a web app to millions of users with Digital Ocean, Heroku and AWS
no longer requires a sophisticated understanding of MySQL parameters to scale a database on Google App Engine
no longer requires a knowledge of the CPU chip
where every piece of software started in Assembly
where software is like Legos, just snap the pieces together
Here is Brad Cox, the creator of Objective-C, writing 25 years ago
“Mature industries like plumbing are less complex than ours, not because software is intrinsically more complicated, but because they—and not we —have solved their complexity, nonconformity, and changeability problems by using a producer/consumer hierarchy to distribute these problems across time and organizational space”$ git --version
$ git config --global user.name "swlproject" $ git config --global user.email "swlproject@reallymymail.com"
$ git init
$ git clone https://github.com/phpguru/phpredis.git $ cd phpredis $ ls –la
$ cd path/to/repo $ git status
shows what you added, modified or deleted since your last commit.
$ cd path/to/repo $ git log $ git log --pretty=oneline $ git log -1
Shows the commit logs, why you committed something
Hopefully you wrote descriptive commit messages in the past!
$ git status
will show the file as "Changes not staged for commit"
$ git add newfile.txt $ git status
will show newfile.txt as "Changes to be committed"
$git commit -m "Added newfile.txt as an example" [Master 1e77a20] Added newfile.txt as an example 1 file changed, 0 insertions(+), 0 deletions(-)
$ cd path/to/repo $ git add (file) $ git add –A
$ cd path/to/repo $ git add (file) $ git commit -m "What did you change? Log messages matter."
$ git push {repository}{refspec} $ git push origin master $ git push origin master:master
As a rule of thumb, commit every hour, push every day
$ git clone https://github.com/gabrielecirulli/2048 Cloning into '2048'... remote: Counting objects: 1176, done. remote: Total 1176 (delta 0), reused 0 (delta 0), pack-reused 1176 Receiving objects: 100% (1176/1176), 556.45 KiB | 115.00 KiB/s, done. Resolving deltas: 100% (686/686), done. Checking connectivity... done.
$ cd 2048
$ git init $ git add .
$ git commit -m 'First commit'
$ git remote rm origin $ git remote add origin https://github.com/swlproject/swlproject.github.io.git
$ git push origin master Username for 'https://github.com': swlproject Password for 'https://swlproject@github.com': Counting objects: 744, done. Delta compression using up to 4 threads. Compressing objects: 100% (319/319), done. Writing objects: 100% (744/744), 434.69 KiB | 0 bytes/s, done. Total 744 (delta 422), reused 744 (delta 422) To https://github.com/swlproject/swlproject.github.io.git * [new branch] master -> master