Dec 03

These are links to the slides and video of Michael Caisse’s BoostCon 2010 talk:

slides: <>
video: < >


Machinery, sensors, equipment, client/server communications, even file formats… Parsing and producing communication streams is everywhere you look. Often these tasks are simple or small enough to tempt ad-hoc solutions. The Spirit 2.1 library provides a model that is simple enough to tackle those “quick hacks” and easily scales for full-featured AST generation.

This session will explore real-life experiences with the parser and generator (Qi/Karma) portions of the Spirit library. As we look at various small and medium-sized parsers/generators employed in various products we will establish some “rules-of-thumb” and guidelines for tackling the parser/generator domain with Qi/Karma. The session will end with the implementation of a usable XML parser and a simplified XPath-like node extractor.

The session will include some lecture and a lot of tutorial. Attendees will walk away with the knowledge and tools to begin parsing and generating with Spirit Qi/Karma.

—Michael Caisse

7 Responses to “Using Boost.Spirit V2: Qi and Karma”

  1. doug moss says:

    I’ve just spent an hour or so trying get your tutorial movies to play on my MacBook running Leopard. Quicktime just hangs.
    It finally occurred to me to copy the URL and try opening it directly with Quicktime rather than just double-clicking your links, etc. Then, Quicktime says I may need to download more software. That lead me to blogs outlining the current Adobe-Apple tiff over Flash, which I’m guessing you use?
    I didn’t like what I read about Flash and so am reluctant to install the plugin on my Mac (disk corruption, two hour reduction of battery life!? – sounds extreme, but I’m very cautious:). Do you have the videos hosted anywhere else in a different format?
    Ta, Doug.
    P.S. I’ve viewed one of the PPTs (Spirit V2) on your site, but I think I need to see the video.

  2. Hi Doug –

    The slides work best with the video. I am sorry to hear you are having trouble viewing it. I have successfully viewed in on an iMac; however, I might have just the right codecs. The videos were graciously put together, edited and uploaded by Marshall Clow and I’m unsure of the particulars.

    You are not the first person to mention having some problems viewing. Normally the attempt is on linux and the request is for a flash format. I have downloaded the video and am considering converting it to a different format. Do you have a preference?


  3. doug moss says:

    very kind of you to consider converting the video, but please don’t go to any trouble on my account.
    I would not know what format to ask for (other than that I can tell you that I can watch eg. YouTube and Apple tutorials using Safari on my Mac).

    Update: I just fired up an old version of Firefox that I downloaded a couple of years ago. I must have fully optioned it up with all the plugins at the time because I was able to watch your video just fine with it. I’ll keep it handy for similar situations.

    And thanks for the effort you went to with your tutorial. It has been a great benefit. A followup question: the video finished at “5. HTTP Request” in the slides. Which is the next video in the series?

    • Hello Doug –

      I am glad you figured out a way to watch the video. The BoostCon presentation went longer than my allotted time and we finished before delving into the HTTP request.

      There is not another video in the series; however, you will find on a presentation by Joel and Hartmut describing a Scheme like language that utilized Qi and Karma.


  4. Kai says:

    Hi Michael,
    Thanks for those greate introduction to Spirit! Very good slides.

    Would it be possible to get the full sourcecode of the Protocol Tranclator Example?


  5. Updated links! OMD is now ciere consulting:


    We have had a ton of problems with bliptv. Jeroen Habraken was kind enough to host a mirror of the boostcon’10 presentations. The Spirit video can be found here:


Leave a Reply

preload preload preload