Click here to Skip to main content

Chris Maunder - Professional Profile

233,436
Author
10,949
Authority
137,416
Debator
10,848
Editor
2,764
Enquirer
8,294
Organiser
5,405
Participant
31 Dec 2004: CodeProject MVP 2005
Chris is the Co-founder, Administrator, Architect, Chief Editor and Shameless Hack who wrote and runs The Code Project. He's been programming since 1988 while pretending to be, in various guises, an astrophysicist, mathematician, physicist, hydrologist, geomorphologist, defence intelligence researcher and then, when all that got a bit rough on the nerves, a web developer. He is a Microsoft Visual C++ MVP both globally and for Canada locally.
 
His programming experience includes C/C++, C#, SQL, MFC, ASP, ASP.NET, and far, far too much FORTRAN. He has worked on PocketPCs, AIX mainframes, Sun workstations, and a CRAY YMP C90 behemoth but finds notebooks take up less desk space.
 
He dodges, he weaves, and he never gets enough sleep. He is kind to small animals.
 
Chris was born and bred in Australia but splits his time between Toronto and Melbourne, depending on the weather. For relaxation he is into road cycling, snowboarding, rock climbing, and storm chasing.
Member since Thursday, July 6, 2000 (11 years, 7 months)

     
Articles 106 (Legend)
Tech Blogs 0
Messages 25,014 (Master)
Q&A Questions 5
Q&A Answers 67
Tips/Tricks 6
Comments 124

Below is the list of groups in which the member is participating


The Code Project

Software Developer
The Code Project
Canada Canada

Administrator, Manager, Author, Member


Organisation
members



The Back Room Moderators



United States United States

Administrator, Manager, Author, Member


Collaborative Group
members



The Ultimate Toolbox

Web Developer

Canada Canada

Administrator, Manager, Author, Member


Organisation
members

In January 2005, David Cunningham and Chris Maunder created TheUltimateToolbox.com, a new group dedicated to the continued development, support and growth of Dundas Software’s award winning line of MFC, C++ and ActiveX control products.
 
Ultimate Grid for MFC, Ultimate Toolbox for MFC, and Ultimate TCP/IP have been stalwarts of C++/MFC development for a decade. Thousands of developers have used these products to speed their time to market, improve the quality of their finished products, and enhance the reliability and flexibility of their software.

The Insider

Publisher
The Code Project
United States United States

Administrator, Manager, Author, Member


Collaborative Group
members

Sign up to get the news you didn't even know you needed to know in the most valuable 5 minutes of reading of your day.
 
The Code Project Daily Insider keeps you up to date with what is happening around the industry. From the continue saga of the Big Boys to Scott Guthrie's blog ramblings and Steve Jobs' latest, you will find it here.

CodeProject Beta Testers



United States United States

Administrator, Manager, Author, Member


Collaborative Group
members



Chinese Forum Moderators



United States United States

Administrator, Manager, Author, Member


Collaborative Group
members



CodeProject Mentors



United States United States

Administrator, Manager, Author, Member


Collaborative Group
members



CodeProject Insiders



United States United States

Administrator, Manager, Author, Member


Collaborative Group
members


For more information on Reputation please see the FAQ.
 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   


Advertise | Privacy | Mobile
Web04 | 2.5.120210.1 | Last Updated 14 Feb 2012
Copyright © CodeProject, 1999-2012
All Rights Reserved. Terms of Use
Layout: fixed | fluid

You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
  Refresh
GeneralChanges to Quick Answers PinPopular
Wednesday, September 8, 2010 1:17 PM
Nothing really huge, more of just a recognition that voting for a question or answer is different than voting for an article.
 
Voting is incredibly important in helping filter the good and the bad, but useless if no one votes. Voting can be, however, detrimental to the motivation of authors if downvoting can take place without accountability.
 
My feeling on this is that articles, technical blogs and Tips are permanent references and their vote has weight. Questions are ephemeral and nowhere near the amount of effort has gone into posting a question as would go into, say, posting a tip - let alone an article.
 
