<< Newer   128 posts page 2 of 13 Older >>
  • C++11: Range-based for and auto

    Two really handy features in C++11 are the range-based for statement and the auto type specifier. The former allows you iterate over collections using a much more compact form of expression, and the latter takes some of the headache out of the complex type declarations encountered in the standard library. Both of these features have been available in g++ since release 4.6, and are now present in Visual Studio 11, so you can start using them today. (auto typed variables are available in earlier versions of both compilers.) In this post I'll give you a description of how these new features works, and show you a concrete example of the positive effects they can have on your programs.
  • Visual Studio 11 and Modern C++

    Despite some harsh words about Visual Studio 11, I'm finding that it makes my heart go pitter-pat every time I use it. Why? Because this early release is finally incorporating a decent set of long-awaited C++11 features. In this article I'll show you how a little thing like a lambda can make a big difference in your coding style.
  • C++ - Where's the Hate?

    One thing I've become accustomed to over the years is that there are a lot of C++ haters. They have their reasons - some good, some bad - but they are never afraid of sharing their opinions. An article on Slashdot this week touting the release of the C++11 standard should have been a hotbed of language trash talk - instead, it was kind of a low key discussion of both the new language features and some retrospection about the language itself. Where have the haters gone?
  • Streambuf Iterators Are a Big Help

    A few weeks back I was looking at the choice of whether to use iterators or streaming operations for I/O on my data compression code. I was bemoaning the fact that the C++ iterators that perform stream I/O use the insertion and extraction operators, making them unsuitable for binary data compression.
  • I'm In the Money

    It looks like all my long years of studying data compression might be ready to pay off.
  • Mark's Travel Guide to New Zealand

    I recently spent a little over two weeks touring New Zealand. It was a self-driving trip, which meant we got to cover a lot of ground, although certainly the coverage was very shallow.
  • A Visit With Tim Bell

    In my early years of learning about data compression, the book Text Compression by Timothy Bell, John Cleary, and Ian Witten was my resource of first resort. I was in Christchurch, New Zealand, recently and had a chance to meet Tim for the first time in person. Tim teaches at the University of Canterbury in Christchurch, and is Deputy Head of the Computer Science and Software Engineering department. I got a chance to ask him about his work in data compression as well as one of his new areas of interest, Computer Science education.
  • Streams or Iterators?

    When I updated my LZW reference code to use the latest C++ features, I abstracted my input and output functions using templates. Data was read and written using the iostreams paradigm, which requires simple classes that implement just a few functions. Would I have been better off using the iterator paradigm instead? The C++ algorithms library favors that method of processing data, and it can be both elegant and powerful. Which of the two paradigms is the right one for data compression?
  • Automating PuTTY

    Windows users who need a command line connection to another system via telnet or SSH are big fans of PuTTY. It's free, it's reliable, and it has every feature you need. Or does it?
  • Sendmail on Linux - the Easy Way

    This summer I'm teaching a graduate class, Principles of UNIX, which is more or less a crash course in the Mother of All Operating Systems. One of our early topics is email on UNIX, in which I try to impart to the class just how transformative email was back in the day. For early Internet users (mostly UNIX users), this was an incredibly big deal. Unfortunately, setting up email on a Linux or UNIX system is not quite as automatic as it once was. In our class we use mailx and sendmail as tools to send files from background processes or cron jobs - but mailx will typically not work out of the box. In this post I'll discuss how to get it working on an Ubuntu 11 system.
<< Newer Older >>

subscribe via RSS