Click here to Skip to main content
15,346,335 members

CodeProject - Professional Profile


No Biography provided


Below is the list of members of this group

Matthew Dennis
Software Developer (Senior) CodeProject
Canada Canada
As Senior Architect, Matthew is responsible for the Architecture, Design, and Coding of the CodeProject software as well as Manager of the Infrastructure that runs the web site.

Matthew works on improving the performance and experience of the Code Project site for users, clients, and administrators.

Matthew has more years of software development, QA and architecture experience under his belt than he likes to admit. He graduated from the University of Waterloo with a B.Sc. in Electrical Engineering. He started out developing micro-processor based hardware and software including compilers and operating systems.
His current focus is on .NET web development including jQuery, Webforms, MVC, AJAX, and patterns and practices for creating better websites.
He is the author of the Munq IOC, the fastest ASP.NET focused IOC Container.
His non-programming passions include golf, pool, curling, reading and building stuff for the house.
Sean Ewington
Technical Writer CodeProject
Canada Canada
Sean Ewington is the Content Manager for CodeProject.

His background in programming is primarily C++ and HTML, but has experience in other, "unsavoury" languages.

He loves movies, and likes to say inconceivable often, even if it does not mean what he thinks it means.
David Cunningham
Founder CodeProject
Canada Canada
I started photo-etching circuit boards when I was 8, and at 11 was haunting the halls and computer science labs at the local university so much that I was invited by Professor Wayne Ayott to audit his software and hardware design courses.

Over my career I have used C# , C++, Win32, MFC, Assembler, Basic, and Clipper, on applications for the military, commercial ventures, medical research and the labour movement. Through my medical informatics work I came to know what real-time and mission-critical really mean… just try being part of the critical path when a woman goes into labor.

I have been honoured to receive many business, industry and leadership awards including being named an Exceptional Young Entrepreneur (Profit Magazine) and to the list of Who's Who in Canadian Business. The companies I started have been recognized as the Fastest Growing companies in Canada (Profit Magazine), as the Fastest Growing North American Technology Companies (Deloitte & Touché) and named as a Top 100 Innovator and Leader by SDTimes 6 years in a row.

Here's my professional profile on LinkedIn:

In 2007 Microsoft acquired technology from one of my companies, Dundas Data Visualization, for inclusion in SQL Server.

I live in Toronto and enjoy photography, scuba, food, and motorcycle riding.
Chris Maunder
Founder CodeProject
Canada Canada
Current passion project: CodeProject SenseAI. Please join in!

Chris is the Co-founder of the popular code-sharing site, the digital advertising agency and the content marketing agency ContentLab.IO.

He's been programming way too long and has been, in various guides, an astrophysicist, mechanic, mathematician, physicist, breeder of carnivorous plants, hydrologist, geomorphologist, defence intelligence researcher and then, when all that got a bit rough on the nerves, a serial entrepreneur.

Chris has programmed everything from FORTRAN on a CRAY to Python on a Pi, but generally leans on TypeScript, C#, and SQL for the front, middle and back bits of his applications. His current focus is on ensuring developers know enough about Artificial Intelligence to be dangerous.


Weekly Data. Recent events may not appear immediately. For information on Reputation please see the FAQ.


Members need to achieve at least one of the given member levels in the given reputation categories in order to perform a given action. For example, to store personal files in your account area you will need to achieve Platinum level in either the Author or Authority category. The "If Owner" column means that owners of an item automatically have the privilege. The member types column lists member types who gain the privilege regardless of their reputation level.

Privileges for a group account are based on the priviliges of the administrators of that account.

ActionAuthorAuthorityDebatorEditorEnquirerOrganiserParticipantIf OwnerMember Types
Have no restrictions on voting frequencysilversilversilversilver
Bypass spam checks when posting contentsilversilversilversilversilversilvergoldSubEditor, Mentor, Protector, Editor
Store personal files in your account areaplatinumplatinumSubEditor, Editor
Have live hyperlinks in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Have the ability to include a biography in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Edit a Question in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Edit an Answer in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Delete a Question in Q&AYesSubEditor, Protector, Editor
Delete an Answer in Q&AYesSubEditor, Protector, Editor
Report an ArticlesilversilversilversilverSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending ArticlegoldgoldgoldgoldSubEditor, Mentor, Protector, Editor
Edit other members' articlesSubEditor, Protector, Editor
Create an article without requiring moderationplatinumSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending QuestionProtector
Approve/Disapprove a pending AnswerProtector
Report a forum messagesilversilverbronzeProtector, Editor
Approve/Disapprove a pending Forum MessageProtector
Have the ability to send direct emails to members in the forumsProtector
Create a new tagsilversilversilversilver
Modify a tagsilversilversilversilver

Actions with a green tick can be performed by this member.

