<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.nwl.cc/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="https://wiki.nwl.cc/feed.php">
        <title>DokuWiki - code</title>
        <description></description>
        <link>https://wiki.nwl.cc/</link>
        <image rdf:resource="https://wiki.nwl.cc/_media/wiki/dokuwiki.svg" />
       <dc:date>2026-05-16T08:58:48+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.nwl.cc/code/c?rev=1481789148&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.nwl.cc/code/debugging?rev=1585485148&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.nwl.cc/code/nice_scripts?rev=1615226235&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.nwl.cc/code/profiling?rev=1585484003&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.nwl.cc/code/quilt?rev=1183937068&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.nwl.cc/code/regular_expressions?rev=1153079084&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.nwl.cc/code/wrapper_scripts?rev=1153775100&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.nwl.cc/_media/wiki/dokuwiki.svg">
        <title>DokuWiki</title>
        <link>https://wiki.nwl.cc/</link>
        <url>https://wiki.nwl.cc/_media/wiki/dokuwiki.svg</url>
    </image>
    <item rdf:about="https://wiki.nwl.cc/code/c?rev=1481789148&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-12-15T08:05:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>c</title>
        <link>https://wiki.nwl.cc/code/c?rev=1481789148&amp;do=diff</link>
        <description>C Programming

Here are some misc tips about programming in C.

Interactive Subprocesses

Correctly dealing with interactive subprocesses in Unix works best by using pseudo terminals. See here for details.</description>
    </item>
    <item rdf:about="https://wiki.nwl.cc/code/debugging?rev=1585485148&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-29T12:32:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>debugging</title>
        <link>https://wiki.nwl.cc/code/debugging?rev=1585485148&amp;do=diff</link>
        <description>Debugging Code

The following page gives some examples of how to debug C code.

GDB

The Gnu DeBugger is a very powerful tool, but not easy to use. Beginners may
first try insight, a very nice GDB-Gui.

KGDB over Serial Console

Debugging Kernel Modules</description>
    </item>
    <item rdf:about="https://wiki.nwl.cc/code/nice_scripts?rev=1615226235&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-08T17:57:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>nice_scripts</title>
        <link>https://wiki.nwl.cc/code/nice_scripts?rev=1615226235&amp;do=diff</link>
        <description>Nice Scripts

Welcome to Shell Scripting!

Parsing Configs

The file.csv file content is :


user0001;password0001;user0002;password0002
user0011;password0011;user0012;password0012 ...


And the shell program is just :
{ while IFS=&#039;;&#039; read u1 p1 u2 p2; do imapsync --user1 $u1 --password1
$p1 --user2 $u2 --password2 $p2 ... done ; } &lt; file.csv</description>
    </item>
    <item rdf:about="https://wiki.nwl.cc/code/profiling?rev=1585484003&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-29T12:13:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>profiling</title>
        <link>https://wiki.nwl.cc/code/profiling?rev=1585484003&amp;do=diff</link>
        <description>Profiling

A collection of code profiling techniques follows.

Dynamic Memory Allocation

Typical problems with dynamic memory management are:

	*  leaks and
	*  corruption.

While the latter is rather tricky to analyse, for memleaks there is
valgrind</description>
    </item>
    <item rdf:about="https://wiki.nwl.cc/code/quilt?rev=1183937068&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-07-08T23:24:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>quilt</title>
        <link>https://wiki.nwl.cc/code/quilt?rev=1183937068&amp;do=diff</link>
        <description>quilt(1)

quilt is an excellent patch management utility. Especially upgrading a stack of many patches is often a pain in the ass. 
Using quilt all that matters are the right commands at the right time. :)

Refreshing External Patches

Not every project is using</description>
    </item>
    <item rdf:about="https://wiki.nwl.cc/code/regular_expressions?rev=1153079084&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2006-07-16T19:44:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>regular_expressions</title>
        <link>https://wiki.nwl.cc/code/regular_expressions?rev=1153079084&amp;do=diff</link>
        <description>SED

Substrings

Using Substrings, you can reuse parts of the expression to match for the replacement. This is a simple example:
$ date
Mon Jul 25 23:59:40 CEST 2005

$ date | sed -n &#039;s/.*\ \(.*\)/\1/p&#039;
2005
Important parts are:
 -n  do not output anything not requested</description>
    </item>
    <item rdf:about="https://wiki.nwl.cc/code/wrapper_scripts?rev=1153775100&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2006-07-24T21:05:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wrapper_scripts</title>
        <link>https://wiki.nwl.cc/code/wrapper_scripts?rev=1153775100&amp;do=diff</link>
        <description>When writing wrapper scripts, beware that when naming the wrapper the same as the binary itself, you must use the full path to the binary when using it inside the script, or else the wrapper will execute itself recursively!</description>
    </item>
</rdf:RDF>
