Click here to Skip to main content

peterchen - Professional Profile

Summary

35,409
Author
2,776
Authority
95,059
Debator
37
Editor
204
Enquirer
4,046
Organiser
4,693
Participant
Peter is tired of being called "Mr. Chen", even so certain individuals insist on it. No, he's not chinese.
 
Peter has seen lots of boxes you youngsters wouldn't even accept as calculators. He is proud of having visited the insides of a 16 Bit Machine.
 
In his spare time he ponders new ways of turning groceries into biohazards, or tries to coax South American officials to add some stamps to his passport.
 
Beyond these trivialities Peter works for Klippel[^], a small german company that wants to make mankind happier by selling them novel loudspeaker measurement equipment.
 

Where are you from?[^]



Please, if you are using one of my articles for anything, just leave me a comment. Seeing that this stuff is actually useful to someone is what keeps me posting and updating them.
Should you happen to not like it, tell me, too
Member since Thursday, July 6, 2000 (12 years, 10 months)
  • 29 Sep 2004: MFC/C++ Aug 2004

Contributions

Articles 20 (Legend)
Tech Blogs 0
Messages 26,122 (Master)
Q&A Questions 3
Q&A Answers 8
Tips/Tricks 1
Comments 3

Links

Groups

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


Soap Box 1.0
United States United States
Member
Social Group
members

This _private_ forum is set up to be a place where political and social issues, including American politics and global warming, can be discussed in a reasonably civil manner. Anyone who has been an active member* of Code Project for six months is welcome to apply for membership but this forum does not tolerate trolling posts, or posters who wish to be disagreeable. Those who choose to become uncivil, insulting, or childish will be warned and, for repeated violations, removed from membership.
 
* That means that you have posted regularly or had at least one article published.

CodeProject Insiders
United States United States
Member
Collaborative Group
members

No Biography provided

Reputation

For more information on Reputation please see the FAQ.

Privileges

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, and the given member types also gain the privilege regardless of their reputation level.

ActionAuthorAuthorityDebatorEditorEnquirerOrganiserParticipantIf OwnerMember Types
Have no restrictions on voting frequencysilversilversilversilverAdmin
Store personal files in your account areaplatinumplatinumSitebuilder, Subeditor, Supporter, Editor, Staff
Have live hyperlinks in your biographybronzebronzebronzebronzebronzebronzesilverSubeditor, Protector, Editor, Staff, Admin
Edit a Question in Q&AsilversilversilversilverYesSubeditor, Protector, Editor, Admin
Edit an Answer in Q&AsilversilversilversilverYesSubeditor, Protector, Editor, Admin
Delete a Question in Q&AYesSubeditor, Protector, Editor, Admin
Delete an Answer in Q&AYesSubeditor, Protector, Editor, Admin
Report an Articlesilversilversilversilver
Approve/Disapprove a pending ArticlegoldgoldgoldgoldSubeditor, Mentor, Protector, Editor, Staff, Admin
Edit other members' articlesSubeditor, Protector, Editor, Admin
Create an article without requiring moderationplatinumSubeditor, Mentor, Protector, Editor, Staff, Admin
Report a forum messagesilversilverbronzeProtector, Editor, Admin
Create a new tagsilversilversilversilverAdmin
Modify a tagsilversilversilversilverAdmin

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


 

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


Advertise | Privacy | Mobile
Web02 | 2.6.130523.1 | Last Updated 24 May 2013
Copyright © CodeProject, 1999-2013
All Rights Reserved. Terms of Use
Layout: fixed | fluid

You must Sign In to use this message board.
Search this forum  
GeneralRe: Fold with us Pinmemberpeterchen7 Mar '07 - 10:01 
GeneralRe: Fold with us PinmemberMike Hankey17 Apr '08 - 13:27 
GeneralRe: Fold with us PinmemberNelek1 Jun '08 - 6:22 
I want to give my "bit" of help as well. I went to the download page (at the moment not working "Many connections. Please try later") But I have seen there are 2 different versions. 5.03 Graphical (WinXP) or 5.04 Console (XP as well). Which one do you recommend me?
 
