Code Camp - 3,4 October 2009
4th annual at Foothill College
http://www.siliconvalley-codecamp.com
“Agile Development Process” with Chris Sims
At the beginning, write down the goal of the software development project; get agreement from the customer on what that goal is.
Then write a story – instead of requirements. Have a conversation about the story. Write acceptance tests cooperatively. Structure your conversation around the acceptance tests. (Developers will need to do unit tests also, of course.)
Iteration: The time it takes to deliver a small amount of software.
Daily Morning Standup: What did I get done yesterday? What do I expect to get done today? What is standing in my way?
Feedback: Attempts to surface issue – from the inside and the outside.
“Code Excellence for the Average Programmer” with Llewellyn Falco and Woody Zuill
These two engineers showed how quickly one can take a program with a lot of poor coding in it and remove clutter, complexity, cleverness and duplication. Notice that they said remove “cleverness”, since you want your code to be as simple and understandable as possible.
After every tiny improvement they made to the code, they ran a series of tests that immediately showed any errors that may have been introduced. They said you should not try to debug (existing bugs) at the same time as you are improving your code. “Never be more than two minutes away from checking in and going home.”
They used a lot of editor shortcuts to rename variables, extract methods, reformat code, extract a constant, etc.
“Google Software Tools” with Kevin Nilson
GWT and App Engine work well together.
You need to know Swing in order to learn GWT.
Picasa API’s are difficult.
KML is a mapping format in XML.
You can load a KML file into Google Maps.
To find latlng numbers: Go to Google Maps, Center on the spot you want, click on “link” and then find the latlng number in the resulting link.
Another Google API uses lnglat, so be careful on the order of coordinates.
Google Data Playground is helpful for learning about other Google API’s.
Nilson teaches at CSM, and I may want to take his course during my sabbatical.
“Networking for Developers” with Steve Evans
Different protocols are served out of different ports on our computers:
http: 80 (web server)
smtp: 25 (email)
https: 443
DNS: 53
If a web page doesn’t load, you can debug by checking the following possible issues:
1) name server resolution
2) port connection
telnet hostname portnumber
3) packet trace with wireshark
“Code Excellence for the Average Programmer” with Llewellyn Falco and Woody Zuill
These two engineers showed how quickly one can take a program with a lot of poor coding in it and remove clutter, complexity, cleverness and duplication. Notice that they said remove “cleverness”, since you want your code to be as simple and understandable as possible.
After every tiny improvement they made to the code, they ran a series of tests that immediately showed any errors that may have been introduced. They said you should not try to debug (existing bugs) at the same time as you are improving your code. “Never be more than two minutes away from checking in and going home.”
They used a lot of editor shortcuts to rename variables, extract methods, reformat code, extract a constant, etc.