Why ProgramGood.Net?
To have fun!
Explore the world of programming
To inspire, educate and entertain
On the way to Machu Picchu, Peru
What inspired you to start this?
Google searching - "How to Become a Great Programmer"
Great Article - 10 Years
norvig.com/21-days.htmlhttp://steve.yegge.googlepages.com/practicing-programming
http://graysmatter.codivation.com/HowIAmBecomingABetterDeveloperPart1OfInfinity.aspx
Highlights were:
Read a chapter a week from a programming book
Code the examples
Listen to Podcasts and Screencasts
Learn a new language every year!
Learn about the business of software development
Teach / Present topics
Have a mentor and be a mentor
What Topics Do You Want To Cover?
C# Language - am working through Head First C# 3.5
OOP Concepts
Types and References
Encapsulation
Inheritance
Interfaces
Collections
Files
Exceptions
Events and Delegates
LINQ
Recursion
Anonymous Types
Delegates
DataAdapters etc..Datasets (are they evil?)
PHP - A useful language!
Web Services
Design Patterns
Unit Testing
ORM
Libraries
IDE's / Tools JSON/XML
Reporting Services 2000 / 2005 / 2008 - Everyone likes reports! Good programmers have good tools.
How to produce good reports
How To Develop SoftwareXP Approach vs classic Waterfall Approach
StackOverflow example of how to develop software
Test Driven Development - TDD
TestingnUnit
nUnitASP
waitr
TestDriven.Net
NCover
cruisecontrol.net
dbunit
SourceControl TortoiseSVN and Subversion
Bug TrackingExcel!
CodeGenerators / ORM / HelperEntity framework - EntityDataSource and
GridViews/DetailsViews/
FormViews
Dynamic Data web
projects - create all standard list/details/edit/delete
pages
LINQ to SQL - don't use?
CodeSmithnHibernate
Subsonic
openaccess?
TypeMock / RhinoMocks
NHibernate
Lightspeed
CSLA
Tools
Visual Studio
Tips on how to use Visual Studio...
Resharper
reflector
App Types
Console
WinForm
WebForm
Webservice
WPF
Silverlight
Patterns - What are they.. families
MS Patterns and Practises group
Enterprise Library
MVC Framework
MVP
IoC
Web ASP.NET
Framworks and how to do stuff quickly
Membership
MasterPages
Open Source Projects - understand others code
ProjectRun
dasBlog
examples from www.asp.net
codeplex
BackgroundMotion
DineOut
StockTrader
Vertigo
Fun Challenges
Project Run
Project September
Charity Project
Coding Challenge (code breaker)
Perl/Python fun ones
Mapping - Jamie
Project Infotainmnet
Music Project - KitInABox
Code Monkeys (how long to create Shakespeare)
Treasure Sprint - treasuresprint.blogspot.com
Coding Competitions
Programmers / Developers I Admire and why
Scott Hanselman
JP Boodhoo
Ron Jacobs
Carl Franklin
Scott Gu
Scott Stanfield
Adam Cogan
Vertigo
Peter Jonesie
Bill Gates
James Kovacs
Mario Szpuszta
Matthew Macdonald
Ken Schwaber - scrum
Rocky Lhotka - csla
Traits of a great Programmer
Curiosity
Humble
Learn about successful projects and read source code
Play with others code
Have readable code
Great Books and Why
Mythical Man Month
Head First C# Programming 3.5
Joel Spolskys books
The Pragmatic Programmer
Software Craftsmanship
Coder to Developer
** - how quiet conditions are super important... 2 person office.. close doors.
Great Blogs and why
stackoverflow
Joel Spolsky
Thinking in Code
Languages - where they came from.. strengths and weaknesses
OOP / Procedural / Functional
C#
VB
Java
Python
Ruby / RoR
PHP
SQL
F#
oCaml
Prolog
C / C++
Lisp
Fortran
Cobol
Fun Geek Language
YAGNI - You Aint Gunna Need It
This smells - something doesn't feel right
Where did The Domain Name Come From?
Came from iWantToProgramGood... Written English has never been my strong point, and I never seem to wrote in sentences... only statements... followed by dots....and when I went to look at domain names, register.com suggested ProgramGood.Net.. How appropriate!
Lets start the journey!

Venezuela, sunset. About 4500m.