<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://snorriheim.dnsdojo.com/doku/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://snorriheim.dnsdojo.com/doku/feed.php">
        <title>Doku Doodles</title>
        <description></description>
        <link>http://snorriheim.dnsdojo.com/doku/</link>
        <image rdf:resource="http://snorriheim.dnsdojo.com/doku/lib/tpl/snorriheim/images/favicon.ico" />
       <dc:date>2013-05-19T22:09:38+09:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:cpp:topics:template_export_dll_specialisations?rev=1367825213&amp;do=diff"/>
                <rdf:li rdf:resource="http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:cpp:topics:topics?rev=1367824948&amp;do=diff"/>
                <rdf:li rdf:resource="http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:svc:git:git_config?rev=1367758265&amp;do=diff"/>
                <rdf:li rdf:resource="http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:python:nosetests?rev=1367717040&amp;do=diff"/>
                <rdf:li rdf:resource="http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:python:python_remove_from_list_while_iterating?rev=1367330483&amp;do=diff"/>
                <rdf:li rdf:resource="http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:python:python?rev=1367330389&amp;do=diff"/>
                <rdf:li rdf:resource="http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:python:parsing_text_files?rev=1367323870&amp;do=diff"/>
                <rdf:li rdf:resource="http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:python:strings?rev=1367311508&amp;do=diff"/>
                <rdf:li rdf:resource="http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:python:python-processes?rev=1365747542&amp;do=diff"/>
                <rdf:li rdf:resource="http://snorriheim.dnsdojo.com/doku/doku.php/?image=en%3Asnorriheim%3Acv_jan_2013.pdf&amp;ns=en%3Asnorriheim&amp;rev=1357050813&amp;tab_details=history&amp;mediado=diff&amp;do=media"/>
                <rdf:li rdf:resource="http://snorriheim.dnsdojo.com/doku/doku.php/?image=en%3Aengineering%3Aslam%3Acslam%3A00-bundle_adjustment-triggs.pdf&amp;ns=en%3Aengineering%3Aslam%3Acslam&amp;rev=1330955660&amp;tab_details=history&amp;mediado=diff&amp;do=media"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://snorriheim.dnsdojo.com/doku/lib/tpl/snorriheim/images/favicon.ico">
        <title>Doku Doodles</title>
        <link>http://snorriheim.dnsdojo.com/doku/</link>
        <url>http://snorriheim.dnsdojo.com/doku/lib/tpl/snorriheim/images/favicon.ico</url>
    </image>
    <item rdf:about="http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:cpp:topics:template_export_dll_specialisations?rev=1367825213&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-05-06T16:26:53+09:00</dc:date>
        <dc:creator>snorri</dc:creator>
        <title>Template Exports for DLL</title>
        <link>http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:cpp:topics:template_export_dll_specialisations?rev=1367825213&amp;do=diff</link>
        <description>Links &amp; Resources

	*  

Example

The template class

#ifndef SIGSLOTS_HPP_
#define SIGSLOTS_HPP_

#include &lt;string&gt;

template &lt;typename T&gt;
class Foo {
  public:
    Foo() {}
    static std::string&amp; bar() {
      static std::string foobar = &quot;foobar&quot;;
      return foobar;
    }

    //static T value;
};

#endif /* SIGSLOTS_HPP_ */</description>
    </item>
    <item rdf:about="http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:cpp:topics:topics?rev=1367824948&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-05-06T16:22:28+09:00</dc:date>
        <dc:creator>snorri</dc:creator>
        <title>Topics</title>
        <link>http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:cpp:topics:topics?rev=1367824948&amp;do=diff</link>
        <description>*  
		*  Ansi Codes - ansi codes to be used in escape sequences.
		*  Auto Pointers - autopointer use cases.
		*  Bitwise - tips and problems with bitwise operations.
		*  Casting - use the new cpp type casts.
		*  Character Arrays - character array tricks.
		*  Constructors - some curious things about constructors.
		*  Containers - notes about containers.
		*  Copy Constructor - when it is called &amp; how to overload.
		*  Const - use of const in c++ code.
		*  Formatting Cout - different formatt…</description>
    </item>
    <item rdf:about="http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:svc:git:git_config?rev=1367758265&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-05-05T21:51:05+09:00</dc:date>
        <dc:creator>snorri</dc:creator>
        <title>Git Config</title>
        <link>http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:svc:git:git_config?rev=1367758265&amp;do=diff</link>
        <description>These are my github configurations:

git config --global user.name &quot;Daniel Stonier&quot;
git config --global user.email &quot;d.stonier@gmail.com&quot;

To see what's current:

git config --list

To set up aliases:

git config --global alias.co checkout

To display everything in full colour!</description>
    </item>
    <item rdf:about="http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:python:nosetests?rev=1367717040&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-05-05T10:24:00+09:00</dc:date>
        <dc:creator>snorri</dc:creator>
        <title>NoseTests</title>
        <link>http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:python:nosetests?rev=1367717040&amp;do=diff</link>
        <description>Links &amp; References

	*  

Installation

&gt; sudo apt-get install python-nosetests python-coverage