Grüße aus Regensburg.
 
Greetings.
--------
M.D.V. Wink | ;)
 
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
“The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson
Rating helpfull answers is nice, but saying thanks can be even nicer.

GeneralRe: Fold with us Pinmemberpeterchen2 Jun '08 - 8:01 
 
GeneralHow to become a C++ Pro Pin
Tuesday, August 17, 2004 11:51 AM by peterchen

As response to a question how to learn C++ and become a "pro", "not only using DOS commands, but also MFC"

The following is a roadmap to "Mastering C++" - how I would teach it.
Some people might want to reorder the list which is fine with me - it all
depends on the teacher and the tools.

Chapter (I) Learning the language

  1. basic language: type system, control structures, functions, scope.
  2. basic concepts: programming style, structuring your program using
    functions, the difference between contract, declaration and implementation
  3. language: pointers.

    pointer arithmetic, referencing, dereferencing, pointers vs. references,
    pointer to pointer, adress of pointer, allocating raw memory, etc.

    If you didn't succeed with (3): learn pointers

    If you don't get it the third time, give up. Really. I am serious.*
  4. debugging. assert, trace, using a debugger, distrusting yourself,
    acquiring some programming style.
  5. language: Function overloading.
  6. language: classes. Member functions, constructor, destructor
  7. concepts: encapsulation, simple object design, encapsulating state
  8. lanuage: learn exceptions **
  9. repeat concepts: good programming style, contract vs. declaration
    vs. implementation
  10. concepts: inheritance, polymorphy
  11. concepts: "enhanced" object design with the new knowledge
    (exceptions and polymorphy)
  12. language: some refined points

    const-correctness, default constructor, copy constructor vs. assignment
    operator, how to make a class behave like a built in type (but skip operator
    overloading)
  13. language: templates: function templates, class templates, template
    specialization,
  14. get an introduction on the STL (standard template library, which
    makes the biggest part of the C++ run time library)
  15. language: ok, now, just as sugar, operator overloading, and how to
    make types truly act like built-ins
  16. libraries: refine your knowledge on the STL

     

NOW you are ready to leave the console window

 

Chapter (II) ...but also MFC

  1. Windows API basics: This helps understanding some of the
    mumbo-jumbo and awkwardnesses in the MFC much better

    Event Driven Programming, Windows, Window Handles, Window Messages

    (you can omit *creating* windows here, since this is a painful task made much
    easier by frameworks - but the rest is important to understand and makes
    working with the MFC easier).

    GDI, standard controls etc.
  2. Do the MFC "Scribble" tutorial, just following the main path (up to
    "printing" or so). Don't try to understand everything, just get a feeling for
    the "flow".
  3. Do the "Scribble" tutorial again, this time exploring the background
    explanations etc.

     

Chapter (II) Become a Pro

  1. Notice that, once you are here, you are the last remaining person on earth
    doing MFC Wink | ;)
  2. Learn enhanced concepts: Exception Safety, Patterns etc. and all the fine
    parts I have forgotten above
  3. Learn "Industry Power" stuff: Automated Tests, Version Control,
    Finalizing, and everything that belongs to running a larger project.
 

 

<b>Warning:</b> this course is a pain. In the ass, in the back, in your
fingers, everywhere. Yet, it's IMO one of the shorter routes to a pro. To be
true, you could start with th MFC stuff pretty much after (I)-(j), but this
makes you only half-a-programmer, and you might acquire some misfeats that are
hard to get rid of later.



The order of the list itself clearly shows some drawbacks of the C++ language,
namely, the position of exceptions, and especially the STLBoth are standard
tools that should be introduced much earlier, but require good understanding of
the basic language features.