NewsCodeProject senseAI is now CodeProject.AI Pin
Chris Maunder23-Jun-22 15:27
cofounderChris Maunder23-Jun-22 15:27 
NewsCodeProject's AI server now has custom models Pin
Chris Maunder18-Jun-22 8:39
cofounderChris Maunder18-Jun-22 8:39 
NewsSenseAI Integrations Pin
Chris Maunder15-Jun-22 10:20
cofounderChris Maunder15-Jun-22 10:20 
GeneralsenseAI on macOS and Windows Pin
Chris Maunder8-Jun-22 16:35
cofounderChris Maunder8-Jun-22 16:35 
GeneralWhen's a good time to release? Pin
Chris Maunder6-Jun-22 11:12
cofounderChris Maunder6-Jun-22 11:12 
GeneralInstallers and VS 2022 Pin
Chris Maunder25-Feb-22 10:41
cofounderChris Maunder25-Feb-22 10:41 
GeneralInstallers, again, and providing your users with choice. Pin
Chris Maunder14-Feb-22 7:49
cofounderChris Maunder14-Feb-22 7:49 
GeneralInstallers Pin
Chris Maunder8-Feb-22 7:00
cofounderChris Maunder8-Feb-22 7:00 
We're finishing up our first version of an actual, real, grown up installer for SenseAI and it's been an interesting switch from deploying web applications to deploying an app on someone else's machine. Without being there. And trusting them to press the right button.

It's terrifying.

Here is our set of golden rules for installers
  1. It should be blindingly obvious where to download the installer.

    We've all seen download pages that have "DOWNLOAD" ads strewn across them. That's just juvenile marketing and results in anger. We've also all seen (and I'm looking at you Python and Microsoft) pages that list 15 versions. And another couple of links for long term support, latest build, legacy support, current version, recommended version, and standalone version. It's like they don't actually want you to download.

    So as few options as possible, preferably just one.

  2. The installer itself should not raise difficult questions.

    Do you want to run this as a low priority background task on startup, or a Windows service? Should it be installed globally or locally? When installing should we use your built in Intel Iris graphics, or use the NVidia CUDA extensions or do you have an AMD graphics card with at least 4Gb RAM? I can imagine the look my father would be giving the installer.

    Either reduce the questions to what you know is possible, or phrase them in sensible terms: "Do you want to save time or save money"?

  3. Allow the install to happen offline

    When I travel home to see the family in Australia I'm usually saddled with terrible internet. 1Mb/sec with latency in the order of hours, it seems. I always update my laptop and phone before I leave and download anything I might need to install onto a thumbdrive just in case.

    Alternatively, say you're installing something onto 3 machines and really don't want to (or can't) download 500Mb three times. If at all possible, provide at least the option of downloading the lot.

  4. Allow the install to be a minimum install

    We at CodeProject generally prefer to suffer so our users don't have to. A little extra work our end in creating an installer that provides the means to choose what you wish to install before you download the big chunks is worth it. The Visual Studio installer, at 1Mb, is brilliant. Downloads in a second and then offers you the means to gorge on 20+ Gb of downloads, or something much leaner for those who don't need their system to be a cluttered basement.

  5. Provide all the features of an installer people expect. Progressing installation for when you want to add bits you didn't install previously. Updates when a new version comes out. Repairs for when your users accidently break stuff. And, of course, an uninstaller. An uninstaller that uninstalls cleanly.
And having said this our first installer won't have all these features. Progressive installs will be in the next version, and we're still debating on whether our first iteration will be a totally offline installer or a bootstrapper that pulls down the parts as needed. Again, both options will be in place as soon as possible.

Think about who will be installing your software and assume they don't understand the terms you use, don't have any time, and don't actually care. Software is a tool for doing other things. An installer is a tool for making something else that will do other things.

Our job is to allow people to do awesome stuff that may happen to include some of our tools at some point. They have better things to do than try and read our minds and/or become experts in our esoterica.
Chris Maunder

GeneralCodeProject SenseAI Pin
Chris Maunder25-Jan-22 7:10
cofounderChris Maunder25-Jan-22 7:10 
NewsThe CodeProject MVPs of 2022 Pin
Chris Maunder7-Jan-22 16:21
cofounderChris Maunder7-Jan-22 16:21 
NewsAnnouncing: The CodeProject Python3 Reference Pin
Chris Maunder10-Nov-21 11:06
cofounderChris Maunder10-Nov-21 11:06 
GeneralWhy is AI so hard? Pin
Matthew Dennis21-Oct-21 8:34
sysadminMatthew Dennis21-Oct-21 8:34 
GeneralPython, Python everywhere Pin
Chris Maunder20-Oct-21 12:13
cofounderChris Maunder20-Oct-21 12:13 
GeneralWindows 8 Developer Preview: A First Perspective Pin
Terrence Dorsey14-Sep-11 7:17
staffTerrence Dorsey14-Sep-11 7:17 
GeneralBUILD 2011 day 1 notes Pin
Terrence Dorsey13-Sep-11 13:49
staffTerrence Dorsey13-Sep-11 13:49 
GeneralThe Code Project is now eTrust certified Pin
Terrence Dorsey16-Jun-11 4:24
staffTerrence Dorsey16-Jun-11 4:24 
NewsKeeping you up to date Pin
Terrence Dorsey9-Jun-11 3:31
staffTerrence Dorsey9-Jun-11 3:31 

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

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.