Ros Nosetests

	*  In the  subfolder.
	*  Each test should start with the prefix  (not essential, but differentiates test from helper scripts).
	*  Execute them by running  in the build folder or  in the test folder.
	*  A  to configure nose testing.</description>
    </item>
    <item rdf:about="http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:python:python_remove_from_list_while_iterating?rev=1367330483&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-04-30T23:01:23+09:00</dc:date>
        <dc:creator>snorri</dc:creator>
        <title>Remove From List While Iterating</title>
        <link>http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:python:python_remove_from_list_while_iterating?rev=1367330483&amp;do=diff</link>
        <description>Links &amp; Resources

	*  

Code

The following deletes in place, and does it safely. 

somelist[:] = [x for x in somelist if not determine(x)]</description>
    </item>
    <item rdf:about="http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:python:python?rev=1367330389&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-04-30T22:59:49+09:00</dc:date>
        <dc:creator>snorri</dc:creator>
        <title>Python</title>
        <link>http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:python:python?rev=1367330389&amp;do=diff</link>
        <description>Links &amp; Resources

	*   - the official python tutorial.
	*   - api documentation for the core modules.
	*   - api documentation for string regexp'ing.
	*   - how to organise your script/module/package.
	*   - tips on how to write a main from the lead python developer.</description>
    </item>
    <item rdf:about="http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:python:parsing_text_files?rev=1367323870&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-04-30T21:11:10+09:00</dc:date>
        <dc:creator>snorri</dc:creator>
        <title>Parsing Text Files</title>
        <link>http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:python:parsing_text_files?rev=1367323870&amp;do=diff</link>
        <description>Links &amp; Resources

	*   - example code snippets showing a variety of ways to replace words in a file.

Matching

for line in fileinput.input(rosconfig_file,mode='r'):
    if (line.find(&quot;set(ROS_BUILD_TYPE Debug&quot;) != -1):
        sys.stdout.write(&quot;Debug\n&quot;)
    else (line.find(&quot;set(ROS_BUILD_TYPE Release&quot;) != -1):
        sys.stdout.write(&quot;Release\n&quot;)</description>
    </item>
    <item rdf:about="http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:python:strings?rev=1367311508&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-04-30T17:45:08+09:00</dc:date>
        <dc:creator>snorri</dc:creator>
        <title>Strings</title>
        <link>http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:python:strings?rev=1367311508&amp;do=diff</link>
        <description>*   - the python manual page string methods.

Equal

if word == &quot;banana&quot;:
  print  &quot;Yes, we have a banana!&quot;
if word &lt; &quot;banana&quot;:
  print &quot;Your word,&quot; + word + &quot;, comes before banana.&quot;
elif word &gt; &quot;banana&quot;:
  print &quot;Your word,&quot; + word + &quot;, comes after banana.&quot;
else:
  print &quot;We have a banana!&quot;</description>
    </item>
    <item rdf:about="http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:python:python-processes?rev=1365747542&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-04-12T15:19:02+09:00</dc:date>
        <dc:creator>snorri</dc:creator>
        <title>Processes</title>
        <link>http://snorriheim.dnsdojo.com/doku/doku.php/en:programming:python:python-processes?rev=1365747542&amp;do=diff</link>
        <description>Links &amp; Resources

	*  
	*  

os.system

For a simple call to a process:

import os

os.system(mplayer rango.avi)

Subprocess Module

	*  

Running and hiding stdout:

devnull = open('/dev/null', 'w')
process = subprocess.Popen(shlex.split(command_line), stdout=devnull, stderr=devnull)
retcode = process.wait()</description>
    </item>
    <item rdf:about="http://snorriheim.dnsdojo.com/doku/doku.php/?image=en%3Asnorriheim%3Acv_jan_2013.pdf&amp;ns=en%3Asnorriheim&amp;rev=1357050813&amp;tab_details=history&amp;mediado=diff&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2013-01-01T23:33:33+09:00</dc:date>
        <dc:creator>snorri</dc:creator>
        <title>Processes</title>
        <link>http://snorriheim.dnsdojo.com/doku/doku.php/?image=en%3Asnorriheim%3Acv_jan_2013.pdf&amp;ns=en%3Asnorriheim&amp;rev=1357050813&amp;tab_details=history&amp;mediado=diff&amp;do=media</link>
        <description></description>
    </item>
    <item rdf:about="http://snorriheim.dnsdojo.com/doku/doku.php/?image=en%3Aengineering%3Aslam%3Acslam%3A00-bundle_adjustment-triggs.pdf&amp;ns=en%3Aengineering%3Aslam%3Acslam&amp;rev=1330955660&amp;tab_details=history&amp;mediado=diff&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2012-03-05T22:54:20+09:00</dc:date>
        <dc:creator>snorri</dc:creator>
        <title>Processes</title>
        <link>http://snorriheim.dnsdojo.com/doku/doku.php/?image=en%3Aengineering%3Aslam%3Acslam%3A00-bundle_adjustment-triggs.pdf&amp;ns=en%3Aengineering%3Aslam%3Acslam&amp;rev=1330955660&amp;tab_details=history&amp;mediado=diff&amp;do=media</link>
        <description></description>
    </item>
</rdf:RDF>