*) I pretty much agree with the thought that understanding pointers
needs a certain "wiring" of the brain. All other stuff in C++ can be learned
by a decently intelligent person. Pointers are different, you either get them,
or you don't. If you can't do pointers, C++ will be a pain all the
time.



**) that's really late, to late. They are an important tool for error
handling - and people should learn it as early as possible. However, it
doesn't make much sense wihtout a good grasp on scope and code flow. I would
do exceptions right after (b), but books/courses don't do it without classes.


 

we are here to help each other get through this thing, whatever it is Vonnegut jr.

sighist || Agile Programming | doxygen

GeneralRe: How to become a C++ Pro Pinmembercall_me_Cincin_please29 Mar '10 - 23:19 
 
GeneralThe Kid Sister rule Pin
Saturday, July 31, 2004 9:00 AM by peterchen
Imagine you are on the holiday trip of your life - south italy, just across Sicily. Your'e in a bar, there's this incredible girl with piercing black eyes, and you don't know if she just smiles at your veiled attempts to explain the bartender what you'd like to drink, or just smiles at you.
 
To break the ice, you scratch together your last italian, and say something to her.
 
In that moment, the whole bustling location freezes. Eyes either turn to you, or away. The bartender slowly puts down the bottle of whatever you did not want to order, but finally agreed on. A young italian boy, slender, moving like quicksilver, dark, angry eyes, turns around and asks you (in unintelligible italian, of course):
 
"What did you just say to my little kid sister?"
 
THIS is the kid sister rule.

 

we are here to help each other get through this thing, whatever it is Vonnegut jr.

sighist || Agile Programming | doxygen

GeneralRe: The Kid Sister rule PinmemberS Douglas30 Apr '06 - 19:53 
 
GeneralUsing CString outside of MFC Pin
Sunday, July 4, 2004 12:44 AM by peterchen
Since it crops up frequently:
a) VC7 : makes the CStringT template available for both ATL and MFC projects
b) WTL (clickety[^]) : provides a 1:1 CString clone for ATL/WTL projects under VC6. The ATL/WTL framework emphasizes "link on demand", so you could basically create a raw Win32 application/library with CString
c) On Codeguru you'll find a macro that extracts the CString sources from your MFC library, so oyu can add them to any other project
d) there are some CString clones[^]. However, with the availability of WTL, there's rarely a need, unless you need to be portable
e) finally, you can "rip out" the WTL CString class. All that CString needs from the framework is the Ressource HINSTANCE for implementing LoadString and similar functions. (IIRC there are some more system-dependent elements, which can be easily replaced)
 

we are here to help each other get through this thing, whatever it is Vonnegut jr.

sighist || Agile Programming | doxygen

 
GeneralThat guy Pin
Sunday, June 27, 2004 2:08 PM by peterchen
"Have you tried Jesus?"
"Jesus? Oh, that guy. Tried to take the load of others, and couldn't even carry his own. He lived a life of agony and pain, and he died a horrible death. Now how can I load my own pain on the back of this guy!
Do you really think he was happy here? Look around. People are a pain. Everybody has one or two or a dozen who make all this bearable, but the rest - not that I dislike them, but I would miss their number, not them individually. Now imagine you walk around to get them all smiling, at once. And everytime five or six of them do, someone behind your back breaks into a curse.
I bet he found peace and his daddy only when sitting under an olive tree, watching an ant, and a stone, just be. This is where all that salvation and better afterlife comes from: HE just couldn't bear this life. If we wouldn't have killed him, he would have probably done this himself.
Do you know the scene, where Judas doubts his own plan, and doesn't want to go to Kaiphas? Jesus sees this and tells him his, Judas', task is harder than his own: carrying the burden of the traitor, rather than die for your fight. But to find an end, we need the traitor as much as the redeemer.
Who am I to burden this man with the dirt of my own? We went a few miles of our road together, but where he goes I cannot follow."

 

we are here to help each other get through this thing, whatever it is Vonnegut jr.

sighist || Agile Programming | doxygen