Back again with another update. Day two started off strong. It was tough to choose, but I opted to do Getting Started with Go and Continuous Delivery. There were definitely some other cool tutorials I wish I could have done such as Zero to Cloud with @NetflixOSS.
A cool free e-book to download OSCON 2014 speaker interviews
Eagerly awaiting another year of open source wonders, the Opensource.com community caught up with a handful of notable OSCON speakers to gather behind-the-scenes stories about their passions for open source. This book collects the interviews we conducted.
On to becoming a Gopher.
Steve Francia of MongoDB talked about his origin and how he began using Go and his baby is Hugo -> http://hugo.spf13.com/. The slides and tutorial are all online and you can do everything at your own pace. This was an awesome session and Steve did a fantastic job explaining *why* we need Go, the problems it solves, and how to build our first application. If you do follow along with these slides, it could take you anywhere from 2-8 hours to do it. It's 250 slides and it was ALOT to take in. Everyone works at a different pace. Me, I was SLOWWWWW. I had GoClipse installed. I spent the first 15 minutes trying to get Go working correctly there. One of the guys from Google came over and said, never use Eclipse. So I jumped over to Sublime and worked furiously to catch up. First lesson learned. I'm going to supplement this with the Go tutorial on pluralsight.
- The whole damn thing -> http://spf13.com/presentation/first-go-app/
- the code for every step -> https://github.com/spf13/firstGoApp-Planet
The second half of the day was spent with Neal Ford (ThoughtWorks) discussing Continuous Delivery. As a newbie developer it was good to have a better understanding of agile deployment and how it's all supposed to happen in the *real* world. Neal talked about the history of software development and deployment since the 70s and how there is a big difference between Continuous integration vs Continuous Delivery.
- CI: integrate and fix any change to your code
- CD: integrate and fix any change to -- your code or infrastructure.
There are multiple stages of the CD process
- commit -> acceptance -> manual stage (push (CI) vs pull (CD)) -> User Acceptance/Capacity/Production
machinery for CI: Jenkins & cruise go. Seems like Neil really liked Cruise Go because it does lots of automated browser testing, etc.
One example was how Facebook built in the Chat feature. Facebook started in New Zealand because that's the first country where sunlight hits the earth on the start of a day and they waited to examine their servers to see if anything was going to happen. From there, they eventually started toggling the feature for multiple types of locations