In light of this I've removed the features for questions and answers that requires a comment to be provided on a downvote. With the introduction of the comment requirement the number of votes fell dramatically, and the votes that did occur were not always useful. By removing the barrier to voting, Quick Answers now falls into line with the discussion forums with voting now easier and more likely to be cast.
 
We'll see. Maybe this is a Very Bad Thing. Maybe we put comments back on answers, but not questions. Maybe we change the voting to simply be yay/nay.
cheers,
Chris Maunder
 
The Code Project | Co-founder
Microsoft C++ MVP

GeneralRe: Changes to Quick Answers PinmemberDalek Dave1:25 9 Sep '10  
GeneralRe: Changes to Quick Answers PinmemberRajesh Sajjanar9:05 5 Oct '10  
 
GeneralNew article design PinPopular
Friday, June 25, 2010 12:33 PM
We have a new article layout!
 
After an absolute marathon 3 weeks I'm happy to let our new baby free into the world. A cleaner layout, less clutter, no more left-hand side bar, and a rationalised top-menu.
 
While doing this we also added a few more things:
 
- inline posting of answers in the Quick Answers section
- Next / previous buttons on Quick Answer pages to allow you to whiz through them faster.
- Source code browsing
- A flyout sitemap of Chapters and sections (see the sign post at the top left of articles)
- A slightly (and I mean, slightly) improved iPhone experience.
- A few niceties for non-IE users, and a couple more on top of that for Opera and Chrome users.
- 'Learning Zones' - areas where we will bring together content on a given topic for new (and advanced) members
- You can add your Twitter name to your account to give a little exposure to your twitter feed.
 
There are definitely a few little surprises around. I had to be brutal in removing unnecessary stuff and even now I still want to remove 50% more.
 
There will be a period of weirdness where the site is half-in, half-out of the new design, but I wanted to at least push forward with the article design since that brings the biggest benefit to the majority of our readers who simply come here for a 5 second quick fix.
 
Enjoy, and as always, bugs and suggestions in the Bugs and Suggestions[^] forum.
cheers,
Chris Maunder
 
The Code Project | Co-founder
Microsoft C++ MVP

 
GeneralSpeeding up a web page Pin
Wednesday, February 24, 2010 5:59 PM
One of the obvious ways to make something faster is to give it less to do (excepting, of course, that well known adage that if you want something done, give the task to a busy person). Caching is the prime method of speeding up a website and takes many forms: SQL server caches results, your data layer may cache results, your business objects may be cached, ASP.NET has a cache object, Appliction and Context objects, the session object, disk caching, your user controls and pages have output caching, there is server side caching within IIS, partial page caching, and client side caching within your browser itself.
 
Just to name a few.
 
Unfortunately your web.config file doesn't have an entry <caching level="11" for="everythingIncludingTheKitchenSink" />
 
Setting up caching requires attention to detail and an understanding of where the load is best relieved, what type of data synchronisation issues you may have (working in a webfarm?), what member you have, the length of time you wish to cache and your caching resources (memory).
 
For the last couple of weeks we've been focusing on the client side trying to understand what is causing the page to download slowly, and what we can do to speed up rendering. To this end the obvious fixes were to ensure IIS caching was enabled, and not just enabled, but enabled correctly.
 
