<br />
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Trying to get property of non-object in /usr/share/php/midcom/lib/midcom/core/user.php on line <i>286</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0,0005</td><td bgcolor='#eeeeec' align='right'>108604</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='/var/cache/midgard/midgard/10-83-13-0.php' bgcolor='#eeeeec'>../10-83-13-0.php<b>:</b>0</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0,0650</td><td bgcolor='#eeeeec' align='right'>5180868</td><td bgcolor='#eeeeec'>midcom_application->codeinit(  )</td><td title='/var/cache/midgard/midgard/10-83-13-0.php' bgcolor='#eeeeec'>../10-83-13-0.php<b>:</b>78</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0,0683</td><td bgcolor='#eeeeec' align='right'>5409292</td><td bgcolor='#eeeeec'>midcom_application->_process(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>475</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0,1926</td><td bgcolor='#eeeeec' align='right'>10203176</td><td bgcolor='#eeeeec'>midcom_application->_output(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>1039</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0,1927</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>midcom_baseclasses_components_interface->show_content(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>1251</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0,1927</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>midcom_baseclasses_components_request->show(  )</td><td title='/usr/share/php/midcom/lib/midcom/baseclasses/components/interface.php' bgcolor='#eeeeec'>../interface.php<b>:</b>578</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0,1928</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>net_nehmer_blog_handler_feed->_show_feed(  )</td><td title='/usr/share/php/midcom/lib/midcom/baseclasses/components/request.php' bgcolor='#eeeeec'>../request.php<b>:</b>815</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>0,2548</td><td bgcolor='#eeeeec' align='right'>12196788</td><td bgcolor='#eeeeec'>midcom_show_style(  )</td><td title='/usr/share/php/midcom/lib/net/nehmer/blog/handler/feed.php' bgcolor='#eeeeec'>../feed.php<b>:</b>213</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>0,2548</td><td bgcolor='#eeeeec' align='right'>12196788</td><td bgcolor='#eeeeec'>midcom_helper__styleloader->show(  )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php' bgcolor='#eeeeec'>../_styleloader.php<b>:</b>980</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>0,2555</td><td bgcolor='#eeeeec' align='right'>12225444</td><td bgcolor='#eeeeec'>eval( <font color='#00bb00'>''?><?php\n$item = new FeedItem();\n$item->descriptionHtmlSyndicated = true;\n$authors = explode(\'|\', substr($data[\'article\']->metadata->authors, 1, -1));\nif ($authors)\n{\n    $author_user = $_MIDCOM->auth->get_user($authors[0]);\n    if ($author_user)\n    {\n        $author = $author_user->get_storage();\n    \n        if (empty($author->email))\n        {\n            $author->email = "webmaster@{$_SERVER[\'SERVER_NAME\']}";\n        }\n    \n        $item->author = trim("{$author->email} ({$author->name})");\n    }\n}\n\n$item->title = $data[\'article\']->title;\n$arg = $data[\'article\']->name ? $data[\'article\']->name : $data[\'article\']->guid;\n\nif (   $data[\'config\']->get(\'link_to_external_url\')\n    && !empty($data[\'article\']->url))\n{\n    $item->link = $data[\'article\']->url;\n}\nelse\n{\n    if ($data[\'config\']->get(\'view_in_url\'))\n    {\n        $item->link = $_MIDCOM->get_host_name() . $_MIDCOM->get_context_data(MIDCOM_CONTEXT_ANCHORPREFIX) . "view/{$arg}/";\n    }\n    else\n    {\n        $item->link = $_MIDCOM->get_host_name() . $_MIDCOM->get_context_data(MIDCOM_CONTEXT_ANCHORPREFIX) . "{$arg}/";\n    }\n}\n\n$item->guid = $_MIDCOM->permalinks->create_permalink($data[\'article\']->guid);\n$item->date = (int) $data[\'article\']->metadata->published;\n$item->description = \'\';\n\nif ($data[\'article\']->abstract != \'\')\n{\n    $item->description .= \'<div class="abstract">\' .  $data[\'datamanager\']->types[\'abstract\']->convert_to_html() . \'</div>\';\n}\n\nif (   array_key_exists(\'image\', $data[\'datamanager\']->types)\n    && $data[\'config\']->get(\'rss_use_image\'))\n{\n    $item->description .= "\\n<div class=\\"image\\">" . $data[\'datamanager\']->types[\'image\']->convert_to_html() .\'</div>\';\n}\n\nif ($data[\'config\']->get(\'rss_use_content\'))\n{\n    $item->description .= "\\n" . $data[\'datamanager\']->types[\'content\']->convert_to_html();\n}\n\n// Replace links\n$item->description = preg_replace(\',<(a|link|img|script|form|input)([^>]+)(href|src|action)="/([^>"\\s]+)",ie\', \'"<\\1\\2\\3=\\"\' . $_MIDCOM->get_host_name() . \'/\\4\\""\', $item->description);\n\n// TODO: Figure out the RSS multi-category support for real\n$categories = explode(\'|\', $data[\'article\']->extra1);\nif (count($categories) > 1)\n{\n    $item->category = $categories[1];\n}\n\nif ($GLOBALS[\'midcom_config\'][\'positioning_enable\'])\n{\n    // Attach coordinates to the item if available\n    $object_position = new org_routamc_positioning_object($data[\'article\']);\n    $coordinates = $object_position->get_coordinates();\n    if (!is_null($coordinates))\n    {\n        $item->lat = $coordinates[\'latitude\'];\n        $item->long = $coordinates[\'longitude\'];\n    }\n}\n\n$data[\'feedcreator\']->addItem($item);\n?>''</font> )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php' bgcolor='#eeeeec'>../_styleloader.php<b>:</b>652</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225444</td><td bgcolor='#eeeeec'>midcom_services_auth->get_user(  )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php(652) : eval()'d code' bgcolor='#eeeeec'>../_styleloader.php(652) : eval()'d code<b>:</b>7</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225784</td><td bgcolor='#eeeeec'>midcom_core_user->__construct(  )</td><td title='/usr/share/php/midcom/lib/midcom/services/auth.php' bgcolor='#eeeeec'>../auth.php<b>:</b>1115</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225988</td><td bgcolor='#eeeeec'>midcom_core_user->_load(  )</td><td title='/usr/share/php/midcom/lib/midcom/core/user.php' bgcolor='#eeeeec'>../user.php<b>:</b>197</td></tr>
</table></font>
<br />
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Trying to get property of non-object in /usr/share/php/midcom/lib/midcom/core/user.php on line <i>287</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0,0005</td><td bgcolor='#eeeeec' align='right'>108604</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='/var/cache/midgard/midgard/10-83-13-0.php' bgcolor='#eeeeec'>../10-83-13-0.php<b>:</b>0</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0,0650</td><td bgcolor='#eeeeec' align='right'>5180868</td><td bgcolor='#eeeeec'>midcom_application->codeinit(  )</td><td title='/var/cache/midgard/midgard/10-83-13-0.php' bgcolor='#eeeeec'>../10-83-13-0.php<b>:</b>78</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0,0683</td><td bgcolor='#eeeeec' align='right'>5409292</td><td bgcolor='#eeeeec'>midcom_application->_process(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>475</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0,1926</td><td bgcolor='#eeeeec' align='right'>10203176</td><td bgcolor='#eeeeec'>midcom_application->_output(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>1039</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0,1927</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>midcom_baseclasses_components_interface->show_content(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>1251</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0,1927</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>midcom_baseclasses_components_request->show(  )</td><td title='/usr/share/php/midcom/lib/midcom/baseclasses/components/interface.php' bgcolor='#eeeeec'>../interface.php<b>:</b>578</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0,1928</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>net_nehmer_blog_handler_feed->_show_feed(  )</td><td title='/usr/share/php/midcom/lib/midcom/baseclasses/components/request.php' bgcolor='#eeeeec'>../request.php<b>:</b>815</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>0,2548</td><td bgcolor='#eeeeec' align='right'>12196788</td><td bgcolor='#eeeeec'>midcom_show_style(  )</td><td title='/usr/share/php/midcom/lib/net/nehmer/blog/handler/feed.php' bgcolor='#eeeeec'>../feed.php<b>:</b>213</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>0,2548</td><td bgcolor='#eeeeec' align='right'>12196788</td><td bgcolor='#eeeeec'>midcom_helper__styleloader->show(  )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php' bgcolor='#eeeeec'>../_styleloader.php<b>:</b>980</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>0,2555</td><td bgcolor='#eeeeec' align='right'>12225444</td><td bgcolor='#eeeeec'>eval( <font color='#00bb00'>''?><?php\n$item = new FeedItem();\n$item->descriptionHtmlSyndicated = true;\n$authors = explode(\'|\', substr($data[\'article\']->metadata->authors, 1, -1));\nif ($authors)\n{\n    $author_user = $_MIDCOM->auth->get_user($authors[0]);\n    if ($author_user)\n    {\n        $author = $author_user->get_storage();\n    \n        if (empty($author->email))\n        {\n            $author->email = "webmaster@{$_SERVER[\'SERVER_NAME\']}";\n        }\n    \n        $item->author = trim("{$author->email} ({$author->name})");\n    }\n}\n\n$item->title = $data[\'article\']->title;\n$arg = $data[\'article\']->name ? $data[\'article\']->name : $data[\'article\']->guid;\n\nif (   $data[\'config\']->get(\'link_to_external_url\')\n    && !empty($data[\'article\']->url))\n{\n    $item->link = $data[\'article\']->url;\n}\nelse\n{\n    if ($data[\'config\']->get(\'view_in_url\'))\n    {\n        $item->link = $_MIDCOM->get_host_name() . $_MIDCOM->get_context_data(MIDCOM_CONTEXT_ANCHORPREFIX) . "view/{$arg}/";\n    }\n    else\n    {\n        $item->link = $_MIDCOM->get_host_name() . $_MIDCOM->get_context_data(MIDCOM_CONTEXT_ANCHORPREFIX) . "{$arg}/";\n    }\n}\n\n$item->guid = $_MIDCOM->permalinks->create_permalink($data[\'article\']->guid);\n$item->date = (int) $data[\'article\']->metadata->published;\n$item->description = \'\';\n\nif ($data[\'article\']->abstract != \'\')\n{\n    $item->description .= \'<div class="abstract">\' .  $data[\'datamanager\']->types[\'abstract\']->convert_to_html() . \'</div>\';\n}\n\nif (   array_key_exists(\'image\', $data[\'datamanager\']->types)\n    && $data[\'config\']->get(\'rss_use_image\'))\n{\n    $item->description .= "\\n<div class=\\"image\\">" . $data[\'datamanager\']->types[\'image\']->convert_to_html() .\'</div>\';\n}\n\nif ($data[\'config\']->get(\'rss_use_content\'))\n{\n    $item->description .= "\\n" . $data[\'datamanager\']->types[\'content\']->convert_to_html();\n}\n\n// Replace links\n$item->description = preg_replace(\',<(a|link|img|script|form|input)([^>]+)(href|src|action)="/([^>"\\s]+)",ie\', \'"<\\1\\2\\3=\\"\' . $_MIDCOM->get_host_name() . \'/\\4\\""\', $item->description);\n\n// TODO: Figure out the RSS multi-category support for real\n$categories = explode(\'|\', $data[\'article\']->extra1);\nif (count($categories) > 1)\n{\n    $item->category = $categories[1];\n}\n\nif ($GLOBALS[\'midcom_config\'][\'positioning_enable\'])\n{\n    // Attach coordinates to the item if available\n    $object_position = new org_routamc_positioning_object($data[\'article\']);\n    $coordinates = $object_position->get_coordinates();\n    if (!is_null($coordinates))\n    {\n        $item->lat = $coordinates[\'latitude\'];\n        $item->long = $coordinates[\'longitude\'];\n    }\n}\n\n$data[\'feedcreator\']->addItem($item);\n?>''</font> )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php' bgcolor='#eeeeec'>../_styleloader.php<b>:</b>652</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225444</td><td bgcolor='#eeeeec'>midcom_services_auth->get_user(  )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php(652) : eval()'d code' bgcolor='#eeeeec'>../_styleloader.php(652) : eval()'d code<b>:</b>7</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225784</td><td bgcolor='#eeeeec'>midcom_core_user->__construct(  )</td><td title='/usr/share/php/midcom/lib/midcom/services/auth.php' bgcolor='#eeeeec'>../auth.php<b>:</b>1115</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225988</td><td bgcolor='#eeeeec'>midcom_core_user->_load(  )</td><td title='/usr/share/php/midcom/lib/midcom/core/user.php' bgcolor='#eeeeec'>../user.php<b>:</b>197</td></tr>
</table></font>
<br />
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Trying to get property of non-object in /usr/share/php/midcom/lib/midcom/core/user.php on line <i>287</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0,0005</td><td bgcolor='#eeeeec' align='right'>108604</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='/var/cache/midgard/midgard/10-83-13-0.php' bgcolor='#eeeeec'>../10-83-13-0.php<b>:</b>0</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0,0650</td><td bgcolor='#eeeeec' align='right'>5180868</td><td bgcolor='#eeeeec'>midcom_application->codeinit(  )</td><td title='/var/cache/midgard/midgard/10-83-13-0.php' bgcolor='#eeeeec'>../10-83-13-0.php<b>:</b>78</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0,0683</td><td bgcolor='#eeeeec' align='right'>5409292</td><td bgcolor='#eeeeec'>midcom_application->_process(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>475</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0,1926</td><td bgcolor='#eeeeec' align='right'>10203176</td><td bgcolor='#eeeeec'>midcom_application->_output(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>1039</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0,1927</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>midcom_baseclasses_components_interface->show_content(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>1251</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0,1927</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>midcom_baseclasses_components_request->show(  )</td><td title='/usr/share/php/midcom/lib/midcom/baseclasses/components/interface.php' bgcolor='#eeeeec'>../interface.php<b>:</b>578</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0,1928</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>net_nehmer_blog_handler_feed->_show_feed(  )</td><td title='/usr/share/php/midcom/lib/midcom/baseclasses/components/request.php' bgcolor='#eeeeec'>../request.php<b>:</b>815</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>0,2548</td><td bgcolor='#eeeeec' align='right'>12196788</td><td bgcolor='#eeeeec'>midcom_show_style(  )</td><td title='/usr/share/php/midcom/lib/net/nehmer/blog/handler/feed.php' bgcolor='#eeeeec'>../feed.php<b>:</b>213</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>0,2548</td><td bgcolor='#eeeeec' align='right'>12196788</td><td bgcolor='#eeeeec'>midcom_helper__styleloader->show(  )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php' bgcolor='#eeeeec'>../_styleloader.php<b>:</b>980</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>0,2555</td><td bgcolor='#eeeeec' align='right'>12225444</td><td bgcolor='#eeeeec'>eval( <font color='#00bb00'>''?><?php\n$item = new FeedItem();\n$item->descriptionHtmlSyndicated = true;\n$authors = explode(\'|\', substr($data[\'article\']->metadata->authors, 1, -1));\nif ($authors)\n{\n    $author_user = $_MIDCOM->auth->get_user($authors[0]);\n    if ($author_user)\n    {\n        $author = $author_user->get_storage();\n    \n        if (empty($author->email))\n        {\n            $author->email = "webmaster@{$_SERVER[\'SERVER_NAME\']}";\n        }\n    \n        $item->author = trim("{$author->email} ({$author->name})");\n    }\n}\n\n$item->title = $data[\'article\']->title;\n$arg = $data[\'article\']->name ? $data[\'article\']->name : $data[\'article\']->guid;\n\nif (   $data[\'config\']->get(\'link_to_external_url\')\n    && !empty($data[\'article\']->url))\n{\n    $item->link = $data[\'article\']->url;\n}\nelse\n{\n    if ($data[\'config\']->get(\'view_in_url\'))\n    {\n        $item->link = $_MIDCOM->get_host_name() . $_MIDCOM->get_context_data(MIDCOM_CONTEXT_ANCHORPREFIX) . "view/{$arg}/";\n    }\n    else\n    {\n        $item->link = $_MIDCOM->get_host_name() . $_MIDCOM->get_context_data(MIDCOM_CONTEXT_ANCHORPREFIX) . "{$arg}/";\n    }\n}\n\n$item->guid = $_MIDCOM->permalinks->create_permalink($data[\'article\']->guid);\n$item->date = (int) $data[\'article\']->metadata->published;\n$item->description = \'\';\n\nif ($data[\'article\']->abstract != \'\')\n{\n    $item->description .= \'<div class="abstract">\' .  $data[\'datamanager\']->types[\'abstract\']->convert_to_html() . \'</div>\';\n}\n\nif (   array_key_exists(\'image\', $data[\'datamanager\']->types)\n    && $data[\'config\']->get(\'rss_use_image\'))\n{\n    $item->description .= "\\n<div class=\\"image\\">" . $data[\'datamanager\']->types[\'image\']->convert_to_html() .\'</div>\';\n}\n\nif ($data[\'config\']->get(\'rss_use_content\'))\n{\n    $item->description .= "\\n" . $data[\'datamanager\']->types[\'content\']->convert_to_html();\n}\n\n// Replace links\n$item->description = preg_replace(\',<(a|link|img|script|form|input)([^>]+)(href|src|action)="/([^>"\\s]+)",ie\', \'"<\\1\\2\\3=\\"\' . $_MIDCOM->get_host_name() . \'/\\4\\""\', $item->description);\n\n// TODO: Figure out the RSS multi-category support for real\n$categories = explode(\'|\', $data[\'article\']->extra1);\nif (count($categories) > 1)\n{\n    $item->category = $categories[1];\n}\n\nif ($GLOBALS[\'midcom_config\'][\'positioning_enable\'])\n{\n    // Attach coordinates to the item if available\n    $object_position = new org_routamc_positioning_object($data[\'article\']);\n    $coordinates = $object_position->get_coordinates();\n    if (!is_null($coordinates))\n    {\n        $item->lat = $coordinates[\'latitude\'];\n        $item->long = $coordinates[\'longitude\'];\n    }\n}\n\n$data[\'feedcreator\']->addItem($item);\n?>''</font> )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php' bgcolor='#eeeeec'>../_styleloader.php<b>:</b>652</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225444</td><td bgcolor='#eeeeec'>midcom_services_auth->get_user(  )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php(652) : eval()'d code' bgcolor='#eeeeec'>../_styleloader.php(652) : eval()'d code<b>:</b>7</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225784</td><td bgcolor='#eeeeec'>midcom_core_user->__construct(  )</td><td title='/usr/share/php/midcom/lib/midcom/services/auth.php' bgcolor='#eeeeec'>../auth.php<b>:</b>1115</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225988</td><td bgcolor='#eeeeec'>midcom_core_user->_load(  )</td><td title='/usr/share/php/midcom/lib/midcom/core/user.php' bgcolor='#eeeeec'>../user.php<b>:</b>197</td></tr>
</table></font>
<br />
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Trying to get property of non-object in /usr/share/php/midcom/lib/midcom/core/user.php on line <i>293</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0,0005</td><td bgcolor='#eeeeec' align='right'>108604</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='/var/cache/midgard/midgard/10-83-13-0.php' bgcolor='#eeeeec'>../10-83-13-0.php<b>:</b>0</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0,0650</td><td bgcolor='#eeeeec' align='right'>5180868</td><td bgcolor='#eeeeec'>midcom_application->codeinit(  )</td><td title='/var/cache/midgard/midgard/10-83-13-0.php' bgcolor='#eeeeec'>../10-83-13-0.php<b>:</b>78</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0,0683</td><td bgcolor='#eeeeec' align='right'>5409292</td><td bgcolor='#eeeeec'>midcom_application->_process(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>475</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0,1926</td><td bgcolor='#eeeeec' align='right'>10203176</td><td bgcolor='#eeeeec'>midcom_application->_output(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>1039</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0,1927</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>midcom_baseclasses_components_interface->show_content(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>1251</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0,1927</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>midcom_baseclasses_components_request->show(  )</td><td title='/usr/share/php/midcom/lib/midcom/baseclasses/components/interface.php' bgcolor='#eeeeec'>../interface.php<b>:</b>578</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0,1928</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>net_nehmer_blog_handler_feed->_show_feed(  )</td><td title='/usr/share/php/midcom/lib/midcom/baseclasses/components/request.php' bgcolor='#eeeeec'>../request.php<b>:</b>815</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>0,2548</td><td bgcolor='#eeeeec' align='right'>12196788</td><td bgcolor='#eeeeec'>midcom_show_style(  )</td><td title='/usr/share/php/midcom/lib/net/nehmer/blog/handler/feed.php' bgcolor='#eeeeec'>../feed.php<b>:</b>213</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>0,2548</td><td bgcolor='#eeeeec' align='right'>12196788</td><td bgcolor='#eeeeec'>midcom_helper__styleloader->show(  )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php' bgcolor='#eeeeec'>../_styleloader.php<b>:</b>980</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>0,2555</td><td bgcolor='#eeeeec' align='right'>12225444</td><td bgcolor='#eeeeec'>eval( <font color='#00bb00'>''?><?php\n$item = new FeedItem();\n$item->descriptionHtmlSyndicated = true;\n$authors = explode(\'|\', substr($data[\'article\']->metadata->authors, 1, -1));\nif ($authors)\n{\n    $author_user = $_MIDCOM->auth->get_user($authors[0]);\n    if ($author_user)\n    {\n        $author = $author_user->get_storage();\n    \n        if (empty($author->email))\n        {\n            $author->email = "webmaster@{$_SERVER[\'SERVER_NAME\']}";\n        }\n    \n        $item->author = trim("{$author->email} ({$author->name})");\n    }\n}\n\n$item->title = $data[\'article\']->title;\n$arg = $data[\'article\']->name ? $data[\'article\']->name : $data[\'article\']->guid;\n\nif (   $data[\'config\']->get(\'link_to_external_url\')\n    && !empty($data[\'article\']->url))\n{\n    $item->link = $data[\'article\']->url;\n}\nelse\n{\n    if ($data[\'config\']->get(\'view_in_url\'))\n    {\n        $item->link = $_MIDCOM->get_host_name() . $_MIDCOM->get_context_data(MIDCOM_CONTEXT_ANCHORPREFIX) . "view/{$arg}/";\n    }\n    else\n    {\n        $item->link = $_MIDCOM->get_host_name() . $_MIDCOM->get_context_data(MIDCOM_CONTEXT_ANCHORPREFIX) . "{$arg}/";\n    }\n}\n\n$item->guid = $_MIDCOM->permalinks->create_permalink($data[\'article\']->guid);\n$item->date = (int) $data[\'article\']->metadata->published;\n$item->description = \'\';\n\nif ($data[\'article\']->abstract != \'\')\n{\n    $item->description .= \'<div class="abstract">\' .  $data[\'datamanager\']->types[\'abstract\']->convert_to_html() . \'</div>\';\n}\n\nif (   array_key_exists(\'image\', $data[\'datamanager\']->types)\n    && $data[\'config\']->get(\'rss_use_image\'))\n{\n    $item->description .= "\\n<div class=\\"image\\">" . $data[\'datamanager\']->types[\'image\']->convert_to_html() .\'</div>\';\n}\n\nif ($data[\'config\']->get(\'rss_use_content\'))\n{\n    $item->description .= "\\n" . $data[\'datamanager\']->types[\'content\']->convert_to_html();\n}\n\n// Replace links\n$item->description = preg_replace(\',<(a|link|img|script|form|input)([^>]+)(href|src|action)="/([^>"\\s]+)",ie\', \'"<\\1\\2\\3=\\"\' . $_MIDCOM->get_host_name() . \'/\\4\\""\', $item->description);\n\n// TODO: Figure out the RSS multi-category support for real\n$categories = explode(\'|\', $data[\'article\']->extra1);\nif (count($categories) > 1)\n{\n    $item->category = $categories[1];\n}\n\nif ($GLOBALS[\'midcom_config\'][\'positioning_enable\'])\n{\n    // Attach coordinates to the item if available\n    $object_position = new org_routamc_positioning_object($data[\'article\']);\n    $coordinates = $object_position->get_coordinates();\n    if (!is_null($coordinates))\n    {\n        $item->lat = $coordinates[\'latitude\'];\n        $item->long = $coordinates[\'longitude\'];\n    }\n}\n\n$data[\'feedcreator\']->addItem($item);\n?>''</font> )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php' bgcolor='#eeeeec'>../_styleloader.php<b>:</b>652</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225444</td><td bgcolor='#eeeeec'>midcom_services_auth->get_user(  )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php(652) : eval()'d code' bgcolor='#eeeeec'>../_styleloader.php(652) : eval()'d code<b>:</b>7</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225784</td><td bgcolor='#eeeeec'>midcom_core_user->__construct(  )</td><td title='/usr/share/php/midcom/lib/midcom/services/auth.php' bgcolor='#eeeeec'>../auth.php<b>:</b>1115</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225988</td><td bgcolor='#eeeeec'>midcom_core_user->_load(  )</td><td title='/usr/share/php/midcom/lib/midcom/core/user.php' bgcolor='#eeeeec'>../user.php<b>:</b>197</td></tr>
</table></font>
<br />
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Trying to get property of non-object in /usr/share/php/midcom/lib/midcom/core/user.php on line <i>293</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0,0005</td><td bgcolor='#eeeeec' align='right'>108604</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='/var/cache/midgard/midgard/10-83-13-0.php' bgcolor='#eeeeec'>../10-83-13-0.php<b>:</b>0</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0,0650</td><td bgcolor='#eeeeec' align='right'>5180868</td><td bgcolor='#eeeeec'>midcom_application->codeinit(  )</td><td title='/var/cache/midgard/midgard/10-83-13-0.php' bgcolor='#eeeeec'>../10-83-13-0.php<b>:</b>78</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0,0683</td><td bgcolor='#eeeeec' align='right'>5409292</td><td bgcolor='#eeeeec'>midcom_application->_process(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>475</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0,1926</td><td bgcolor='#eeeeec' align='right'>10203176</td><td bgcolor='#eeeeec'>midcom_application->_output(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>1039</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0,1927</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>midcom_baseclasses_components_interface->show_content(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>1251</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0,1927</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>midcom_baseclasses_components_request->show(  )</td><td title='/usr/share/php/midcom/lib/midcom/baseclasses/components/interface.php' bgcolor='#eeeeec'>../interface.php<b>:</b>578</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0,1928</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>net_nehmer_blog_handler_feed->_show_feed(  )</td><td title='/usr/share/php/midcom/lib/midcom/baseclasses/components/request.php' bgcolor='#eeeeec'>../request.php<b>:</b>815</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>0,2548</td><td bgcolor='#eeeeec' align='right'>12196788</td><td bgcolor='#eeeeec'>midcom_show_style(  )</td><td title='/usr/share/php/midcom/lib/net/nehmer/blog/handler/feed.php' bgcolor='#eeeeec'>../feed.php<b>:</b>213</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>0,2548</td><td bgcolor='#eeeeec' align='right'>12196788</td><td bgcolor='#eeeeec'>midcom_helper__styleloader->show(  )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php' bgcolor='#eeeeec'>../_styleloader.php<b>:</b>980</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>0,2555</td><td bgcolor='#eeeeec' align='right'>12225444</td><td bgcolor='#eeeeec'>eval( <font color='#00bb00'>''?><?php\n$item = new FeedItem();\n$item->descriptionHtmlSyndicated = true;\n$authors = explode(\'|\', substr($data[\'article\']->metadata->authors, 1, -1));\nif ($authors)\n{\n    $author_user = $_MIDCOM->auth->get_user($authors[0]);\n    if ($author_user)\n    {\n        $author = $author_user->get_storage();\n    \n        if (empty($author->email))\n        {\n            $author->email = "webmaster@{$_SERVER[\'SERVER_NAME\']}";\n        }\n    \n        $item->author = trim("{$author->email} ({$author->name})");\n    }\n}\n\n$item->title = $data[\'article\']->title;\n$arg = $data[\'article\']->name ? $data[\'article\']->name : $data[\'article\']->guid;\n\nif (   $data[\'config\']->get(\'link_to_external_url\')\n    && !empty($data[\'article\']->url))\n{\n    $item->link = $data[\'article\']->url;\n}\nelse\n{\n    if ($data[\'config\']->get(\'view_in_url\'))\n    {\n        $item->link = $_MIDCOM->get_host_name() . $_MIDCOM->get_context_data(MIDCOM_CONTEXT_ANCHORPREFIX) . "view/{$arg}/";\n    }\n    else\n    {\n        $item->link = $_MIDCOM->get_host_name() . $_MIDCOM->get_context_data(MIDCOM_CONTEXT_ANCHORPREFIX) . "{$arg}/";\n    }\n}\n\n$item->guid = $_MIDCOM->permalinks->create_permalink($data[\'article\']->guid);\n$item->date = (int) $data[\'article\']->metadata->published;\n$item->description = \'\';\n\nif ($data[\'article\']->abstract != \'\')\n{\n    $item->description .= \'<div class="abstract">\' .  $data[\'datamanager\']->types[\'abstract\']->convert_to_html() . \'</div>\';\n}\n\nif (   array_key_exists(\'image\', $data[\'datamanager\']->types)\n    && $data[\'config\']->get(\'rss_use_image\'))\n{\n    $item->description .= "\\n<div class=\\"image\\">" . $data[\'datamanager\']->types[\'image\']->convert_to_html() .\'</div>\';\n}\n\nif ($data[\'config\']->get(\'rss_use_content\'))\n{\n    $item->description .= "\\n" . $data[\'datamanager\']->types[\'content\']->convert_to_html();\n}\n\n// Replace links\n$item->description = preg_replace(\',<(a|link|img|script|form|input)([^>]+)(href|src|action)="/([^>"\\s]+)",ie\', \'"<\\1\\2\\3=\\"\' . $_MIDCOM->get_host_name() . \'/\\4\\""\', $item->description);\n\n// TODO: Figure out the RSS multi-category support for real\n$categories = explode(\'|\', $data[\'article\']->extra1);\nif (count($categories) > 1)\n{\n    $item->category = $categories[1];\n}\n\nif ($GLOBALS[\'midcom_config\'][\'positioning_enable\'])\n{\n    // Attach coordinates to the item if available\n    $object_position = new org_routamc_positioning_object($data[\'article\']);\n    $coordinates = $object_position->get_coordinates();\n    if (!is_null($coordinates))\n    {\n        $item->lat = $coordinates[\'latitude\'];\n        $item->long = $coordinates[\'longitude\'];\n    }\n}\n\n$data[\'feedcreator\']->addItem($item);\n?>''</font> )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php' bgcolor='#eeeeec'>../_styleloader.php<b>:</b>652</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225444</td><td bgcolor='#eeeeec'>midcom_services_auth->get_user(  )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php(652) : eval()'d code' bgcolor='#eeeeec'>../_styleloader.php(652) : eval()'d code<b>:</b>7</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225784</td><td bgcolor='#eeeeec'>midcom_core_user->__construct(  )</td><td title='/usr/share/php/midcom/lib/midcom/services/auth.php' bgcolor='#eeeeec'>../auth.php<b>:</b>1115</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225988</td><td bgcolor='#eeeeec'>midcom_core_user->_load(  )</td><td title='/usr/share/php/midcom/lib/midcom/core/user.php' bgcolor='#eeeeec'>../user.php<b>:</b>197</td></tr>
</table></font>
<br />
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Trying to get property of non-object in /usr/share/php/midcom/lib/midcom/core/user.php on line <i>299</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0,0005</td><td bgcolor='#eeeeec' align='right'>108604</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='/var/cache/midgard/midgard/10-83-13-0.php' bgcolor='#eeeeec'>../10-83-13-0.php<b>:</b>0</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0,0650</td><td bgcolor='#eeeeec' align='right'>5180868</td><td bgcolor='#eeeeec'>midcom_application->codeinit(  )</td><td title='/var/cache/midgard/midgard/10-83-13-0.php' bgcolor='#eeeeec'>../10-83-13-0.php<b>:</b>78</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0,0683</td><td bgcolor='#eeeeec' align='right'>5409292</td><td bgcolor='#eeeeec'>midcom_application->_process(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>475</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0,1926</td><td bgcolor='#eeeeec' align='right'>10203176</td><td bgcolor='#eeeeec'>midcom_application->_output(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>1039</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0,1927</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>midcom_baseclasses_components_interface->show_content(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>1251</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0,1927</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>midcom_baseclasses_components_request->show(  )</td><td title='/usr/share/php/midcom/lib/midcom/baseclasses/components/interface.php' bgcolor='#eeeeec'>../interface.php<b>:</b>578</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0,1928</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>net_nehmer_blog_handler_feed->_show_feed(  )</td><td title='/usr/share/php/midcom/lib/midcom/baseclasses/components/request.php' bgcolor='#eeeeec'>../request.php<b>:</b>815</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>0,2548</td><td bgcolor='#eeeeec' align='right'>12196788</td><td bgcolor='#eeeeec'>midcom_show_style(  )</td><td title='/usr/share/php/midcom/lib/net/nehmer/blog/handler/feed.php' bgcolor='#eeeeec'>../feed.php<b>:</b>213</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>0,2548</td><td bgcolor='#eeeeec' align='right'>12196788</td><td bgcolor='#eeeeec'>midcom_helper__styleloader->show(  )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php' bgcolor='#eeeeec'>../_styleloader.php<b>:</b>980</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>0,2555</td><td bgcolor='#eeeeec' align='right'>12225444</td><td bgcolor='#eeeeec'>eval( <font color='#00bb00'>''?><?php\n$item = new FeedItem();\n$item->descriptionHtmlSyndicated = true;\n$authors = explode(\'|\', substr($data[\'article\']->metadata->authors, 1, -1));\nif ($authors)\n{\n    $author_user = $_MIDCOM->auth->get_user($authors[0]);\n    if ($author_user)\n    {\n        $author = $author_user->get_storage();\n    \n        if (empty($author->email))\n        {\n            $author->email = "webmaster@{$_SERVER[\'SERVER_NAME\']}";\n        }\n    \n        $item->author = trim("{$author->email} ({$author->name})");\n    }\n}\n\n$item->title = $data[\'article\']->title;\n$arg = $data[\'article\']->name ? $data[\'article\']->name : $data[\'article\']->guid;\n\nif (   $data[\'config\']->get(\'link_to_external_url\')\n    && !empty($data[\'article\']->url))\n{\n    $item->link = $data[\'article\']->url;\n}\nelse\n{\n    if ($data[\'config\']->get(\'view_in_url\'))\n    {\n        $item->link = $_MIDCOM->get_host_name() . $_MIDCOM->get_context_data(MIDCOM_CONTEXT_ANCHORPREFIX) . "view/{$arg}/";\n    }\n    else\n    {\n        $item->link = $_MIDCOM->get_host_name() . $_MIDCOM->get_context_data(MIDCOM_CONTEXT_ANCHORPREFIX) . "{$arg}/";\n    }\n}\n\n$item->guid = $_MIDCOM->permalinks->create_permalink($data[\'article\']->guid);\n$item->date = (int) $data[\'article\']->metadata->published;\n$item->description = \'\';\n\nif ($data[\'article\']->abstract != \'\')\n{\n    $item->description .= \'<div class="abstract">\' .  $data[\'datamanager\']->types[\'abstract\']->convert_to_html() . \'</div>\';\n}\n\nif (   array_key_exists(\'image\', $data[\'datamanager\']->types)\n    && $data[\'config\']->get(\'rss_use_image\'))\n{\n    $item->description .= "\\n<div class=\\"image\\">" . $data[\'datamanager\']->types[\'image\']->convert_to_html() .\'</div>\';\n}\n\nif ($data[\'config\']->get(\'rss_use_content\'))\n{\n    $item->description .= "\\n" . $data[\'datamanager\']->types[\'content\']->convert_to_html();\n}\n\n// Replace links\n$item->description = preg_replace(\',<(a|link|img|script|form|input)([^>]+)(href|src|action)="/([^>"\\s]+)",ie\', \'"<\\1\\2\\3=\\"\' . $_MIDCOM->get_host_name() . \'/\\4\\""\', $item->description);\n\n// TODO: Figure out the RSS multi-category support for real\n$categories = explode(\'|\', $data[\'article\']->extra1);\nif (count($categories) > 1)\n{\n    $item->category = $categories[1];\n}\n\nif ($GLOBALS[\'midcom_config\'][\'positioning_enable\'])\n{\n    // Attach coordinates to the item if available\n    $object_position = new org_routamc_positioning_object($data[\'article\']);\n    $coordinates = $object_position->get_coordinates();\n    if (!is_null($coordinates))\n    {\n        $item->lat = $coordinates[\'latitude\'];\n        $item->long = $coordinates[\'longitude\'];\n    }\n}\n\n$data[\'feedcreator\']->addItem($item);\n?>''</font> )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php' bgcolor='#eeeeec'>../_styleloader.php<b>:</b>652</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225444</td><td bgcolor='#eeeeec'>midcom_services_auth->get_user(  )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php(652) : eval()'d code' bgcolor='#eeeeec'>../_styleloader.php(652) : eval()'d code<b>:</b>7</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225784</td><td bgcolor='#eeeeec'>midcom_core_user->__construct(  )</td><td title='/usr/share/php/midcom/lib/midcom/services/auth.php' bgcolor='#eeeeec'>../auth.php<b>:</b>1115</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225988</td><td bgcolor='#eeeeec'>midcom_core_user->_load(  )</td><td title='/usr/share/php/midcom/lib/midcom/core/user.php' bgcolor='#eeeeec'>../user.php<b>:</b>197</td></tr>
</table></font>
<br />
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Trying to get property of non-object in /usr/share/php/midcom/lib/midcom/core/user.php on line <i>300</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0,0005</td><td bgcolor='#eeeeec' align='right'>108604</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='/var/cache/midgard/midgard/10-83-13-0.php' bgcolor='#eeeeec'>../10-83-13-0.php<b>:</b>0</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0,0650</td><td bgcolor='#eeeeec' align='right'>5180868</td><td bgcolor='#eeeeec'>midcom_application->codeinit(  )</td><td title='/var/cache/midgard/midgard/10-83-13-0.php' bgcolor='#eeeeec'>../10-83-13-0.php<b>:</b>78</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0,0683</td><td bgcolor='#eeeeec' align='right'>5409292</td><td bgcolor='#eeeeec'>midcom_application->_process(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>475</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0,1926</td><td bgcolor='#eeeeec' align='right'>10203176</td><td bgcolor='#eeeeec'>midcom_application->_output(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>1039</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0,1927</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>midcom_baseclasses_components_interface->show_content(  )</td><td title='/usr/share/php/midcom/lib/midcom/application.php' bgcolor='#eeeeec'>../application.php<b>:</b>1251</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0,1927</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>midcom_baseclasses_components_request->show(  )</td><td title='/usr/share/php/midcom/lib/midcom/baseclasses/components/interface.php' bgcolor='#eeeeec'>../interface.php<b>:</b>578</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0,1928</td><td bgcolor='#eeeeec' align='right'>10244492</td><td bgcolor='#eeeeec'>net_nehmer_blog_handler_feed->_show_feed(  )</td><td title='/usr/share/php/midcom/lib/midcom/baseclasses/components/request.php' bgcolor='#eeeeec'>../request.php<b>:</b>815</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>0,2548</td><td bgcolor='#eeeeec' align='right'>12196788</td><td bgcolor='#eeeeec'>midcom_show_style(  )</td><td title='/usr/share/php/midcom/lib/net/nehmer/blog/handler/feed.php' bgcolor='#eeeeec'>../feed.php<b>:</b>213</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>0,2548</td><td bgcolor='#eeeeec' align='right'>12196788</td><td bgcolor='#eeeeec'>midcom_helper__styleloader->show(  )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php' bgcolor='#eeeeec'>../_styleloader.php<b>:</b>980</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>0,2555</td><td bgcolor='#eeeeec' align='right'>12225444</td><td bgcolor='#eeeeec'>eval( <font color='#00bb00'>''?><?php\n$item = new FeedItem();\n$item->descriptionHtmlSyndicated = true;\n$authors = explode(\'|\', substr($data[\'article\']->metadata->authors, 1, -1));\nif ($authors)\n{\n    $author_user = $_MIDCOM->auth->get_user($authors[0]);\n    if ($author_user)\n    {\n        $author = $author_user->get_storage();\n    \n        if (empty($author->email))\n        {\n            $author->email = "webmaster@{$_SERVER[\'SERVER_NAME\']}";\n        }\n    \n        $item->author = trim("{$author->email} ({$author->name})");\n    }\n}\n\n$item->title = $data[\'article\']->title;\n$arg = $data[\'article\']->name ? $data[\'article\']->name : $data[\'article\']->guid;\n\nif (   $data[\'config\']->get(\'link_to_external_url\')\n    && !empty($data[\'article\']->url))\n{\n    $item->link = $data[\'article\']->url;\n}\nelse\n{\n    if ($data[\'config\']->get(\'view_in_url\'))\n    {\n        $item->link = $_MIDCOM->get_host_name() . $_MIDCOM->get_context_data(MIDCOM_CONTEXT_ANCHORPREFIX) . "view/{$arg}/";\n    }\n    else\n    {\n        $item->link = $_MIDCOM->get_host_name() . $_MIDCOM->get_context_data(MIDCOM_CONTEXT_ANCHORPREFIX) . "{$arg}/";\n    }\n}\n\n$item->guid = $_MIDCOM->permalinks->create_permalink($data[\'article\']->guid);\n$item->date = (int) $data[\'article\']->metadata->published;\n$item->description = \'\';\n\nif ($data[\'article\']->abstract != \'\')\n{\n    $item->description .= \'<div class="abstract">\' .  $data[\'datamanager\']->types[\'abstract\']->convert_to_html() . \'</div>\';\n}\n\nif (   array_key_exists(\'image\', $data[\'datamanager\']->types)\n    && $data[\'config\']->get(\'rss_use_image\'))\n{\n    $item->description .= "\\n<div class=\\"image\\">" . $data[\'datamanager\']->types[\'image\']->convert_to_html() .\'</div>\';\n}\n\nif ($data[\'config\']->get(\'rss_use_content\'))\n{\n    $item->description .= "\\n" . $data[\'datamanager\']->types[\'content\']->convert_to_html();\n}\n\n// Replace links\n$item->description = preg_replace(\',<(a|link|img|script|form|input)([^>]+)(href|src|action)="/([^>"\\s]+)",ie\', \'"<\\1\\2\\3=\\"\' . $_MIDCOM->get_host_name() . \'/\\4\\""\', $item->description);\n\n// TODO: Figure out the RSS multi-category support for real\n$categories = explode(\'|\', $data[\'article\']->extra1);\nif (count($categories) > 1)\n{\n    $item->category = $categories[1];\n}\n\nif ($GLOBALS[\'midcom_config\'][\'positioning_enable\'])\n{\n    // Attach coordinates to the item if available\n    $object_position = new org_routamc_positioning_object($data[\'article\']);\n    $coordinates = $object_position->get_coordinates();\n    if (!is_null($coordinates))\n    {\n        $item->lat = $coordinates[\'latitude\'];\n        $item->long = $coordinates[\'longitude\'];\n    }\n}\n\n$data[\'feedcreator\']->addItem($item);\n?>''</font> )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php' bgcolor='#eeeeec'>../_styleloader.php<b>:</b>652</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225444</td><td bgcolor='#eeeeec'>midcom_services_auth->get_user(  )</td><td title='/usr/share/php/midcom/lib/midcom/helper/_styleloader.php(652) : eval()'d code' bgcolor='#eeeeec'>../_styleloader.php(652) : eval()'d code<b>:</b>7</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225784</td><td bgcolor='#eeeeec'>midcom_core_user->__construct(  )</td><td title='/usr/share/php/midcom/lib/midcom/services/auth.php' bgcolor='#eeeeec'>../auth.php<b>:</b>1115</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>0,2556</td><td bgcolor='#eeeeec' align='right'>12225988</td><td bgcolor='#eeeeec'>midcom_core_user->_load(  )</td><td title='/usr/share/php/midcom/lib/midcom/core/user.php' bgcolor='#eeeeec'>../user.php<b>:</b>197</td></tr>
</table></font>
<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.6(BH)" -->
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>kaktus.cc</title>
    <subtitle>Weblog of Arttu Manninen</subtitle>
    <link rel="alternate" type="text/html" href="http://www.kaktus.cc/weblog/"/>
    <id>http://www.kaktus.cc/weblog/</id>
    <updated>2010-07-30T02:43:39+00:00</updated>
    <author>
        <name>arttu.manninen@protie.fi</name>
    </author>
    <generator>FeedCreator 1.7.6(BH) (info@mypapit.net)</generator>
    <link rel="self" type="application/atom+xml" href="http://www.kaktus.cc/weblog/atom.xml" />
    <entry>
        <title>Photo viewer for your Flickr account</title>
        <link rel="alternate" type="text/html" href="http://www.kaktus.cc/weblog/photo_viewer_for_your_flickr_account/"/>
        <published>2010-04-07T11:01:08+00:00</published>
        <updated>2010-04-07T11:01:08+00:00</updated>
        <id>http://www.kaktus.cc/midcom-permalink-de8449ec423411df9e80dd2e519a1e7f1e7f</id>
        <author>
            <name>arttu@kaktus.cc (Arttu Manninen)</name>
        </author>
        <content type="html"><![CDATA[
<p><a href="http://joonaskallioinen.wordpress.com/">Joonas Kallioinen</a> from <a href="http://www.piippunaakka.fi/">Piippunaakka Oy</a> created a nice photo viewer that fetches photos from <a href="http://www.flickr.com/">Flickr</a>. Joonas had a good point in saying that clicking on thumbnails is frustrating and that photos should immediately be presented in the size they are best viewed in. His work can be seen on the website of <a href="http://www.ariell.fi/">Ariell</a> or on my test version with <a href="http://www.kaktus.cc/portugal_2006.html">pictures from Portugal</a>.</p>

<p>This project will be finished soon as a few minor bugs will be fixed. <a href="http://joonaskallioinen.wordpress.com/2010/04/06/flickr-swf-gallery/">Go and grab it</a>.</p>
]]></content>
        <summary type="html"><![CDATA[
<p><a href="http://joonaskallioinen.wordpress.com/">Joonas Kallioinen</a> from <a href="http://www.piippunaakka.fi/">Piippunaakka Oy</a> created a nice photo viewer that fetches photos from <a href="http://www.flickr.com/">Flickr</a>. Joonas had a good point in saying that clicking on thumbnails is frustrating and that photos should immediately be presented in the size they are best viewed in. His work can be seen on the website of <a href="http://www.ariell.fi/">Ariell</a> or on my test version with <a href="http://www.kaktus.cc/portugal_2006.html">pictures from Portugal</a>.</p>

<p>This project will be finished soon as a few minor bugs will be fixed. <a href="http://joonaskallioinen.wordpress.com/2010/04/06/flickr-swf-gallery/">Go and grab it</a>.</p>
]]></summary>
    </entry>
    <entry>
        <title>Atheists more evolved?</title>
        <link rel="alternate" type="text/html" href="http://www.kaktus.cc/weblog/atheists_more_evolved/"/>
        <published>2010-03-08T12:06:00+00:00</published>
        <updated>2010-03-08T12:06:00+00:00</updated>
        <id>http://www.kaktus.cc/midcom-permalink-f629a0de2aaa11df988fd5ce980eab62ab62</id>
        <author>
            <name>arttu@kaktus.cc (Arttu Manninen)</name>
        </author>
        <content type="html"><![CDATA[
<p>I read this article on National Geographic telling that <a href="http://news.nationalgeographic.com/news/2010/03/100303-liberals-atheists-smarter-evolution-evolved/">Liberals, Atheists are more evolved</a>. Having studied evolution quite a lot for a layman, I can tell immediately that at least the person behind the title doesn't know what evolution is and that no one is more evolved than anyone else. Of course I could let the atheist inside me shine in the light, but...</p>

<p>First and foremost, evolution doesn't have a direction. It doesn't steadily go towards a conclusion as that would require some intelligence to plan forehand the play. Evolution is an eliminative process, pointing always only towards current moment, letting only those who are right there and then having some kind of an advantage in procreating.</p>

<p>Even those that appear as living fossils like <a href="http://en.wikipedia.org/wiki/Platypus">platypus</a> or <a href="http://en.wikipedia.org/wiki/Coelacanth">Coelacanth</a> have had exactly the same time to evolve. Platypuses <em>appear</em> as less evolved than other mammals as they</p>

<ol>
<li>lay eggs instead of give birth to living babies</li>
<li>don't have nipples, but secrete milky substance straight on the skin</li>
<li>have a beak instead of a nose</li>
</ol>

<p>How about its evolved traits like electrolocation that is so sensitive that it can locate a shrimp by the electric signal shrimp's muscles transmit when contracting? Or that platypuses are the only (known) poisonous mammals?</p>

<p>And for all of those who ever have heard that "I can't believe that we humans evolved from chimpanzees": it's all true. We didn't. We branched from common ancestors and we really aren't any more evolved than chimps, only different. Chimps and bonobos aren't our parents, they are our cousins.</p>

<p>Second, changes in genes and in appearance do not correlate. Genetic changes can be very subtle and small but still have dramatic effects (e.g. comparing Homo Sapiens to Chimps) or they can be very big while phenotype remains apparently unchanged (platypus compared to any other mammal group, according to genetic sequencing). There are numerous factors that can alter the phenotype while keeping the genes relatively unchanged, like <a href="http://en.wikipedia.org/wiki/Pedomorphosis">pedomorphosis</a> (changing the time when species becomes fertile) in <a href="http://en.wikipedia.org/wiki/Axolotl">Axolotls</a>.</p>

<p>P.S. This all reminds me of a very educating and entertaining video that tells what really makes us different from any other animal: <a href="http://www.ted.com/talks/robert_sapolsky_the_uniqueness_of_humans.html">Robert Sapolsky on the Uniqueness of Humans</a>.</p>
]]></content>
        <summary type="html"><![CDATA[
<p>I read this article on National Geographic telling that <a href="http://news.nationalgeographic.com/news/2010/03/100303-liberals-atheists-smarter-evolution-evolved/">Liberals, Atheists are more evolved</a>. Having studied evolution quite a lot for a layman, I can tell immediately that at least the person behind the title doesn't know what evolution is and that no one is more evolved than anyone else. Of course I could let the atheist inside me shine in the light, but...</p>

<p>First and foremost, evolution doesn't have a direction. It doesn't steadily go towards a conclusion as that would require some intelligence to plan forehand the play. Evolution is an eliminative process, pointing always only towards current moment, letting only those who are right there and then having some kind of an advantage in procreating.</p>

<p>Even those that appear as living fossils like <a href="http://en.wikipedia.org/wiki/Platypus">platypus</a> or <a href="http://en.wikipedia.org/wiki/Coelacanth">Coelacanth</a> have had exactly the same time to evolve. Platypuses <em>appear</em> as less evolved than other mammals as they</p>

<ol>
<li>lay eggs instead of give birth to living babies</li>
<li>don't have nipples, but secrete milky substance straight on the skin</li>
<li>have a beak instead of a nose</li>
</ol>

<p>How about its evolved traits like electrolocation that is so sensitive that it can locate a shrimp by the electric signal shrimp's muscles transmit when contracting? Or that platypuses are the only (known) poisonous mammals?</p>

<p>And for all of those who ever have heard that "I can't believe that we humans evolved from chimpanzees": it's all true. We didn't. We branched from common ancestors and we really aren't any more evolved than chimps, only different. Chimps and bonobos aren't our parents, they are our cousins.</p>

<p>Second, changes in genes and in appearance do not correlate. Genetic changes can be very subtle and small but still have dramatic effects (e.g. comparing Homo Sapiens to Chimps) or they can be very big while phenotype remains apparently unchanged (platypus compared to any other mammal group, according to genetic sequencing). There are numerous factors that can alter the phenotype while keeping the genes relatively unchanged, like <a href="http://en.wikipedia.org/wiki/Pedomorphosis">pedomorphosis</a> (changing the time when species becomes fertile) in <a href="http://en.wikipedia.org/wiki/Axolotl">Axolotls</a>.</p>

<p>P.S. This all reminds me of a very educating and entertaining video that tells what really makes us different from any other animal: <a href="http://www.ted.com/talks/robert_sapolsky_the_uniqueness_of_humans.html">Robert Sapolsky on the Uniqueness of Humans</a>.</p>
]]></summary>
    </entry>
    <entry>
        <title>Immortality</title>
        <link rel="alternate" type="text/html" href="http://www.kaktus.cc/weblog/immortality/"/>
        <published>2009-08-28T14:28:35+00:00</published>
        <updated>2009-08-28T14:28:35+00:00</updated>
        <id>http://www.kaktus.cc/midcom-permalink-120d458e93df11de8dc30ffd1a2e2b482b48</id>
        <author>
            <name>arttu@kaktus.cc (Arttu Manninen)</name>
        </author>
        <content type="html"><![CDATA[
<p>Life is miraculous.</p>

<p>There's a very godlike creature swimming in the oceans, what comes to lifespan. A jellyfish that is biologically immortal has shown 100 % bypass rate of cellular death, since it is able to revert from adult back to polyp stage from which it grows back into adulthood.</p>

<p><img src="http://www.kaktus.cc/midcom-serveattachmentguid-1538e0f693df11de8dc30ffd1a2e2b482b48/hydrozoa.jpg" alt="Turritopsis nutricula" title="" /></p>

<p>(Photo from <a href="http://www.zmescience.com/meet-the-worlds-only-immortal-animal">ZMEScience</a>)</p>

<p>Read more from <a href="http://www.timesonline.co.uk/tol/news/science/article5594539.ece">Times Online</a></p>

<p>I assume returning back to polyp stage wipes out much of the memory, which might be very scarce resource for simple jellyfish, but if evolution turned it into highly intelligent creature... Oh boy, what a fascinating thought.</p>
]]></content>
        <summary type="html"><![CDATA[
<p>Life is miraculous.</p>

<p>There's a very godlike creature swimming in the oceans, what comes to lifespan. A jellyfish that is biologically immortal has shown 100 % bypass rate of cellular death, since it is able to revert from adult back to polyp stage from which it grows back into adulthood.</p>

<p><img src="http://www.kaktus.cc/midcom-serveattachmentguid-1538e0f693df11de8dc30ffd1a2e2b482b48/hydrozoa.jpg" alt="Turritopsis nutricula" title="" /></p>

<p>(Photo from <a href="http://www.zmescience.com/meet-the-worlds-only-immortal-animal">ZMEScience</a>)</p>

<p>Read more from <a href="http://www.timesonline.co.uk/tol/news/science/article5594539.ece">Times Online</a></p>

<p>I assume returning back to polyp stage wipes out much of the memory, which might be very scarce resource for simple jellyfish, but if evolution turned it into highly intelligent creature... Oh boy, what a fascinating thought.</p>
]]></summary>
    </entry>
    <entry>
        <title>PNG and color profiles</title>
        <link rel="alternate" type="text/html" href="http://www.kaktus.cc/weblog/png_and_color_profiles/"/>
        <published>2009-08-18T23:13:26+00:00</published>
        <updated>2009-08-18T23:13:26+00:00</updated>
        <id>http://www.kaktus.cc/midcom-permalink-bc17ebb48c4c11debc100169780328b828b8</id>
        <author>
            <name>arttu@kaktus.cc (Arttu Manninen)</name>
        </author>
        <content type="html"><![CDATA[
<p>PNG is a great format, but there is one issue that its developers thought in a way that makes it also a difficult format.</p>

<p>PNG sticks to color profiles, leading often issues like different colors with same RGB values on a browser view. In supporting browsers, image with #f0f0f0 might have different color than a div with the same color set to its background.</p>

<p>Fortunately there is e.g. <a href="http://pmt.sourceforge.net/pngcrush/">pngcrush</a>, which can be used to strip PNG from color profiles. <a href="http://warpedvisions.org/2008/08/07/fixing-png-color-matching-for-safari-and-ie/">Warped Visions</a> described an easy way:</p>

<pre><code># pngcrush -rem cHRM -rem gAMA -rem iCCP -rem sRGB -d fixed/ *
</code></pre>

<p>P.S. Remember to think twice before accepting free lemonade.</p>
]]></content>
        <summary type="html"><![CDATA[
<p>PNG is a great format, but there is one issue that its developers thought in a way that makes it also a difficult format.</p>

<p>PNG sticks to color profiles, leading often issues like different colors with same RGB values on a browser view. In supporting browsers, image with #f0f0f0 might have different color than a div with the same color set to its background.</p>

<p>Fortunately there is e.g. <a href="http://pmt.sourceforge.net/pngcrush/">pngcrush</a>, which can be used to strip PNG from color profiles. <a href="http://warpedvisions.org/2008/08/07/fixing-png-color-matching-for-safari-and-ie/">Warped Visions</a> described an easy way:</p>

<pre><code># pngcrush -rem cHRM -rem gAMA -rem iCCP -rem sRGB -d fixed/ *
</code></pre>

<p>P.S. Remember to think twice before accepting free lemonade.</p>
]]></summary>
    </entry>
    <entry>
        <title>Ihmistulva</title>
        <link rel="alternate" type="text/html" href="http://www.kaktus.cc/weblog/ihmistulva/"/>
        <published>2009-07-07T18:03:19+00:00</published>
        <updated>2009-07-07T18:03:19+00:00</updated>
        <id>http://www.kaktus.cc/midcom-permalink-73fea3566b2011dea7b5eb868dcde8eee8ee</id>
        <author>
            <name>arttu@kaktus.cc (Arttu Manninen)</name>
        </author>
        <content type="html"><![CDATA[
<p>Since we do Open Source already and it has a strong communal "doing together" idea behind, I decided to go one step further with collective efforts. Last week we launched a site that has a goal of making people take actions to change the political climate of Finnish government to work harder and better on reducing the effects of coming climate crisis.</p>

<p>Our site, <a href="http://www.ihmistulva.fi/">Ihmistulva</a>, is about an event happening September 5th and our goal is to gather 5000 people. The working force behind is <a href="http://www.maanystavat.fi/english.php">Friends of the Earth Finland</a>.</p>

<p>The cool thing about hacking a new site without a company limiting the creativity is that, well, it's more free and (hopefully) doing general good.</p>

<p>Although I am very anxious to get to move to work on Midgard MVC, Ragnaroek got still a new contributive effort, a new discussion component (cc.kaktus.discussion). I wanted to create something new instead of extending the old components available and to provide more microblog-like interface that combines old tree topology to flat "give me the newest items" microblog.</p>
]]></content>
        <summary type="html"><![CDATA[
<p>Since we do Open Source already and it has a strong communal "doing together" idea behind, I decided to go one step further with collective efforts. Last week we launched a site that has a goal of making people take actions to change the political climate of Finnish government to work harder and better on reducing the effects of coming climate crisis.</p>

<p>Our site, <a href="http://www.ihmistulva.fi/">Ihmistulva</a>, is about an event happening September 5th and our goal is to gather 5000 people. The working force behind is <a href="http://www.maanystavat.fi/english.php">Friends of the Earth Finland</a>.</p>

<p>The cool thing about hacking a new site without a company limiting the creativity is that, well, it's more free and (hopefully) doing general good.</p>

<p>Although I am very anxious to get to move to work on Midgard MVC, Ragnaroek got still a new contributive effort, a new discussion component (cc.kaktus.discussion). I wanted to create something new instead of extending the old components available and to provide more microblog-like interface that combines old tree topology to flat "give me the newest items" microblog.</p>
]]></summary>
    </entry>
    <entry>
        <title>Ubuntu with Suhosin patch</title>
        <link rel="alternate" type="text/html" href="http://www.kaktus.cc/weblog/1233677116/"/>
        <published>2009-02-03T16:05:16+00:00</published>
        <updated>2009-02-03T16:05:16+00:00</updated>
        <id>http://www.kaktus.cc/midcom-permalink-726b527ef20c11dd9920a5f532615e0a5e0a</id>
        <author>
            <name>arttu@kaktus.cc (Arttu Manninen)</name>
        </author>
        <content type="html"><![CDATA[
<p>I am currently moving many of our production servers to use <a href="http://www.midgard-project.org/">Ragnaroek Midgard</a> and Ubuntu rather than Thor Midgard and Debian. I ran up to problems with some components not working due to Suhosin. I Googled many answers on the problem and finally found <a href="http://ambitonline.com/nextrelease/archives/113-How-to-Ubuntu-PHP-Remove-Suhosin.html">one that was effortless</a>.</p>

<p>I still cut some corners and wrote a more streamlined script:</p>

<pre><code>#!/bin/bash
cd;
mkdir packages;
cd packages;
apt-get install devscripts gcc debhelper fakeroot;
apt-get source php5;
cd php5-5.2.4;
apt-get -y build-dep php5;
rm debian/patches/suhosin.patch;
mv debian/patches/series debian/patches/series.bu;
sed -e 's/suhosin.patch//g' debian/patches/series.bu &amp;gt; debian/patches/series;
debchange -v 5.2.4-2ubuntu5.4.1~custom -b -m SuhosinFree;
debuild;
dpkg -i ../*.deb;
</code></pre>

<p>This might be useful if you are installing Midgard on Ubuntu 8.04 and want to use org.routamc.photostream, which otherwise fails due to Suhosin patch.</p>
]]></content>
        <summary type="html"><![CDATA[
<p>I am currently moving many of our production servers to use <a href="http://www.midgard-project.org/">Ragnaroek Midgard</a> and Ubuntu rather than Thor Midgard and Debian. I ran up to problems with some components not working due to Suhosin. I Googled many answers on the problem and finally found <a href="http://ambitonline.com/nextrelease/archives/113-How-to-Ubuntu-PHP-Remove-Suhosin.html">one that was effortless</a>.</p>

<p>I still cut some corners and wrote a more streamlined script:</p>

<pre><code>#!/bin/bash
cd;
mkdir packages;
cd packages;
apt-get install devscripts gcc debhelper fakeroot;
apt-get source php5;
cd php5-5.2.4;
apt-get -y build-dep php5;
rm debian/patches/suhosin.patch;
mv debian/patches/series debian/patches/series.bu;
sed -e 's/suhosin.patch//g' debian/patches/series.bu &amp;gt; debian/patches/series;
debchange -v 5.2.4-2ubuntu5.4.1~custom -b -m SuhosinFree;
debuild;
dpkg -i ../*.deb;
</code></pre>

<p>This might be useful if you are installing Midgard on Ubuntu 8.04 and want to use org.routamc.photostream, which otherwise fails due to Suhosin patch.</p>
]]></summary>
    </entry>
    <entry>
        <title>Bye, bye, Prototype!</title>
        <link rel="alternate" type="text/html" href="http://www.kaktus.cc/weblog/1220703023/"/>
        <published>2008-09-06T12:10:23+00:00</published>
        <updated>2008-09-06T12:10:23+00:00</updated>
        <id>http://www.kaktus.cc/midcom-permalink-c843aa3c7c0c11dda22a51bdccd73a5a3a5a</id>
        <content type="html"><![CDATA[
<p>Today <a href="http://blogs.nemein.com/people/joonas/">Joonas Bergius</a>, <a href="http://protoblogr.net/">Jerry Jalava</a> and I worked on removing old and chunky <a href="http://prototypejs.org/">Prototype</a> JavaScript framework (loading in worst case over 150K of extra JavaScript on each pageload) to make more space for the newest <a href="http://www.jquery.com">jQuery</a> with the idea of using only one JavaScript framework.</p>

<p>Future MidCOM <a href="http://www.midgard-project.org/updates/view/1219823947.html">Ragnaroek</a> branch will be even snappier as it loads less of JavaScript. New features include e.g. jQuery powered toolbar, UI messages and - as I am writing this - on-site AJAX editor.</p>

<p>Impatient may wish to update their SVN checkouts to see the changes.</p>
]]></content>
        <summary type="html"><![CDATA[
<p>Today <a href="http://blogs.nemein.com/people/joonas/">Joonas Bergius</a>, <a href="http://protoblogr.net/">Jerry Jalava</a> and I worked on removing old and chunky <a href="http://prototypejs.org/">Prototype</a> JavaScript framework (loading in worst case over 150K of extra JavaScript on each pageload) to make more space for the newest <a href="http://www.jquery.com">jQuery</a> with the idea of using only one JavaScript framework.</p>

<p>Future MidCOM <a href="http://www.midgard-project.org/updates/view/1219823947.html">Ragnaroek</a> branch will be even snappier as it loads less of JavaScript. New features include e.g. jQuery powered toolbar, UI messages and - as I am writing this - on-site AJAX editor.</p>

<p>Impatient may wish to update their SVN checkouts to see the changes.</p>
]]></summary>
    </entry>
    <entry>
        <title>Midgard workshops</title>
        <link rel="alternate" type="text/html" href="http://www.kaktus.cc/weblog/1212416196/"/>
        <published>2008-06-02T14:16:36+00:00</published>
        <updated>2008-06-02T14:16:36+00:00</updated>
        <id>http://www.kaktus.cc/midcom-permalink-8288a19030ae11ddbbb41102dfa0ee2cee2c</id>
        <author>
            <name>arttu@kaktus.cc (Arttu Manninen)</name>
        </author>
        <content type="html"><![CDATA[
<p>Due to new recruits' training program I am organizing a few training sessions for this summer. Our theme will be about getting hands on MidCOM 2.8 infrastructure.</p>

<p>First training session will be held next Wednesday on June 11th, 2008. This workshop will start at 9.00 and will last until 17.00 or when the information overload becomes overwhelming.</p>

<p>In case you speak Finnish and are around Helsinki area, please feel free to join us. Workshop will be held by the Lake Vitträsk in a very beautiful location and the fee will be around 60 euros - basically our cost price - depending on the amount of participants. Breakfast, lunch and afternoon tea session included.</p>

<p>I need to reserve the facilities soon, so please contact me as soon as possible, if you are interested in joining. Latest next Monday.</p>

<h2>Agenda for June 11th, 2008</h2>

<ul>
<li>MidCOM coding standards

<ul>
<li>your handwriting does matter</li>
<li>namespacing - after this it's easy to find the files you are looking
for (doesn't necessarily mean that you <em>know</em> what you <em>are</em> looking
for)</li>
</ul></li>
<li>How do MidCOM components work

<ul>
<li>How the URL request is received</li>
<li>URL as a part of interface planning</li>
<li>request switches</li>
<li><em>can_handle</em></li>
<li><em>handler</em></li>
<li><em>show</em></li>
</ul></li>
<li>What are little components made of

<ul>
<li><code>config/manifest.inc</code></li>
<li><code>midcom/interface.php</code></li>
<li><code>viewer.php</code></li>
<li><code>navigation.php</code></li>
<li><code>config/config.inc</code></li>
<li><code>handler/</code></li>
<li><code>style/</code></li>
<li><code>locale/</code></li>
<li><code>documentation/</code></li>
</ul></li>
<li>How does <em>midcom.helper.datamanager2</em> work and what are the benefits</li>
<li>Whatever I will remember when I'm actually teaching</li>
<li>"Hands on MidCOM" workshop

<ul>
<li>We will create a simple component with the following functionality</li>
<li>save</li>
<li>view</li>
<li>edit</li>
<li>delete</li>
</ul></li>
</ul>

<p>Requirements: a working copy of MidCOM (either an SVN checkout of <code>trunk</code> or <code>MidCOM_28</code>) accompanied with Midgard 1.8.4+. Installation on-site is not part of the deal, but I will have a VMWare images of both with me.</p>

<h2>Later in June/July</h2>

<p>More workshops are on their way. The next ones will go through the following subjects:</p>

<ul>
<li>quick recap through the previous episodes during each workshop</li>
<li>AJAX editing - how do I do that?</li>
<li>Going carefully through <em>midgard_query_builder</em> and <em>midgard_collector</em></li>
<li>Metadata</li>
<li>Purecode components</li>
<li>Using MidCOM SVN</li>
<li>Component specific privileges</li>
<li>Component specific MgdSchema objects</li>
<li>Writing your own navigation with <em>midcom.helper.nav</em>

<ul>
<li>I've heard some cases that my baby, <em>fi.protie.navigation</em>, doesn't do
and there are every now and then need for a very special navigation</li>
</ul></li>
<li>Whatever comes along

<ul>
<li>Post me your ideas</li>
</ul></li>
</ul>

<p>Arttu Manninen - Protie Oy<br />
arttu@kaktus.cc - +358 10 408 4007</p>
]]></content>
        <summary type="html"><![CDATA[
<p>Due to new recruits' training program I am organizing a few training sessions for this summer. Our theme will be about getting hands on MidCOM 2.8 infrastructure.</p>

<p>First training session will be held next Wednesday on June 11th, 2008. This workshop will start at 9.00 and will last until 17.00 or when the information overload becomes overwhelming.</p>

<p>In case you speak Finnish and are around Helsinki area, please feel free to join us. Workshop will be held by the Lake Vitträsk in a very beautiful location and the fee will be around 60 euros - basically our cost price - depending on the amount of participants. Breakfast, lunch and afternoon tea session included.</p>

<p>I need to reserve the facilities soon, so please contact me as soon as possible, if you are interested in joining. Latest next Monday.</p>

<h2>Agenda for June 11th, 2008</h2>

<ul>
<li>MidCOM coding standards

<ul>
<li>your handwriting does matter</li>
<li>namespacing - after this it's easy to find the files you are looking
for (doesn't necessarily mean that you <em>know</em> what you <em>are</em> looking
for)</li>
</ul></li>
<li>How do MidCOM components work

<ul>
<li>How the URL request is received</li>
<li>URL as a part of interface planning</li>
<li>request switches</li>
<li><em>can_handle</em></li>
<li><em>handler</em></li>
<li><em>show</em></li>
</ul></li>
<li>What are little components made of

<ul>
<li><code>config/manifest.inc</code></li>
<li><code>midcom/interface.php</code></li>
<li><code>viewer.php</code></li>
<li><code>navigation.php</code></li>
<li><code>config/config.inc</code></li>
<li><code>handler/</code></li>
<li><code>style/</code></li>
<li><code>locale/</code></li>
<li><code>documentation/</code></li>
</ul></li>
<li>How does <em>midcom.helper.datamanager2</em> work and what are the benefits</li>
<li>Whatever I will remember when I'm actually teaching</li>
<li>"Hands on MidCOM" workshop

<ul>
<li>We will create a simple component with the following functionality</li>
<li>save</li>
<li>view</li>
<li>edit</li>
<li>delete</li>
</ul></li>
</ul>

<p>Requirements: a working copy of MidCOM (either an SVN checkout of <code>trunk</code> or <code>MidCOM_28</code>) accompanied with Midgard 1.8.4+. Installation on-site is not part of the deal, but I will have a VMWare images of both with me.</p>

<h2>Later in June/July</h2>

<p>More workshops are on their way. The next ones will go through the following subjects:</p>

<ul>
<li>quick recap through the previous episodes during each workshop</li>
<li>AJAX editing - how do I do that?</li>
<li>Going carefully through <em>midgard_query_builder</em> and <em>midgard_collector</em></li>
<li>Metadata</li>
<li>Purecode components</li>
<li>Using MidCOM SVN</li>
<li>Component specific privileges</li>
<li>Component specific MgdSchema objects</li>
<li>Writing your own navigation with <em>midcom.helper.nav</em>

<ul>
<li>I've heard some cases that my baby, <em>fi.protie.navigation</em>, doesn't do
and there are every now and then need for a very special navigation</li>
</ul></li>
<li>Whatever comes along

<ul>
<li>Post me your ideas</li>
</ul></li>
</ul>

<p>Arttu Manninen - Protie Oy<br />
arttu@kaktus.cc - +358 10 408 4007</p>
]]></summary>
    </entry>
    <entry>
        <title>Object locks</title>
        <link rel="alternate" type="text/html" href="http://www.kaktus.cc/weblog/1212160768/"/>
        <published>2008-05-30T15:19:28+00:00</published>
        <updated>2008-05-30T15:19:28+00:00</updated>
        <id>http://www.kaktus.cc/midcom-permalink-cbf70eac2e5b11dda9224dd5429d9ff19ff1</id>
        <author>
            <name>arttu@kaktus.cc (Arttu Manninen)</name>
        </author>
        <content type="html"><![CDATA[
<p>Today I published anticipated object locking to MidCOM 2.9 trunk. This feature is familiar for those that have been hanging around in the times of MidCOM 2.4 and before, but unfortunately not in MidCOM 2.6 and so far in MidCOM 2.8.</p>

<p>Concept itself is simple: when someone is editing an object, it is marked as locked. If someone else tries to edit the same object at the same time, it will be prevented. Lock will expire by itself in configurable amount of minutes and the object will be unlocked, when the object is either saved or editing has been cancelled. These are implemented by default already in <em>midcom.helper.datamanager2</em>, which should cover most of the editing.</p>

<p>If you by any chance want to use the features to anything, here is a quick HOWTO:</p>

<h2>Check if the object is locked</h2>

<p>When you have a MidCOM dbobject at hand, you can check it e.g. like this:</p>

<pre><code>get_metadata();

if ($metadata-&amp;gt;is_locked())
{
    // Object is locked
}
else
{
    // Object is not locked
}
?&amp;gt;
</code></pre>

<h2>Locking and unlocking an object</h2>

<p>To lock and unlock and object do the following:</p>

<pre><code>get_metadata();

// Lock the object
$metadata-&amp;gt;lock();

// Unlock the object
$metadata-&amp;gt;unlock();
?&amp;gt;
</code></pre>

<h3>If using PHP5</h3>

<p>One more reasons why to update. PHP5 has neat features for using methods of the returned object on the fly:</p>

<pre><code>get_metadata()-&amp;gt;is_locked())
{
    // Object is locked
}

// Lock
$object-&amp;gt;get_metadata()-&amp;gt;lock();

// Unlock
$object-&amp;gt;get_metadata()-&amp;gt;unlock();
?&amp;gt;
</code></pre>
]]></content>
        <summary type="html"><![CDATA[
<p>Today I published anticipated object locking to MidCOM 2.9 trunk. This feature is familiar for those that have been hanging around in the times of MidCOM 2.4 and before, but unfortunately not in MidCOM 2.6 and so far in MidCOM 2.8.</p>

<p>Concept itself is simple: when someone is editing an object, it is marked as locked. If someone else tries to edit the same object at the same time, it will be prevented. Lock will expire by itself in configurable amount of minutes and the object will be unlocked, when the object is either saved or editing has been cancelled. These are implemented by default already in <em>midcom.helper.datamanager2</em>, which should cover most of the editing.</p>

<p>If you by any chance want to use the features to anything, here is a quick HOWTO:</p>

<h2>Check if the object is locked</h2>

<p>When you have a MidCOM dbobject at hand, you can check it e.g. like this:</p>

<pre><code>get_metadata();

if ($metadata-&amp;gt;is_locked())
{
    // Object is locked
}
else
{
    // Object is not locked
}
?&amp;gt;
</code></pre>

<h2>Locking and unlocking an object</h2>

<p>To lock and unlock and object do the following:</p>

<pre><code>get_metadata();

// Lock the object
$metadata-&amp;gt;lock();

// Unlock the object
$metadata-&amp;gt;unlock();
?&amp;gt;
</code></pre>

<h3>If using PHP5</h3>

<p>One more reasons why to update. PHP5 has neat features for using methods of the returned object on the fly:</p>

<pre><code>get_metadata()-&amp;gt;is_locked())
{
    // Object is locked
}

// Lock
$object-&amp;gt;get_metadata()-&amp;gt;lock();

// Unlock
$object-&amp;gt;get_metadata()-&amp;gt;unlock();
?&amp;gt;
</code></pre>
]]></summary>
    </entry>
    <entry>
        <title>Git HOWTO for MidCOM 3 developers</title>
        <link rel="alternate" type="text/html" href="http://www.kaktus.cc/weblog/1207837374/"/>
        <published>2008-04-10T14:22:54+00:00</published>
        <updated>2008-04-10T14:22:54+00:00</updated>
        <id>http://www.kaktus.cc/midcom-permalink-9c554534070911dd9b2d37adbf91ae1dae1d</id>
        <author>
            <name>arttu@kaktus.cc (Arttu Manninen)</name>
        </author>
        <content type="html"><![CDATA[
<p>I had quite much of trouble in hacking my way through the jungle to be able to commit changes into GIT. Here is a small walkthrough, if you aren't afraid of spoilers.</p>

<p>There is no interface for changing the public key, username, email address or anything else afterwards, so do the steps carefully. It's only a small inconvenience to create a new user and SSH key pair after each failure, but I had to repeat this three times myself.</p>

<ol>
<li>Create a user account for your development machine or use an existing one.

<ul>
<li>unfortunately there is no way to check beforehand if the user account name is already used in <a href="http://www.midgard-project.org/">MidCOM</a> <a href="http://repo.or.cz/w/midcom.git">GIT repository</a>.</li>
</ul></li>
<li>Create an SSH key to use for authenticating yourself with <code>$ ssh-keygen -t dsa</code></li>
<li>Copy the public SSH key and paste it on the <a href="http://repo.or.cz/m/reguser.cgi">new user creation page</a>

<ul>
<li><em>do not</em> use <code>less</code> or any other program that would add line breaks,
using e.g. <code>$ cat /home/example/.ssh/id_dsa.pub</code> will help through
this step</li>
</ul></li>
<li>Paste the whole key

<ul>
<li>starts from <code>ssh-dss</code> and ends up in <code>example@example.com</code></li>
<li>wish that the username hasn't yet been reserved</li>
</ul></li>
<li>Ask for the project manager (in this case <a href="http://bergie.iki.fi/">Bergie</a>) to join you to the project</li>
<li>Set the user configuration

<ul>
<li>with my Debian installation it was <code>$ git-repo-config --global user.name &amp;quot;Firstname Lastname&amp;quot;</code> and <code>$ git-repo-config --global user.email &amp;quot;firstname.lastname@example.com&amp;quot;</code></li>
<li>GIT manual tells to use <code>$ git config --global ...</code>, but that
didn't work at all with me</li>
</ul></li>
<li>Get the latest checkout with <code>$ git pull</code></li>
<li>Now you should be able to make commits. Syntax for doing so is <code>$  git push git+ssh://example@repo.or.cz/srv/git/midcom.git</code></li>
</ol>
]]></content>
        <summary type="html"><![CDATA[
<p>I had quite much of trouble in hacking my way through the jungle to be able to commit changes into GIT. Here is a small walkthrough, if you aren't afraid of spoilers.</p>

<p>There is no interface for changing the public key, username, email address or anything else afterwards, so do the steps carefully. It's only a small inconvenience to create a new user and SSH key pair after each failure, but I had to repeat this three times myself.</p>

<ol>
<li>Create a user account for your development machine or use an existing one.

<ul>
<li>unfortunately there is no way to check beforehand if the user account name is already used in <a href="http://www.midgard-project.org/">MidCOM</a> <a href="http://repo.or.cz/w/midcom.git">GIT repository</a>.</li>
</ul></li>
<li>Create an SSH key to use for authenticating yourself with <code>$ ssh-keygen -t dsa</code></li>
<li>Copy the public SSH key and paste it on the <a href="http://repo.or.cz/m/reguser.cgi">new user creation page</a>

<ul>
<li><em>do not</em> use <code>less</code> or any other program that would add line breaks,
using e.g. <code>$ cat /home/example/.ssh/id_dsa.pub</code> will help through
this step</li>
</ul></li>
<li>Paste the whole key

<ul>
<li>starts from <code>ssh-dss</code> and ends up in <code>example@example.com</code></li>
<li>wish that the username hasn't yet been reserved</li>
</ul></li>
<li>Ask for the project manager (in this case <a href="http://bergie.iki.fi/">Bergie</a>) to join you to the project</li>
<li>Set the user configuration

<ul>
<li>with my Debian installation it was <code>$ git-repo-config --global user.name &amp;quot;Firstname Lastname&amp;quot;</code> and <code>$ git-repo-config --global user.email &amp;quot;firstname.lastname@example.com&amp;quot;</code></li>
<li>GIT manual tells to use <code>$ git config --global ...</code>, but that
didn't work at all with me</li>
</ul></li>
<li>Get the latest checkout with <code>$ git pull</code></li>
<li>Now you should be able to make commits. Syntax for doing so is <code>$  git push git+ssh://example@repo.or.cz/srv/git/midcom.git</code></li>
</ol>
]]></summary>
    </entry>
</feed>
