Site migration

Hey all,

In order to clean up the site infrastructure and address some security and spam issues, we’ve migrated the site to a new (faster) server, and essentially rebuilt the site from the ground up. Some of the plugins used to provide functionality (including the code syntax highlighter) weren’t compatible with the most recent versions of WordPress, so alternatives had to be found.

I’ve tried to ensure everything is working similarly to how it was before (or better), but it’s possible that I missed something. If you discover any strange issues or broken features, please leave a comment below so that I can fix them.



Update on 2/10: I’m testing out a new plugin that will convert HTML to text when posting a comment. That means those users who post code in comments without using the code tags should have their code come out looking a bit better. Please let me know if you discover any issues with posting comments as a result!

Update on 12/30: Comments have been re-added to the tutorials per request. We’re trying out some new anti-spam filters so we’ll see how that goes. I’ll be going through each of the articles, manually cleaning up any spam that leaked through the previous filter, and deleting off-topic/useless comments. This will probably take a few days/weeks since there are over six thousand comments to read through!

90 comments to Site migration

  • Joan


    It seems the link to Hungarian Notation is missed.


  • Aston

    Hi Alex, two more minor issues with the migration:

    -In A.1, the slashes in directory paths are absent (ie, "C:libsSDL-1.2.11" rather than "C:/libs/SDL-1.2.11/").

    -In A.2 and A.3, apostrophes are rendered as "’", (ie, "6) #include the library’s header file(s) in your program.").

    I've not backchecked through the tutorials, but I'd imagine there's a reasonable chance these pop up in other places.

  • Ali Toghyani

    Hi. Could you add a section about "pointer to pointer"? Thanks.

  • Tamas

    Hi Alex,

    I found typos in lesson 3.4. First main() function contains "tt"-s instead of "\t"-s

       cout << "bool:tt" << sizeof(bool) << " bytes" << endl;

  • udit pandoh

    sir i really wanted to ask one thing i am myself creating a site through wordpress i wanted to know how do have that feature which show the categories like chapter zero that is introduction/getting started and then sub topics which lead to the respective tutorial
    if anyone else knows plz tell me thanks already

    • Alex

      I created a custom table of contents page (not a post) and set the start page of the site to that page.

      The entire front page is hand-coded HTML (which is why it's more functional than pretty). :)

  • Martin

    I don't know if this has already been mentioned before, but on 1.10a the foward arrow goes backwards to 1.10 and the backward arrow goes forward to 1.11

  • Alex

    I'm testing a new plugin to do HTML to text conversion when someone posts a comment.

    #include <iostream>

    int main()
        std::cout << "Look, ma!  I'm postin' code!" << std::endl;
        return 0;

  • Woopsie

    Found another typo:

    1.7, under "Other types of forward declarations", you do not close your parentheses around "which we discuss in section 4.2 — Global Variables"

  • Woopsie

    Two items:

    There's a typo on 1.3a, under "std::cin", you spelled "using" as "useing."

    Second, I don't know if this is just me, but the back arrow at the bottom of all the guides at some point became a forward arrow, and now points right just like the arrow to go to the next guide.

    But! Thank you so much for this site!

    Not only is this website awesome, so are you. Keeping it maintained, and remaining active is a rare and beautiful thing, and I'm going to cherish it.

    Thank you so much for providing this awesome service!

  • Bashar

    In the 0.4 Introduction to development section, under Step 4 Compiling, the first line of code using g++ has the name between double quotation marks "g++". Is it a typo?

  • Mario

    I LOVE that you actually haven't abandoned your site, and that you still work on it.
    It really is awesome. I was amazed when I saw the "new" tag on that new article.
    Now I come again and I see you're updating old articles. This is amazing.

    I just wanted to say that you're doing a great work, and keep it up.
    I also hope you'll continue to update the site, and make it even better.
    This is one of the best sources for learning C++ I've ever found.

    Another thing, I know it's not as important and that it's not a priority, but if you could work on the design of the website, that'd be awesome.
    It looks 1990ish.

    • Andy

      I also just saw that a ton of pages was updated. That's awesome! Good that you have the updated tag, else I may not have noticed =). I like the design of the page, it's not distracting the eyes when you read. Althou a "Black mode" would be nice to match with my IDE =P

      Keep it up Alex!

      • Alex

        Clearly I'm not a web designer. :)

        I'll see if I can find a way to spruce things up visually a little bit, but I'd rather spend the bulk of my limited time fixing functional issues and working on the content, since that is the primary focus of the site.

        As for a black mode, if you're running Windows you can use magnifier to invert your color palate. There are also other third-party programs (e.g. NegativeScreen) that let you select what kind of color palate you want.

  • WindyRain0212

    The webpage doesn't autosize horizontally, aka is a bit wider then my browser (using Maxthon 4.4.3 with webkit) which adds this slightly annoying horizontal scrollbar on the bottom.. .-.

  • joe

    Thanks so much for this guide. Very well structured, makes it very easy to understand and to follow. I also like how you mention what is good and not so good practice. ("most of the time this is meant to be used like ....")

  • Khun

    First, thanks for making this website, it's really awesome!
    After the migration, I noticed the interface become somewhat cleaner compared to the previous ones as the text are more align and the ads does not distract me, it's a good improvement.
    and I realize that the main page of this site haven't get it's logo back yet, but the logo still appears on my browser when I browse the lessons.
    It would be nice if you bring back the logo :)

  • Silas

    More of a grammar pet peeve really, noticed it several times last time I was reading through:

    it's = it is

    If the sentence doesn't work when you expand the word like that, use "its."
    (Sorry to be a bother. Son of an English teacher here. Thank you for all the work you have put into this tutorial!)

    • Alex

      Thanks for the grammar heads up. I'm trying to correct misused instances as I run across them, but there are a lot of them. I'll get them all eventually. :)

  • Chirag

    In lesson 6.6, line 5:
    A null terminator means that the string ends with a ” character (which has ASCII code 0).

  • Andy

    Hey there, I just realised that you have added a new section in the first chapter. Could you maybe do something to make sure that new sections are noticed? This actually isn't very important, it's just that I was a bit surprised :D. Also: Is it intended that you can't comment on this new section 1.3a? =)

    • Alex

      The biggest problem with marking stuff as new is that I have to remember to remove the new tag eventually. :) But your point is taken. 1.3a now has a new tag.

      I've also fixed the issue with not being able to comment in that section. Definitely not intentional. Thanks for the heads up.

  • If Your having Problems With Code
    Github Gists Are Awesome u should try using them
    Anyways Thanks For The Awesome Site :D

  • Ronald

    I'm just starting to learn C++, I am stuck trying to compile the first "HelloWord" project but everytime if start the compilation it always fail and displays the message I posted below. Help I'm stuck.

    ------ Build started: Project: HelloWorld, Configuration: Debug Win32 ------
    LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

  • Gaurav

    Slashes missing on this page :
    2.3 — Variable sizes and the sizeof operator (

  • Hi,

    there is a problem with printing out the pages. The problem is that compiler errors do not word warp so if it's a long line it will be cut of when printed.

    The previous version had a "print" (printer friendly version) link to the right from " C++ Programming | " link.

    I'm using Firefox 33.1.1

    best regards

    • Alex

      Interesting. Which tutorial has a compiler error that exhibits this behavior?

      The old print function didn't retain any formatting, whereas the new one keeps all the colors and styles (which is useful because the code snippets retain their line numbering).

      • e.g. the line:

        C:\Test.cpp(431) : error C2652: 'Cents' : illegal copy constructor: first parameter must not be a 'Cents'

        is truncated in print preview in Firefox, i.e. it does not word warp to the next line.

        taken from here:

        • Alex

          I re-enabled the old printing plugin. It's located under the current one.

          I don't really like having both active at the same time, but they both have their strengths and weaknesses, so I'll leave it for now.

  • sheep

    Maybe you could edit the plugins for code boxes, to show comments in green again. The orange is a bit hard to read.


  • Andy

    Hey there!

    I haven't got any problems with the website (my ;s are fine =)). The only thing that seems to be missing to me is the "last post-thingy (or something like that)", will it come back?
    I just want to tell you how happy I am that this site exists and that you are still working on it. I am new to C++ but I have always wanted to learn to program. Sometimes I have a hard time learning it and then I start all over Again =/. But as long as you keep this site up, I'm gonna try!

    Thank you very much for doing this, it's great! From Denmark I wish everyone a great New Year! =)

    • Alex

      I removed the last post section because I haven't been making many posts recently. Since it wasn't really providing much value any more, I streamlined it out of existence. :)

  • Eugene

    Slash symbols are missing for escape sequences all over this page:

  • safraou mohamed

    could you add the ide features how we can use them and add what we can do after that we learned the tutos

  • Loganathan

    Thanks for your swift response and re addition of comments section. I don't have any other use of login , just thought to inform you as the login tab is still there in list.

  • PK

    The previous and next chapters buttons disappeared, the ones which used to appear on either side of the chapter titles. I don't know if it is intentional. And please try to bring back older comments, some of them were quite helpful.

    • Alex

      Hi PK.

      I intentionally removed the previous and next chapter links at the top and bottom of each tutorial because they weren't correct in some cases. For example, because I wrote tutorial 7.14 between 12.6 and 12.7, the navigation autolinked them in the order 12.6 -> 7.14 -> 12.7. Which is potentially confusing for someone going through the lessons.

      Each tutorial has a manually configured navigation at the bottom that provides the correct previous and next navigation for each tutorial. Please use that for now.

      I'll see if there's a way to reorder the tutorials so I can bring back the top nav.

  • Loganathan

    Thanks much for creating & maintaining this site. I am learning the language by going through your tutorial.As of today i have two issue after the migration.
    1.I am not able to login with my registered user ID.
    2.It would be very much helpful if you can add the comments section with the previously posted comments as well. I was using that to enhance the understanding as i am completely new to this.Unfortunately there were some unnecessary and irrelevant comments posted . Please find an alternative to block those.

    • Alex

      Thanks for your feedback!

      1) I turned off logins because there's no need to have an account to comment any more (on the pages where comments are accepted, such as this one). Are there other reasons to have an account that I'm not aware of?

      2) I understand that some of the comments were helpful. I'm looking into whether the comments can be restored securely and with a better spam filter. If not, then my intention is to go through them and integrate the best points into the lessons themselves, so the information is not lost.

  • Anonymous

    The semicolon marks are a bit difficult to identify

    • Alex

      Can you elaborate? They look fine to me --> ;

      Perhaps it's a font issue with your browser?

    • Robin

      I don't this it's a font issue with my browser , because as soon as the site was migrated, I instantly noticed that the semicolons were harder to read as the spacing with the dot and the comma were further apart and the they weren't as dark as it was before. This results in it looking very similar to a colon than usual.

      The only way the semicolons on each chapter look normal is when i zoom in to this. This was never a problem before.

      Other than this I have no issues at all, I actually like what you have done with the website, but the semicolon is a bit irritating.

      • Alex

        Robin, can you use the contact form in the about/contact section and send me your email address? I'd like to discuss this with you further off-thread.

        Is anybody else seeing weird semicolons?

      • Alex

        Robin, the email address you sent didn't work. Can you try again and make sure it's typed correctly? Thanks!

Leave a Comment

Put all code inside code tags: [code]your code here[/code]