Search

Categories

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Send mail to the author(s) E-mail

# Saturday, 08 November 2008

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.html
http://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 Software
XP Approach vs classic Waterfall Approach
StackOverflow example of how to develop software

Test Driven Development - TDD

Testing
nUnit
nUnitASP
waitr
TestDriven.Net
NCover
cruisecontrol.net
dbunit

SourceControl
 TortoiseSVN and Subversion

Bug Tracking
Excel!

CodeGenerators / ORM / Helper
Entity 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.
| | #