Who writes this site
Ted Kolovos
I build web applications on the Microsoft stack and I write the lessons here so that a beginner can follow the same path I took, without the dead ends.
Background
My name is Ted Kolovos. I studied computer science and I have written software for the Internet since the early 1990s, back when email and newsgroups were the main ways people met online. The languages I have built with include C# and Java, along with C++ and C, and earlier on Visual Basic and Classic ASP. My clients have ranged from public sector bodies to commercial firms.
I hold a Microsoft Certified Solution Developer credential for .NET and a Project Management Professional credential. The project management side matters more than it sounds: most of what makes a web application painful is not the syntax, it is the planning and the order of work.
How I came to ASP.NET
In 2001 I was writing Classic ASP pages when I read about the new ASP.NET platform. It was clear that the model of controls, events and a real class library would change how web pages were built. My first ASP.NET applications date from 2002, and I have worked with the platform continuously since then.
I began teaching ASP.NET with C# in a classroom, and the questions students asked became the outline of this site. CSharpUniversity started in 2008 as a place to keep those answers together. In May 2009 Microsoft's ASP.NET community site chose one of the lessons here for its Article of the Day slot.
Why the lessons are written the way they are
Most programming trouble comes from missing context, not missing intelligence. A reader who does not know why a control posts back to the server will fight the framework forever. So each lesson here explains the reason first, shows the smallest working example second, and leaves you a short exercise third.
- Start with the idea, in plain words.
- Show one complete, runnable piece of code.
- Give you something small to change and observe.
- Link forward to the next idea so the path never stops dead.
Outside the editor
When I am not writing code I spend time with my family, play music, play sport and travel. I mention it only because the best debugging ideas tend to arrive away from the keyboard.