IIS caching requires you to explicitly tell IIS that you want caching. Because, you know, you might enjoy having your readers download those images every...single...time. So you turn it on - ensuring you enable it for both static and dynamic content - and you find it works for your IIS6 servers but not your IIS7 servers (yes, we mix and match. We're crazy like that).
 
The trick is removing the eTag. Do a search and you will find the trick is actually setting the eTag changenumber to 0, which requires downloading the IIS Metabase editor, cranking it up, adding an arcane key and crossing your fingers. This then ensures that the eTag, a value that should be the same for a given version of a file on all servers, is the same. Change the file, the eTag changes, and the file is re-downloaded by the client and cached until it next changes.
 
However, the eTags between IIS6 and IIS7 differ so the only way to get around this is remove the eTags. An eTag is just an HTTP header so in IIS6 you just manually ask IIS6 to add a new header to the output stream called "eTag" with the value "". Voila, no eTags.
 
Except that this doesn't work for IIS7. People say it does, but it doesn't. You'll need to write a HttpModule to strip the output of the eTag manually.
 

So...
 
You now have caching working. You've enabled it, set the expiry as a date in the far, far future, removed eTags if required, ensures static and dynamic are cached, and all is good. Speed skyrockets. Well, perceived speed.
 
However, you still have many readers who come once, and once only. Caching is no use for them. So the next step is compression.
 
Compressing your downloads (zips, images, HTML content itself) is again set by IIS but it's, yet again, a PITA in IIS6. I'm not going to go through the details - just do a search for "IIS compression metabase.xml" and you'll find the instructions for enabling compression properly on your servers.
 
And again you now have compression. You're sending small packages downstream, sending them less often, saving bandwidth, saving processor time, and everyone wins.
 
Just make sure you make copious notes of what you did, because when it comes time to adding a new server or repairing a failed server, you really don't want to go hunting around for all this stuff again.
 
Now where is that web.config setting we all need...
cheers,
Chris Maunder
 
The Code Project | Co-founder
Microsoft C++ MVP

 
GeneralMore things I've learned in Canada Pin
Thursday, August 20, 2009 7:53 AM
1. The trees start turning in Quebec mid-August. This, to me, is totally unacceptable until a mate pointed out that we could have our first snow within 8 weeks. It's currently so hot outside the tarmac is sticky.
 
2. Raccoon poo can burn wood
 
3. I have a dray of squirrels going ballistic in our trees and a gaze of raccoons treating our roof like a trampoline that opens at 5am. Gaze and Dray - your words of the day.
 
cheers,
Chris Maunder
 
The Code Project Co-founder
Microsoft C++ MVP

GeneralRe: More things I've learned in Canada Pinmemberlrsoft200918:59 30 Oct '09  
Hello, I am a Chinese, a C # programmer, you are in Canada, learned?
 
GeneralForum code Colourisation added Pin
Wednesday, August 12, 2009 4:51 AM
Or colorization if you live in certain countries.
 
A small thing but it does solve two problems:
 
1. The code looks better.
2. Smilies are no longer injected into PRE blocks.
 
The programming forums are due for a serious upgrade so while this change won't mean much in the short term it does make life slightly, slightly nicer in the interim.
 
cheers,
Chris Maunder
 
The Code Project Co-founder
Microsoft C++ MVP

GeneralRe: Forum code Colourisation added Pinmemberaspdotnetdev13:23 20 Aug '09  
GeneralRe: Forum code Colourisation added PinadminChris Maunder15:57 20 Aug '09  
 
GeneralSpammers Pin
Wednesday, August 12, 2009 4:47 AM
A lot of my time over the past few weeks has been spent weeding out spammers. Spammers in the forums, spammers in the articles and spammers in the member pages.
 
The latest (well, latest that I've noticed on CodeProject) trend is to go to a site that allows a member to have a profile page, create a page that contains whatever loathsome spam-ridden message you want to pass on, and then send a spam email with links to that profile page. Actually, links to about 20 profile pages spread across different sites.
 
This is a sneaky way to try and get around email spam filters. I'm assuming the theory is along the lines of: The links in the email aren't to banned sites so they get through email filters (even though "viagra" is the main topic of the email). Spammees get the email, think to themselves "That's exactly what I need in my life!" click the link, go to CodeProject, see the profile, click another (fatal) link and get their machine infected with zombieware and leave unsatisfied.
 
At least that's as close as I can guess.
 
The upshot is that I spent probably 2hrs a day analysing the results of the filters, with each new IP or keyword or pattern unearthing a new motherlode of fake accounts for me to shovel through.
 
We're getting there, and while I appreciate (but am equally horrified) at the large spikes in page views we get each time one of these mis-directed spams go out, it is getting a little old.
 
cheers,
Chris Maunder
 
The Code Project Co-founder
Microsoft C++ MVP

 
GeneralIntroducing The Code Project Add-In for Visual Studio 2008 Pin
Friday, May 15, 2009 2:08 PM
We were thinking about the following:
 
You’re in Visual Studio 2008 working on a nasty block of code. Remembering that one of your Code Project cohorts recently posted an elegant solution for a similar problem you highlight some code and hit search. Up pops the exact article in The Code Project Add-In window. No time wasted. No pulled hair and exasperating searches. Valuable information is just one click away.
 
So we wrote it. The Code Project Add-In for Visual Studio 2008[^] does this, and will do a whole lot more once we're through.
 
We wrote this add-in so our members would have quick access to our 23,000+ articles in addition to MSDN and Live Search. No more toggling back and forth between your work and web searches. We hope this will make your work easier. It’s free and it's available now. Does it get any better than that? Download here[^]
 
cheers,
Chris Maunder
 
The Code Project Co-founder
Microsoft C++ MVP

Generalstudent Pinmemberabbas mirakhorli4:46 21 May '09  
GeneralRe: Introducing The Code Project Add-In for Visual Studio 2008 Pingroupnandakishore kagithapu3:21 9 Nov '09  
GeneralUrgent Enquiries About Share Point Work Flow. Pinmembernaposon7:08 11 Jan '10  
 
GeneralThe Soapbox is closed PinPopular
Saturday, February 28, 2009 6:30 PM
Tonight I closed The Soapbox.
 
I started the Code Project with David nearly 10 years ago. My goal was to provide a place where software developers could come together and share free source code. Our site grew quickly and attracted an amazing group of developers who were instrumental in providing content for others. Fundamental to the atmosphere we created on The Code Project was the rule that members treat other members with respect.
 
We opened the lounge soon after we started the site and, boys being boys (at least mostly at that time) things sometimes got a little rowdy. We then opened the Soapbox so that members would have a place to extend discussions on software development to areas not suitable for a PG audience. Language would sometimes get a little blue, discussions on why C++ was better than VB would get personal, and comments on MSDNs latest anchorwoman would, well, go where they would go. It was still all in good fun and (reasonable) good taste for a long time but then it started going downhill.
 
The Soapbox today is simply a place for a core group of members to discuss US politics, Global warming, religious sterotypes and to launch personal attacks. Often in the same message. The soapbox is no longer a place I can send errant messages, but instead has become a place where errant messages are encourage and condoned and a place that has absolutely nothing to do with what I orginally imagined our site to be.
 
There are so, so many other sites on the Internet where these topics, flame wars and personal vendettas can be indulged but our site is not one of them. So as of this evening I have closed the soapbox.
 
I'm sorry to those who genuinely enjoyed the hurly burly of it all but with the realisation that the forum does nothing other than fuel the very behaviour we don't want to see on our site it no longer makes any sense to keep it.
GeneralRe: The Soapbox is closed PinmemberVuNic21:57 28 Feb '09  
QuestionWhat happened last night? PinmemberVikram A Punathambekar6:03 1 Mar '09  
AnswerRe: What happened last night? PinadminChris Maunder6:37 1 Mar '09  
GeneralRe: What happened last night? PinmemberOakman7:45 1 Mar '09  
GeneralRe: What happened last night? PinadminChris Maunder15:58 1 Mar '09  
GeneralRe: What happened last night? PinmemberOakman17:30 1 Mar '09  
GeneralRe: What happened last night? PinadminChris Maunder18:01 1 Mar '09  
GeneralRe: The Soapbox is closed PinmemberOakman6:04 1 Mar '09  
GeneralRe: The Soapbox is closed PinadminChris Maunder6:43 1 Mar '09