<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>namespace &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/namespace/</link>
	<description>Feed of posts on WordPress.com tagged "namespace"</description>
	<pubDate>Mon, 13 Oct 2008 22:03:40 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Parsing XAML woes]]></title>
<link>http://peteohanlon.wordpress.com/?p=52</link>
<pubDate>Thu, 02 Oct 2008 21:15:03 +0000</pubDate>
<dc:creator>peteohanlon</dc:creator>
<guid>http://peteohanlon.pl.wordpress.com/2008/10/02/parsing-xaml-woes/</guid>
<description><![CDATA[So, I&#8217;ve been sitting here for a couple of hours trying to figure out why the following XML q]]></description>
<content:encoded><![CDATA[<p>So, I've been sitting here for a couple of hours trying to figure out why the following XML query didn't actually work when parsing my XAML for the following item:</p>
<div><span style="color:#a31515;"><span style="color:#a31515;">&#60;Image Height="16" Width="16" Source="Images/MyImage.png" x:Key="CommandNew" /&#62;</span></span></div>
<p><strong>Query:</strong></p>
<div><span style="color:#a31515;"><span style="color:#a31515;">//Application.Resources/Image[@Key='CommandNew']</span></span></div>
<p><span style="color:#a31515;"><span style="color:#a31515;"><span style="color:#000000;">The XAML loaded into an XML document just fine. It's well formed, and the Image item does exist inside the Application.Resources section. I just couldn't figure out what the heck was going on. Then, it hit me - in a flash of the blinding, bleeding obvious. These tags don't actually exist on their own. They are part of the XAML namespaces, which opens up a whole new line of things you need to do. Basically, in order to perform this query, I needed to import the same XAML namespaces into my XML document - and then I should be good to go. Right? </span></span></span></p>
<p><span style="color:#a31515;"><span style="color:#a31515;"><span style="color:#000000;">Well, not quite. The above query also needs to change slightly. Without, the namespaces in, this query still doesn't work. So the first thing we need to do is add the namespaces into the query and we get:</span></span></span></p>
<div></div>
<div><span style="color:#a31515;"></span></div>
<p><span style="color:#a31515;"><span style="color:#a31515;"></p>
<div><span style="color:#000000;"><span style="color:#a31515;"><span style="color:#a31515;">//presentation:Application.Resources/presentation:Image[@xaml:Key='CommandNew']</span></span></span></div>
<p><span style="color:#000000;"><span style="color:#a31515;"><span style="color:#a31515;"><span style="color:#000000;">and the code to load the namespaces in: </span></span></span></span></p>
<p><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#0000ff;">private</span></span><span style="font-size:x-small;"> </span><span style="color:#0000ff;"><span style="color:#0000ff;">static</span></span><span style="font-size:x-small;"> </span><span style="color:#2b91af;"><span style="color:#2b91af;">XmlNamespaceManager</span></span><span style="font-size:x-small;"> GetNamespace(</span><span style="color:#2b91af;"><span style="color:#2b91af;">XmlDocument</span></span><span> doc)<br />
{<br />
  </span><span style="color:#2b91af;"><span style="color:#2b91af;">XmlNamespaceManager</span></span><span> mgr = </span><span style="color:#0000ff;"><span style="color:#0000ff;">new</span></span><span style="font-size:x-small;"> </span><span style="color:#2b91af;"><span style="color:#2b91af;">XmlNamespaceManager</span></span><span>(doc.NameTable);<br />
  mgr.AddNamespace(</span><span style="color:#a31515;"><span style="color:#a31515;">"presentation"</span></span><span>, </span><span style="color:#a31515;"><span><a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation">http://schemas.microsoft.com/winfx/2006/xaml/presentation</a></span></span><span>);<br />
  mgr.AddNamespace(</span><span style="color:#a31515;"><span style="color:#a31515;">"xaml"</span></span><span>, </span><span style="color:#a31515;"><span style="color:#a31515;"><a href="http://schemas.microsoft.com/winfx/2006/xaml">http://schemas.microsoft.com/winfx/2006/xaml</a></span></span><span>);<br />
</span><span style="color:#0000ff;"><span style="color:#0000ff;">  return</span></span><span> mgr;<br />
</span><span>}</span></span></p>
<div><span style="color:#000000;">Note how the namespaces need to prefix each item in the query. It doesn't matter what we call them because they are mapped over to the relevant namespace as appropriate - the important thing is the Uri, not the name.</span></div>
<div></div>
<p><span style="color:#a31515;"></p>
<div><span style="color:#000000;">There, now we can query our XAML to our hearts content. </span><span style="color:#a31515;"><span style="color:#a31515;"><span style="color:#000000;"><span>I hope this has been of some benefit to you because it was really bugging me.;-&#62;</span></span></span></span></div>
<p> </p>
<p></span></span> </p>
<p></span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Intranet Log-In Instructions]]></title>
<link>http://cotweb.wordpress.com/?p=37</link>
<pubDate>Wed, 01 Oct 2008 14:12:18 +0000</pubDate>
<dc:creator>mbosma</dc:creator>
<guid>http://cotweb.pl.wordpress.com/2008/10/01/intranet-log-in-instructions/</guid>
<description><![CDATA[Many people have had difficulties logging in to the CoT intranet. To log-in, you must type the OnePu]]></description>
<content:encoded><![CDATA[<p>Many people have had difficulties logging in to the CoT intranet. To log-in, you must type the OnePurdue namespace followed by your career account username.</p>
<p>In the username field the format is: "<strong><span style="color:#ff0000;">onepurdue\username</span></strong>"</p>
<p>Try it here at the home page of the intranet: <a href="https://share.tech.purdue.edu/">https://share.tech.purdue.edu/</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[FIXING NAMESPACE NOT FOUND ERROR ON MERB]]></title>
<link>http://cheeyeo.wordpress.com/?p=40</link>
<pubDate>Fri, 26 Sep 2008 11:13:48 +0000</pubDate>
<dc:creator>cheeyeo</dc:creator>
<guid>http://cheeyeo.pl.wordpress.com/2008/09/26/fixing-namespace-not-found-error-on-merb/</guid>
<description><![CDATA[If you have just completed an application, its more than likely you would like to have an admin port]]></description>
<content:encoded><![CDATA[<p>If you have just completed an application, its more than likely you would like to have an admin portal to administer users. The easiest way to do this in Merb is to use the <strong>'merb-gen resource_controller'</strong> command in your application directory to generate a CRUD controller and views for the resource. This is similar to using scaffold in rails.</p>
<p>Say for instance I have a resource called Posts and I want to generate an admin front-end to it. All I need to do is change to the application directory and type:</p>
<p>merb-gen resource_controller admin/posts</p>
<p>This creates a subfolder called 'admin' within your controllers and a new posts controller within that to handle all the CRUD functions. However, on MERB 0.9.5, the controller is missing the module keyword and if you try to run the above you would receive a namespace or controller not found error.</p>
<p>To fix this, open up 'admin/posts' controller and add 'module Admin' to the file:</p>
<pre style="text-align:left;"><strong><span style="color:#800000;">module Admin

class Posts &#60; Application

....

end

end</span></strong></pre>
<p>Next add the required namespace to the 'config/router.rb' file:</p>
<pre><strong><span style="color:#800000;">Merb::Router.prepare do &#124;r&#124;

r.namespace :admin do &#124;admin&#124;

admin.resources :posts

end

end</span></strong></pre>
<p>Fire up your app and it should all work. I'm not certain if this is fixed in subsequent versions of Merb but I did notice a ticket has been submitted for nested namespaces error. If anyone reading this has more information on the official line, please do leave a comment</p>
<p>NEWS FLASH:</p>
<p>Just received an up-to-date comment from one of the MERB framework developers who read this post and confirmed that the latest version of 'merb-gen' has been fixed to prevent the error above. So upgrade your version of Merb to prevent it. And you still have to add in the namespace in your router file manually.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Stripping XML Namespaces using XQuery]]></title>
<link>http://beatechnologies.wordpress.com/?p=28</link>
<pubDate>Thu, 25 Sep 2008 11:31:23 +0000</pubDate>
<dc:creator>Arun Pareek</dc:creator>
<guid>http://beatechnologies.pl.wordpress.com/2008/09/25/stripping-namespace-from-an-xml-using-xquery/</guid>
<description><![CDATA[A lot of the times I had found people complaining about unneccessary namespaces that flood their xml]]></description>
<content:encoded><![CDATA[<p>A lot of the times I had found people complaining about unneccessary namespaces that flood their xml. Offcourse namespaces are very important but during certain times when we have to process complex and large xmls using XPath it becomes necessary to strip the namespaces. Here is a demonstration of a small XQuery code that is used to strip any samespaces from an XML input.</p>
<p>(:</p>
<p>=====================================<br />
Description: xquery to remove namespaces from an xml<br />
@author Arun Pareek<br />
=====================================<br />
$Resource/XQUERY/stripNamespace.xq  $</p>
<p>:)</p>
<p>declare variable $inputRequest as element() external;<br />
declare function strip-namespace($inputRequest  as element()) as element()<br />
{<br />
element {xs:QName(local-name($inputRequest ))}<br />
{<br />
for $child in $inputRequest /(@*,node())<br />
return<br />
if ($child instance of element())<br />
then strip-namespace($child)<br />
else $child<br />
}<br />
};</p>
<p>document<br />
{ strip-namespace($inputRequest )}</p>
<p>Before explaining the code let me give a small example of how this piece of code works.</p>
<p>Input XML with Namespaces</p>
<p>&#60;TestXML xmlns:sp-en="sch.soap.org"&#62;<br />
&#60;ZBAPI_COIB.ZBUR xmlns:sp-en="sch.soap.org"&#62;<br />
&#60;I_OUTPUT xmlns:sp-en="sch.soap.org"/&#62;<br />
&#60;RETURN xmlns:sp-en="sch.soap.org"&#62;<br />
&#60;item xmlns:sp-en="sch.soap.org"&#62;<br />
&#60;TYPE xmlns:sp-en="sch.soap.org"&#62;S&#60;/TYPE&#62;<br />
&#60;CODE xmlns:sp-en="sch.soap.org"/&#62;<br />
&#60;MESSAGE xmlns:sp-en="sch.soap.org"/&#62;<br />
&#60;LOG_NO xmlns:sp-en="sch.soap.org"/&#62;<br />
&#60;MESSAGE_V1 xmlns:sp-en="sch.soap.org"/&#62;<br />
&#60;/item&#62;<br />
&#60;item xmlns:sp-en="sch.soap.org"&#62;<br />
&#60;TYPE xmlns:sp-en="sch.soap.org"&#62;S&#60;/TYPE&#62;<br />
&#60;CODE xmlns:sp-en="sch.soap.org"/&#62;<br />
&#60;MESSAGE xmlns:sp-en="sch.soap.org"/&#62;<br />
&#60;LOG_NO xmlns:sp-en="sch.soap.org"/&#62;<br />
&#60;LOG_MSG_NO xmlns:sp-en="sch.soap.org"&#62;000000&#60;/LOG_MSG_NO&#62;<br />
&#60;MESSAGE_V1 xmlns:sp-en="sch.soap.org"/&#62;<br />
&#60;/item&#62;<br />
&#60;/RETURN&#62;<br />
&#60;/ZBAPI_COIB.ZBUR&#62;<br />
&#60;/TestXML&#62;</p>
<p>And the Output of the Xquery is</p>
<p>&#60;TestXML&#62;<br />
&#60;ZBAPI_COIB.ZBUR&#62;<br />
&#60;I_OUTPUT/&#62;<br />
&#60;RETURN&#62;<br />
&#60;item&#62;<br />
&#60;TYPE&#62;S&#60;/TYPE&#62;<br />
&#60;CODE/&#62;<br />
&#60;MESSAGE/&#62;<br />
&#60;LOG_NO/&#62;<br />
&#60;MESSAGE_V1/&#62;<br />
&#60;/item&#62;<br />
&#60;item&#62;<br />
&#60;TYPE&#62;S&#60;/TYPE&#62;<br />
&#60;CODE/&#62;<br />
&#60;MESSAGE/&#62;<br />
&#60;LOG_NO/&#62;<br />
&#60;LOG_MSG_NO&#62;000000&#60;/LOG_MSG_NO&#62;<br />
&#60;MESSAGE_V1/&#62;<br />
&#60;/item&#62;<br />
&#60;/RETURN&#62;<br />
&#60;/ZBAPI_COIB.ZBUR&#62;<br />
&#60;/TestXML&#62;</p>
<p>As you can see the code is very much self-explanatory. The Xquery snippet expects an xml input to it. The Xpath entity crawls through each of the elements in the input and returns just the child elemnt and discards the namespace. A very much similar to recursive fucntions in C/C++.</p>
<p>Enjoi :-)</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[C# source code for strip_tags in PHP]]></title>
<link>http://mustafaturan.wordpress.com/?p=36</link>
<pubDate>Thu, 04 Sep 2008 23:52:08 +0000</pubDate>
<dc:creator>Mustafa Turan</dc:creator>
<guid>http://mustafaturan.pl.wordpress.com/2008/09/04/csharp-source-code-for-strip_tags-in-php/</guid>
<description><![CDATA[Source to download: http://mustafaturan.net/download/lectures/csharp/strip_tags_csharp.txt
// as a n]]></description>
<content:encoded><![CDATA[<blockquote><p>Source to download: http://mustafaturan.net/download/lectures/csharp/strip_tags_csharp.txt</p>
<p>// as a namespace do not forget to add: using System.Text.RegularExpressions;<br />
static string strip_tags(string str, string allowed_tags)<br />
{<br />
/*<br />
// Coder: Mustafa Turan<br />
// Date: 05.09.2008<br />
// Contact:<br />
// http://mustafaturan.net/<br />
// http://mustafaturan.wordpress.com/<br />
// wm [ #at# ] mustafaturan.net<br />
// Licence: GNU and MIT Licence<br />
// EXAMPLES<br />
// ---&#62;     function call1: strip_tags("&#60;a href=\"asdadsadsad.html\"&#62;doctor&#60;/a&#62; &#60;p&#62;pirasa&#60;/p&#62; &#60;img src=\"asd.jpg\" /&#62; &#60;h1&#62;hey you&#60;/h1&#62;", "&#60;a&#62;,&#60;p&#62;,&#60;img /&#62;")<br />
// ---&#62;     result: &#60;a href=""&#62;doctor&#60;/a&#62; &#60;p&#62;pirasa&#60;/p&#62; &#60;img src="asd.jpg" /&#62; hey you<br />
// ---&#62;     function call2: strip_tags("&#60;a href=\"asdadsadsad.html\"&#62;doctor&#60;/a&#62; &#60;p&#62;pirasa&#60;/p&#62; &#60;img src=\"asd.jpg\" /&#62; &#60;h1&#62;hey you&#60;/h1&#62;", "")<br />
// ---&#62;     result: doctor pirasa hey you<br />
*/</p>
<p>// START<br />
// pattern for getting all tags<br />
string pattern_for_all_tags = "&#60;/?[^&#62;&#60;]+&#62;";</p>
<p>// pattern for allowed tags<br />
string allowed_patterns = "";<br />
if(allowed_tags!=""){<br />
// get allowed tags if any exists<br />
Regex r = new Regex("[\\/&#60;&#62; ]+");<br />
allowed_tags = r.Replace(allowed_tags,"");<br />
string[] allowed_tags_array = allowed_tags.Split(',');<br />
foreach (string s in allowed_tags_array)<br />
{<br />
if (s == "") continue;<br />
// Definin patterns<br />
string p_1 = "&#60;" + s + " [^&#62;&#60;]*&#62;$";<br />
string p_2 = "&#60;" + s + "&#62;";<br />
string p_3 = "&#60;/" + s + "&#62;";<br />
if(allowed_patterns!="")<br />
allowed_patterns += "&#124;";<br />
allowed_patterns += p_1 + "&#124;" + p_2 + "&#124;" + p_3;<br />
}<br />
}</p>
<p>// Get all html tags included on string<br />
Regex strip_tags = new Regex(pattern_for_all_tags);<br />
MatchCollection all_tags_matched = strip_tags.Matches(str);</p>
<p>if (allowed_patterns != "")<br />
foreach (Match m in all_tags_matched)<br />
{<br />
Regex r_1 = new Regex(allowed_patterns);<br />
Match m_1 = r_1.Match(m.Value);<br />
if (!m_1.Success)<br />
{<br />
// if not allowed replace it<br />
str = str.Replace(m.Value, "");<br />
}<br />
}<br />
else<br />
// if not allow anyone replace all<br />
str = strip_tags.Replace(str, "");<br />
return str;<br />
}</p></blockquote>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Namespaces in Python - Revisited]]></title>
<link>http://erezsh.wordpress.com/?p=93</link>
<pubDate>Tue, 02 Sep 2008 12:47:07 +0000</pubDate>
<dc:creator>erezsh</dc:creator>
<guid>http://erezsh.pl.wordpress.com/2008/09/02/namespaces-in-python-revisited/</guid>
<description><![CDATA[Taking a short break from my artwork craze (but I promise more is to come), I reviewed some of the n]]></description>
<content:encoded><![CDATA[<p>Taking a short break from my artwork craze (but I promise more is to come), I reviewed some of the new features and changes in Python, brought by versions 2.6 and 3.0. There are many interesting features, but a very specific one caught my eye: the ability to modify existing properties.</p>
<p>From the <a href="http://docs.python.org/dev/whatsnew/2.6.html#other-language-changes" target="_blank">documentation</a>:</p>
<blockquote><p>Properties now have three attributes, getter, setter and deleter, that are decorators providing useful shortcuts for adding a getter, setter or deleter function to an existing property. You would use them like this:</p>
<pre>class C(object):
    @property
    def x(self):
        return self._x

    @x.setter
    def x(self, value):
        self._x = value

    @x.deleter
    def x(self):
        del self._x

class D(C):
    @C.x.getter
    def x(self):
        return self._x * 2

    @x.setter
    def x(self, value):
        self._x = value / 2</pre>
</blockquote>
<p>I found this very interesting. If you're, for some reason, a frequent reader of this blog, you'd remember how in a <a href="http://erezsh.wordpress.com/2008/06/27/namespaces-lets-do-more-of-those-python-hackery/" target="_self">previous post</a> I suggested a hack to allow namespaces inside Python classes. However, it was largely incomplete because I couldn't get it to work for properties. Perhaps now I can?</p>
<p>Now, don't let that pretty decorator syntax mislead you. Doing:</p>
<pre>    @x.setter
    def x(self, value):
        self._x = value</pre>
<p>is exactly identical to doing:</p>
<pre>    def x_set(self, value): # Name changed to preserve 'x'
        self._x = value
    x = x.setter(x_set)</pre>
<p>And this is exactly what I was missing to complete my code.</p>
<p>So here is the new make_namespace, applying also to properties:</p>
<p>(<em>This was only tested on Python 3, but should also work for Python 2.6. It will <strong>not work on version 2.5 or lower</strong></em>)<br />
[sourcecode language='python']<br />
import types<br />
def make_namespace(self, ns_cls):<br />
    "This code iterates all functions and properties in ns_cls and binds them to self"<br />
    for attr_name in dir(ns_cls):<br />
        attr = getattr(ns_cls, attr_name)<br />
        if type(attr) == types.FunctionType:<br />
            setattr(ns_cls, attr_name, attr.__get__(self) )<br />
        elif type(attr) ==  property:<br />
            setattr( ns_cls, attr_name, attr<br />
                    .getter( lambda x  : attr.fget(self))<br />
                    .setter( lambda x,v: attr.fset(self,v))<br />
                    .deleter(lambda x  : attr.fdel(self))<br />
                )<br />
    return ns_cls()<br />
[/sourcecode]</p>
<p>Notice that I can chain getter, setter, and deleter, because they all return a property object.</p>
<p>And here is a possible usage:<br />
[sourcecode language='python']<br />
class YetAnotherGuiWindow:<br />
    def __init__(self, pos, size, ...):<br />
        ...<br />
        self._size = size<br />
        self.spatial = make_namespace(self, self.spatial)</p>
<p>    class spatial:<br />
        ...<br />
        def _get_size(self):<br />
            return self._size<br />
        def _set_size(self, size):<br />
            self._size = size<br />
        size = property(_get_size, _set_size)<br />
        ...</p>
<p>...<br />
# Meanwhile, in my console<br />
>>> g.spatial.size = (100,100)<br />
>>> g.spatial.size<br />
(100, 100)<br />
>>> g.spatial.size = (140,10)<br />
>>> g.spatial.size<br />
(140, 10)<br />
>>> g._size<br />
(140, 10)<br />
[/sourcecode]</p>
<p>I hope you'll find this useful!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Ontologies for everything else.]]></title>
<link>http://mspeiser.wordpress.com/?p=282</link>
<pubDate>Fri, 22 Aug 2008 18:16:26 +0000</pubDate>
<dc:creator>Mike Speiser</dc:creator>
<guid>http://laserlike.com/2008/08/22/ontologies-for-everything-else/</guid>
<description><![CDATA[Ontology, taxonomy, folksonomy.

An ontology is concerned with the categorization of things.  A ]]></description>
<content:encoded><![CDATA[<p><strong><a href="http://en.wikipedia.org/wiki/Ontology" target="_self">O</a></strong><span style="line-height:26px;"><strong><a href="http://en.wikipedia.org/wiki/Ontology" target="_self">ntology</a></strong><strong>, </strong><a href="http://en.wikipedia.org/wiki/Taxonomy" target="_self"><strong>taxonomy</strong></a><strong>, </strong><a href="http://en.wikipedia.org/wiki/Folksonomy" target="_self"><strong>folksonomy.</strong></a></span><strong><br />
</strong></p>
<p>An ontology is concerned with the categorization of things.  A "thing" can be just about anything -- a person, a company, a particular news story, a video, an application, or a web page.  Ontology is a broad concept and subsumes taxonomy and folksonomy. Google Search delivers relevant results because it leverages a massive corpus ontological information about web sites and entities.  PageRank is but one device in the search arsenal that infers ontological information about both the classification and quality of a page.</p>
<p>A taxonomy is a more formal construct concerned with the ordering of things, usually in a hierarchical structure.  Yahoo's Directory is a taxonomic organization of the web, for example.  The <a href="http://www.dmoz.org/" target="_self">Open Directory Project (DMOZ)</a> is also a taxonomic organization of the web, but rather than leveraging a group of internal "surfers" as Yahoo! did, DMOZ is an open source directory.  </p>
<p>In the early days of tagging, the term <a href="http://en.wikipedia.org/wiki/Folksonomy" target="_self">folksonomy</a> emerged to describe a non-hierarchical ordering of things through collaborative input.  For example, when a user tags a photo in Flickr, she is creating an informal taxonomy.  These tags are aggregated to help consumers find photos -- either by "tag surfing" or by making search more precise as a result of better meta-data.</p>
<p><strong>Who needs philosophy?</strong></p>
<p>Let's review some of the big wins over the past decade on the consumer internet.</p>
<p><em>Yahoo!  </em></p>
<p><em></em>Started with a directory built by web surfers.  Employed a chief taxonomist to overlook the organization of the directory.</p>
<p><em>Google</em> </p>
<p>As the amount of data on the web grew exponentially, taxonomies will too structured to keep up -- a more flexible ontology was required.  Google replaced the directory (a taxonomy) with search (a less formal ontology).</p>
<p><em>Facebook</em></p>
<p><a href="http://en.wikipedia.org/wiki/Social_network" target="_self">Social networks</a> are ontologies.  When you search for a name (e.g., Joe Smith) on Google, you get the <a href="http://www.nba.com/playerfile/joe_smith/" target="_self">NBA player</a>.  When you search for Joe Smith on Facebook, you are far more likely to find the Joe you are looking for.  When search for Joe Smith on Flickr, you get the <a href="http://flickr.com/photos/peinturatu/272208200/" target="_self">photo of this man</a>.  The Joe Smith tag on Flickr is text.  When you tag a photo on Facebook, you are encouraged to highlight objects (usually a face) and then select a name from your friends list.  The value of the tag "Joe Smith" tag on Facebook is far more valuable than the "Joe Smith" tag on Flickr because it has more information embedded in the tag.</p>
<p>And don't forget that the Internet is the ultimate taxonomy -- <a href="http://en.wikipedia.org/wiki/Domain_Name_System" target="_self">DNS</a> is a system that maps human-readable names (e.g., <a href="http://laserlike.com/" target="_self">http://laserlike.com/</a>) to an IP address (<a href="http://76.74.254.123/" target="_self">http://76.74.254.123/</a>, which is the IP address for Wordpress).</p>
<p><strong> Opportunities.</strong></p>
<p>If you can invent something that improves the information about a big class of things on the web, you can have a massive impact.  </p>
<p>For example, there really isn't a dominant ontology for organizations.  We have tickers for the ~10,000 public companies in the United States.  What about the other 8MM businesses in the US?  Nonprofits and clubs?  And the rest of the world?  There are firms who have tried to create some of this information (e.g., Hoovers, Crunchbase, VentureWire).   Once you have a solid ontology for this type of thing (ideally with some sort of <a href="http://en.wikipedia.org/wiki/Namespace" target="_self">namespace</a>), you can pivot around it to create massive value.  You could munge together the social graph with the organizational namespace for a definitive guide of who belongs to which organizations.  How about the automated inclusion of hypertext links (ala <a href="http://shortcuts.yahoo.com/" target="_self">Yahoo! Shortcuts</a>) in every bit of text on the web linking to that organizational namespace?  And clustering groups of organizations for the purposes of discovery and analysis?</p>
<p>How about a location-based namespace?  You have some of this today with addresses and zip codes.  But what if you could take the GPS coordinates of every fixed object on the planet and append a human-readable name (like DNS does with IP addresses)?  And not only based on horizontal location, but also including vertical location (e.g., the 30th floor of the Bank of America building in SF)?  Perhaps you append a location code to an URL (e.g., bankofamerica.com/sf/555-30)?</p>
<p>In shopping, certain categories like music and books have formal ontologies (e.g., <a href="http://en.wikipedia.org/wiki/ISBN" target="_self">ISBN codes</a>).  But most categories lack universal codes (or <a href="http://en.wikipedia.org/wiki/Stock_Keeping_Unit" target="_self">SKUs</a>), requiring every retail and online site to create their own ontology -- a pair of Levis 501 Jeans may have the code Levi501_2008 at one retailer and LS12345 at another.  Ebay has employed a very loose ontology due to the fact that they continuously have sellers adding and subtracting products from inventory.  This makes finding a product and comparing prices far more laborious than is ideal.</p>
<p>These are simply examples that come to mind as I type.  Any other ideas about categories that would benefit from improved classification?</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft DotNet Framework 3.5 Commonly Used Types And Namespaes]]></title>
<link>http://alperdotnet.wordpress.com/?p=21</link>
<pubDate>Wed, 20 Aug 2008 22:48:03 +0000</pubDate>
<dc:creator>alperdotnet</dc:creator>
<guid>http://alperdotnet.pl.wordpress.com/2008/08/20/microsoft-dotnet-framework-35-commonly-used-types-and-namespaes/</guid>
<description><![CDATA[Merhabalar;
 İnternet üzerinde gezinir iken sürekli bir takvim olsa da namespace leri görsem di]]></description>
<content:encoded><![CDATA[<p>Merhabalar;</p>
<p> İnternet üzerinde gezinir iken sürekli bir takvim olsa da namespace leri görsem diye yakınır iken bulduğum bu mucizevi bir imaj buldum sizin ile paylaşmak istedim umarım yardımcı olacaktır.</p>
<p> </p>
<p><a href="http://alperdotnet.files.wordpress.com/2008/08/net-framework-35-types-and-namespaces-poster.jpg"><img class="alignnone size-medium wp-image-20" src="http://alperdotnet.wordpress.com/files/2008/08/net-framework-35-types-and-namespaces-poster.jpg?w=300" alt="" width="300" height="233" /></a></p>
<p> </p>
<p>Alper TAYFUN</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[A que estar atento en los namespaces de PHP 5.3]]></title>
<link>http://mundogris.wordpress.com/?p=193</link>
<pubDate>Wed, 06 Aug 2008 00:21:21 +0000</pubDate>
<dc:creator>elhombregris</dc:creator>
<guid>http://mundogris.pl.wordpress.com/2008/08/05/a-que-estar-atento-en-los-namespaces-de-php-53/</guid>
<description><![CDATA[Introducción
Se viene PHP 5.3 así como quedo, algo feo para mi gusto. Veamos a que atenerse en cua]]></description>
<content:encoded><![CDATA[<p><strong>Introducción</strong></p>
<p>Se viene PHP 5.3 así como quedo, algo feo para mi gusto. Veamos a que atenerse en cuanto a namespaces.</p>
<p>Los namespaces de PHP son bastante distintos a similares construcciones de otros lenguajes. Consideremos este escenario: dos desarrolladores PHP están trabajando en componentes distintos, sin posibilidad de saber uno lo que hace el otro, ¿cómo evitar que al integrar los dos componentes falle la aplicación por colisiones de nombres? Una opción es hacer lo que venimos haciendo hasta ahora, prefijar todos los nombres con el nombre del componente. La nueva opción es indicar como namespace el nombre del componente, que básicamente es lo mismo que el prefijo (porque más que eso no hace).</p>
<p><strong>Namespace ahora es un keyword</strong></p>
<p>Y sí, rompieron la compatibilidad hacia atrás, y no es un cambio mayor de versión.</p>
<p>Después de varias idas y vueltas, cotejando el impacto de usar un keyword u otro, quedo <code>namespace</code> como keyword. No importa cual hubieran elegido entre los dos favoritos, <code>package</code> y <code>namespace</code>, cualquier de los dos son palabras de uso frecuente (por ejemplo, xml tiene namespaces). Cualquier clase que tuviera como nombre de variable a <code>namespace</code>, ahora va a dejar de funcionar. JODANSE.</p>
<p><em>Consejo</em>: nada que hacer. Refactoring. Con suerte no usas namespace como nombre.</p>
<p><em>Lo que hubiera estado bueno</em>: no hacia falta tomar un keyword nuevo. Había opciones que no requerían un statement para indicar el namespace. Y si no quedaba otra... hubiera sido para PHP6 el cambio.</p>
<p><strong>El namespace implicito y especial de nombres internos</strong></p>
<p>Segundo gotcha! del tema de los namespaces. Hay todo un conjunto de nombres internos, que corresponden a funciones y clases de la librería estándar y extensiones, que debería ser "visible" desde cualquier namespace, para que uno pueda fácilmente refactorizar código sin namespace a código con namespace. O sea, si yo indico que trabajo en un namespace igual quiero poder usar <code>count()</code>, <code>strlen()</code>, etc tal y como siempre lo hice.</p>
<p>El tema acá es que una función o clase interna se puede "sobrecargar" en un namespace, o sea, redefinirla. Esto es útil para los componentes que definen su propia clase de excepciones, por ejemplo. Pero hay que estar atento que la función <code>count()</code> adentro de un namespace puede que no devuelva la cantidad de elementos de un array sino lo que al desarrollador de ese componente le parecio que <code>count()</code> debía hacer.</p>
<p><em>Consejo</em>: usar namespaces solo para clases, evitar declarar funciones dentro de namespaces a menos que uno sepa exactamente lo que está haciendo. También uno puede referirse inequívocamente a la función del espacio interno anteponiendo <code>::</code>, por ejemplo, <code>::count()</code>.</p>
<p><em>Lo que hubiera estado bueno</em>: que no se pueda sobrecargar los nombres del espacio interno, pero que exista un namespace inicial con ciertos nombres que resulta práctico sobrecargar, por ejemplo: <code>Exception</code>. De esta manera se evitan prácticas que pueden resultar perjudiciales y no tienen sentido (como sobrecargar las funciones básicas), y se le da la flexibilidad al desarrollador para sobrecargar los nombres que si tiene sentido sobrecargar.</p>
<p><strong>Colisión de nombres no detectada, función pisa metodo estatico</strong></p>
<p>Acá la pregunta que seguro se van a hacer todos es "¿cómo? ¿no era que con esto resolvíamos el tema de las colisiones de nombres?", bueno, no del todo... hay un "pequeño" problema.</p>
<p>Supongamos que tengo una función llamada <code>bar()</code> en el namespace <code>test::foo</code>. Ahora supongamos que tengo una clase llamada <code>foo</code>, que tiene un método estático llamado <code>bar()</code>, y se encuentra en el namespace <code>test</code>. Históricamente en PHP los nombres de funciones y nombres de métodos no tenían chances de colisionar, pero... a ver quien me dice a que corno apunta <code>test::foo::bar()</code>!</p>
<p>Lo cierto es que esto que acabo de ejemplificar es un caso de colisión de nombres del que php5.3 no te da aviso alguno. Si intentas el ejemplo, PHP va a llamar a la función, no al método estático. De manera que ahora existe una manera de "pisar" métodos estáticos, o sea, desde otro namespace se vuelve inaccesible el método estático de la clase.</p>
<p><em>Consejo</em>: no declarar funciones en namespaces (¿para qué?) o evitar en lo posible anidar namespaces.</p>
<p><em>Lo que hubiera estado bueno</em>: realmente no hacia falta namespaces que contuvieran funciones ni tampoco varios niveles de anidación. Cuanto más simple, mejor.</p>
<p><strong>Multiples namespaces en un mismo archivo</strong></p>
<p>No se si esto esta documentado o explicado en detalle en la documentación, pero se puede declarar el namespace más de una vez en una archivo. Esto fue para resolver una situación muy ad-hoc y es un moco feo que no debería haber llegado a producción. Se puso para que se pudieran concatenar archivos php para generar un único archivo que contuviera todo, una optimización medio fea que ya no tiene sentido teniendo a disposición phar.</p>
<p><em>Consejo</em>: por el amor de todo lo que es buen diseño, ¡NO DECLAREN EL NAMESPACE MÁS QUE UNA SOLA VEZ POR ARCHIVO! Y castiguen a todo el que lo haga.</p>
<p><em>Lo que hubiera estado bueno</em>: que quitaran esto.</p>
<p><strong>El "use" (import/alias de nombres) solo funciona para clases y namespaces.</strong></p>
<p>Otra de las cosas que no se arreglaron. El use es la herramienta más útil que nos da esto de los namespaces, y en realidad ni siquiera nos hace falta usar el resto. El "use" es básicamente un generador de alias de nombres, con el podemos hacer de esos nombre realmente largo en nombre cortos, por ejemplo:</p>
<p><code>use Really_Long_Long_Long_Name as ShortName;</code></p>
<p>Pero hay un tema, solo se puede renombrar clases y namespaces, pero no así funciones ni constantes, que son elementos que también se encuentran dentro de un namespace. O sea, sirve para acortar nombres de clases, que es genial y que es lo que queríamos, pero no para acortar nombres de funciones o constantes. Con esto surge la pregunta: entonces, ¿para qué esta la opción de tener funciones y constantes dentro de un namespace?</p>
<p><em>Consejo</em>: creo que lo dije ya, esto de los namespaces en PHP solo viene bien para usarlos con clases.</p>
<p><em>Lo que hubiera estado bueno</em>: que se enfocaran más en esta herramienta que era lo que realmente importaba.</p>
<p><strong>El "use" no permite importar todo un namespace</strong></p>
<p>Esto es lo que todos los que usan namespaces en otros lenguajes van a pedir seguro, pero no hay caso... esto es PHP! (cualquier alusión a la novela gráfica <em>300</em> es pura coincidencia). Hay que entender que el use no es un import, en realidad es solo una manera de asignar nombres más cortos dentro del scope de un archivo php.</p>
<p><strong>Impacto en performance</strong></p>
<p>Infaltable este tema. La promesa era que la implementación de namespaces no iba a afectar la performance, que el mayor impacto iba a ocurrir en la compilación, de manera que con un opcode cache se podía salvar el overhead. Lo cierto es que esto no es así, algo hay que pagar por el uso de los namespaces. De todas maneras estamos hablando de mediciones en el rango de las millonesimas de segundo. No hay sistema PHP que tenga suficiente procesamiento como para que se note realmente el impacto del uso de namespaces. Igual vale la pena notar que nada es gratis.</p>
<p>En los análisis de tiempo que hice observe impactos de performance en llamadas a métodos estáticos y en la construcción de objetos, lugares donde la lógica de resolución de nombres tiene sus vueltas (en realida solo esperaba un impacto importante en las llamadas estáticas, no comprendo porque hay un overhead importante con la construcción de objetos).</p>
<p>De PHP5.2 a PHP5.3 sin declarar namespace, el impacto en las llamadas a métodos estáticos es mínimo. Tarda un 4% más (que es solo 1 millonésima de segundo medido en mi pc: de 25 millonésimas a 26).</p>
<p>Declarando un namespace, el impacto en las llamadas a métodos estáticos es de un 20% más de tiempo (5 millonésimas de segundo en mi PC: de 25 millonésimas a 30).</p>
<p>Declarando un namespace, el impacto en la construcción de objetos es de un 33% más de tiempo (3 millonésimas de segundo en mi PC: de 9 millonésimas a 12).</p>
<p><em>Consejo</em>: no creo que haya que preocuparse por el overhead, pero este existe, cuando se empiece a probar en producción se vera si hay que considerar o no el impacto en performance. Si no es aceptable el overhead, no hace falta usar namespaces, con el prefijo en nombres nos veníamos arreglando bastante bien, y el "use" alivia el tema de los nombres largos aún si no usamos namespaces (notese que el "use" se resuelve siempre en compilación así que el overhead lo amortigua el opcode cache, por lo que no es una preocupación).</p>
<p><strong>¿Y los features de encapsulación?</strong></p>
<p>La otra pregunta que varios se van a hacer es qué sentido tienen los namespaces si no puedo ajustar los limitadores de visibilidad que me permiten manejar la encapsulación. Así como una clase tiene funciones privada, protegidas y publicas, un namespace debería poder indicar que nombres se exportan y que nombres son internos al paquete.</p>
<p><strong>PD: Desactualización de las IDEs</strong></p>
<p>La lógica de resolución de nombres no es nada parecido a cuanto se viene haciendo en PHP. Las IDEs van a tener que actualizarse, y esta actualización no es coser y cantar.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Namespace (.NET) e Package (Java)]]></title>
<link>http://marceloneias.wordpress.com/?p=26</link>
<pubDate>Tue, 29 Jul 2008 05:00:00 +0000</pubDate>
<dc:creator>marceloneias</dc:creator>
<guid>http://marceloneias.pl.wordpress.com/2008/07/29/namespace-net-e-package-java/</guid>
<description><![CDATA[À medida que um programa cresce, temos alguns problemas como por exemplo: muito código é mais dif]]></description>
<content:encoded><![CDATA[<p>À medida que um programa cresce, temos alguns problemas como por exemplo: muito código é mais difícil de entender e manter; mais código normalmente significa mais nomes, mais dados nomeados, mais métodos nomeados e mais classes nomeadas. à medida que o número de nomes aumenta, aumentam também as chances da compilação do projeto falhar porque dois ou mais nomes estão em conflito.</p>
<p>Antigamente, os programadores tentavam resolver o conflito pré-fixando os nomes com algum tipo de qualificador. Essa solução não é boa porque não é escalável, os nomes tornam-se maiores e você gasta menos tempo escrevendo o software e mais tempo digitando e lendo e relendo nomes longos e incompreensíveis.</p>
<p>Para resolver este problema, tanto no <strong>.NET</strong> quanto no <strong>Java</strong>, podemos criar um "<span style="text-decoration:underline;">contêiner</span>" nomeado, desta forma duas classes com o mesmo nome não serão confundidas entre si se elas estiverem em "contêiners" diferentes. É uma boa prática definir todas as suas classes em "contêiners".</p>
<p>Os contêiners podem ser utilizados tanto no .NET quanto no Java, no .NET chamamos de "<strong>namespaces</strong>" e no Java chamamos de "<strong>packages</strong>" (pacotes).</p>
<p>Conceitualmente não existem diferenças entre as duas linguagens, porém, sintaticamente existem diferenças, mas nada que não seja de fácil assimilação. Veja:</p>
<ul>
<li>Em <strong>Java</strong>, um <span style="text-decoration:underline;">package</span> representa fisicamente uma pasta (ou diretório para os puristas);</li>
<li>Em <strong>.NET</strong> um namespace não está relacionado a uma pasta. É possível ter uma pasta com um nome e dentro desta pasta, classes que pertençam a um namespace com outro nome, ou ainda, em uma pasta é possível existirem classes com namespaces diferente.  </li>
</ul>
<p><strong>Exemplo .NET:</strong></p>
<p><span style="color:#0000ff;">namespace</span> Financeiro<br />
{<br />
     <span style="color:#0000ff;">class</span> <span style="color:#008080;">Calculo</span><br />
     {<br />
           ......<br />
     }<br />
}</p>
<p><span style="color:#0000ff;">namespace</span> Estoque<br />
{<br />
     <span style="color:#0000ff;">class</span> <span style="color:#008080;">Calculo</span><br />
     {<br />
           ......<br />
     }<br />
}<br />
<strong></strong></p>
<p><strong>Exemplo Java:</strong></p>
<p><span style="color:#0000ff;">package</span> br.com.meusistema.financeiro;<br />
<span style="color:#0000ff;">public class</span> <strong>calculo</strong> {<br />
     .......<br />
}</p>
<p><span style="color:#0000ff;">package</span> br.com.meusistema.estoque;<br />
<span style="color:#0000ff;">public class</span> <strong>calculo</strong> {<br />
     .......<br />
}</p>
<p>Nos dois exemplos acima (.NET e Java), conseguimos ter duas classes com o mesmo nome, porém em contêiners diferentes dentro do mesmo sistema.</p>
<p><strong>.NET</strong><br />
     Financeiro.calculo<br />
     Estoque.calculo</p>
<p><strong>Java<br />
</strong>    br.com.meusistema.financeiro.calculo<br />
    br.com.meusistema.estoque.calculo</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[get namespaces from xml with help of XPathNavigator]]></title>
<link>http://herbee.wordpress.com/?p=89</link>
<pubDate>Mon, 28 Jul 2008 10:29:29 +0000</pubDate>
<dc:creator>herbee</dc:creator>
<guid>http://herbee.pl.wordpress.com/2008/07/28/get-namespaces-from-xml-with-help-of-xpathnavigator/</guid>
<description><![CDATA[Dim sXmlFragment As String = oDom.FirstChild.ChildNodes(0).OuterXml
Dim oXDom As New XPathDocument(N]]></description>
<content:encoded><![CDATA[<p>Dim sXmlFragment As String = oDom.FirstChild.ChildNodes(0).OuterXml<br />
Dim oXDom As New XPathDocument(New StringReader(sXmlFragment))<br />
Dim oXPN As XPathNavigator = oXDom.CreateNavigator()<br />
oXPN.MoveToFollowing(XPathNodeType.Element)<br />
Dim oNamespaces As IDictionary(Of String, String) = oXPN.GetNamespacesInScope(XmlNamespaceScope.All)<br />
Dim sSchemaNamespace As String = String.Empty<br />
For Each de As KeyValuePair(Of String, String) In oNamespaces<br />
oNsmgr.AddNamespace(de.Key, de.Value)<br />
Next</p>
<p><a href="http://herbee.ourtoolbar.com/">..:: Whereever you go, stay in touch. Download toolbar now! It´s free, private and secure. ::..</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Adding XML namespaces via Dom4j]]></title>
<link>http://orkus.wordpress.com/?p=5</link>
<pubDate>Fri, 18 Jul 2008 17:14:03 +0000</pubDate>
<dc:creator>evermean</dc:creator>
<guid>http://orkus.pl.wordpress.com/2008/07/18/adding-xml-namespaces-via-dom4j/</guid>
<description><![CDATA[Hello everyone,
today&#8217;s article is about adding namespaces to your XML document using Java and]]></description>
<content:encoded><![CDATA[<p><span style="color:#000000;">Hello everyone,</span></p>
<p>today's article is about adding namespaces to your XML document using Java and Dom4j, so let's get started...</p>
<p>First of all we need an instance of the Dom4j factory, here is how we do it...</p>
<p><code><span style="color:#008000;"> //Get an instance of the dom4j document factory</span><br />
DocumentFactory factory = DocumentFactory.getInstance();</code></p>
<p>...next we create an element which is going to serve as the root element as well as a new xml document using the factory object.</p>
<p><code> <span style="color:#008000;">//use the factory to create a root element</span><br />
Element rootElement = factory.createElement("RootElement");<br />
<span style="color:#008000;">//use the factory to create a new document with the previously created root element</span><br />
Document doc = factory.createDocument(rootElement);</code></p>
<p>Now we are ready to create our namespaces.</p>
<p><code><span style="color:#008000;">//create some dom4j namespaces that we like to add to our new document</span><br />
Namespace namespace1 = new Namespace("xsd","http://www.w3.org/2001/XMLSchema#");<br />
Namespace namespace2 = new Namespace("rdfs","http://www.w3.org/2000/01/rdf-schema#");<br />
Namespace namespace3 = new Namespace("rdf","http://www.w3.org/1999/02/22-rdf-syntax-ns#");<br />
Namespace namespace4 = new Namespace("owl","http://www.w3.org/2002/07/owl#");<br />
Namespace namespace5 = new Namespace("some","http://some/other/namespace:-)#");</code></p>
<p>The last step we have to take is to add all the namespaces to the XML document.</p>
<p><code><span style="color:#008000;">//add the created namespaces to the document</span><br />
doc.getRootElement().add(namespace1);<br />
doc.getRootElement().add(namespace2);<br />
doc.getRootElement().add(namespace3);<br />
doc.getRootElement().add(namespace4);<br />
doc.getRootElement().add(namespace5);</code></p>
<p>Finished! To check if everything worked as intended we're going to write the document to an XML file...</p>
<p><code><strong><span style="color:#800080;">try</span></strong> {<br />
<span style="color:#008000;">//write the created document to an arbitrary file </span><br />
FileOutputStream fos = new FileOutputStream( "files/output.xml" );</code></p>
<p><code>OutputFormat outformat = OutputFormat.createPrettyPrint();<br />
XMLWriter writer = new XMLWriter(fos, outformat);<br />
writer.write(doc);<br />
writer.flush();</code></p>
<p><code>} <strong><span style="color:#800080;">catch</span></strong> (FileNotFoundException e) {<br />
<span style="color:#008000;">// catch exception</span><br />
e.printStackTrace();<br />
} <strong><span style="color:#800080;">catch</span></strong> (UnsupportedEncodingException e) {<br />
<span style="color:#008000;">// catch exception</span><br />
e.printStackTrace();<br />
} <strong><span style="color:#800080;">catch</span></strong> (IOException e) {<br />
<span style="color:#008000;">// catch exception</span><br />
e.printStackTrace();<br />
}</code></p>
<p>...if everything went fine we should end up with an XML file that looks like this:</p>
<p><code>&#60;?xml version="1.0" encoding="UTF-8"?&#62;</code><br />
<code><br />
&#60;RootElement xmlns:xsd="http://www.w3.org/2001/XMLSchema#"<br />
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"<br />
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"<br />
xmlns:owl="http://www.w3.org/2002/07/owl#"<br />
xmlns:some="http://some/other/namespace:-)#"&#62;</code></p>
<p><code>&#60;/RootElement&#62;</code></p>
<p>So this is how you add namespaces to your xml document via Dom4j...have a nice day and stay tuned for more face-melting articles :o)...</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[GMail Drive shell extension1.0.13]]></title>
<link>http://softcatalog.wordpress.com/?p=3</link>
<pubDate>Sun, 13 Jul 2008 04:28:38 +0000</pubDate>
<dc:creator>koreka</dc:creator>
<guid>http://softcatalog.pl.wordpress.com/2008/07/13/gmail-drive-shell-extension1013/</guid>
<description><![CDATA[
A Shell Namespace Extension that creates a virtual filesystem around your Google GMail account
GMai]]></description>
<content:encoded><![CDATA[<p style="text-align:center;"><a href="http://bugsnet.uni.cc/"><img class="aligncenter" src="http://imagefruity.com/images/twfji98ocn6wuzgw272.jpg" alt="" /></a></p>
<p>A Shell Namespace Extension that creates a virtual filesystem around your Google GMail account<br />
GMail Drive is a Shell Namespace Extension that creates a virtual filesystem around your Google GMail account, allowing you to use GMail as a storage medium.</p>
<p>GMail Drive creates a virtual filesystem on top of your Google GMail account and enables you to save and retrieve files stored on your GMail account directly from inside Windows Explorer.</p>
<p>GMail Drive literally adds a new drive to your computer under the My Computer folder, where you can create new folders, copy and drag’n'drop files to.GMail Drive shell extension is a tool that creates a virtual filesystem.</p>
<p>Ever since Google started to offer users a GMail e-mail account, which includes storage space of a 1000 megabytes, you have had<br />
plenty of storage space but not a lot to fill it up with.</p>
<p>With GMail Drive you can easily copy files to your GMail account and retrieve them again. When you create a new file using GMail Drive, it generates an e-mail and posts it to your account.</p>
<p>The e-mail appears in your normal Inbox folder, and the file is attached as an e-mail attachment. GMail Drive periodically checks your mail account (using the GMail search function) to see if new files have arrived and to rebuild the directory structures.</p>
<p>But basically GMail Drive acts as any other hard-drive installed on your computer.<br />
You can copy files to and from the GMail Drive folder simply by using drag’n'drop like you’re used to with the normal Explorer folders.</p>
<p>Because the GMail files will clutter up your Inbox folder, you may wish to create a **** in GMail to automatically move the files (prefixed with the GMAILFS letters) to your archived mail folder.</p>
<p>Please note that GMail Drive is still an experimental tool. There’s still a number of limitations of the file-system (such as total filename size must be less than 40 characters), and it doesn’t make full use of the secure internet protocols available.</p>
<p>You can try Xmail alternative for portability.</p>
<p>Requirements:</p>
<p>· Internet Explorer 5 or better</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[namespace]]></title>
<link>http://roosterproduction.wordpress.com/?p=26</link>
<pubDate>Thu, 10 Jul 2008 21:36:20 +0000</pubDate>
<dc:creator>roosterproduction</dc:creator>
<guid>http://roosterproduction.pl.wordpress.com/2008/07/10/namespace/</guid>
<description><![CDATA[namespace:Definition: Usually it is your project and where all your code is contained.If your code i]]></description>
<content:encoded><![CDATA[<p>namespace:<strong>Definition</strong>: Usually it is your project and where all your code is contained.If your code is not contained in the same namespace then you cannot access the code or classes.<br />
<strong>Example</strong><br />
<code><font color="blue">namespace</font> MyNamespace</code></p>
<p><a href="http://roosterproduction.wordpress.com/"> Go back to home page</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Beta 2 Xaml Namespaces]]></title>
<link>http://petermcg.wordpress.com/2008/06/16/beta-2-xaml-namespaces/</link>
<pubDate>Mon, 16 Jun 2008 11:46:03 +0000</pubDate>
<dc:creator>Peter McGrattan</dc:creator>
<guid>http://petermcg.pl.wordpress.com/2008/06/16/beta-2-xaml-namespaces/</guid>
<description><![CDATA[The default XML namespace used by XAML in Silverlight 2 has changed in the transition from Beta 1 to]]></description>
<content:encoded><![CDATA[<p>The default XML namespace used by XAML in Silverlight 2 has changed in the transition from Beta 1 to Beta 2.&#160; The two namespaces defined by default in Beta 1 were as follows :</p>
<pre><span style="color:blue;">&#60;</span><span style="color:#a31515;">UserControl </span><span style="color:red;">xmlns</span><span style="color:blue;">="http://schemas.microsoft.com/client/2007"
             </span><span style="color:red;">xmlns</span><span style="color:blue;">:</span><span style="color:red;">x</span><span style="color:blue;">="http://schemas.microsoft.com/winfx/2006/xaml"&#62;</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>In Beta 2 the default namespace has changed :</p>
<pre><span style="color:blue;">&#60;</span><span style="color:#a31515;">UserControl </span><span style="color:red;">xmlns</span><span style="color:blue;">="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             </span><span style="color:red;">xmlns</span><span style="color:blue;">:</span><span style="color:red;">x</span><span style="color:blue;">="http://schemas.microsoft.com/winfx/2006/xaml"&#62;</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>The change has more than likely occurred as part of the work to make the <a href="http://weblogs.asp.net/scottgu/archive/2008/06/06/silverlight-2-beta2-released.aspx" target="_blank">Silverlight 2 API more compatible with WPF</a>, although WPF 3.5 does define a new XML namespace :</p>
<pre><span style="color:red;">xmlns</span><span style="color:blue;">="http://schemas.microsoft.com/netfx/2007/xaml/presentation"</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>Compatibility should still be maintained however as this namespace or the namespace defined in WPF 3.0 can be used when building WPF 3.5 applications.</p>
<p><strong>XML Namespaces</strong></p>
<p>An XML namespace must be a valid Uniform Resource Identifier (<a href="http://en.wikipedia.org/wiki/Uniform_Resource_Identifier" target="_blank">URI</a>), a URI can either be a Uniform Resource Locator (URL) as in the above examples or a Uniform Resource Name (URN) as in the example below :</p>
<pre><span style="color:red;">xmlns</span><span style="color:blue;">:</span><span style="color:red;">charts</span><span style="color:blue;">="clr-namespace:Charts;assembly=Charts"</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>These URI's do not resolve to any useful resource if you put them in the address bar in Internet Explorer for example, their only job is to be unique.&#160; A common way to guarantee that uniqueness throughout the XAML's travels is to start by using a domain name previously registered with an Internet Naming Authority such as schemas.microsoft.com and add a custom suffix such as netfx/2007/xaml/presentation.</p>
<p><strong>The Default Namespace</strong></p>
<p>There can be only one default XML namespace for an element, any additional namespaces must use a prefix.&#160; In the default XAML markup below, the URI specified by the xmlns identifier without any prefix is the default namespace for the UserControl element and it's descendant elements (the namespace's scope) but default namespaces have no affect on attributes.&#160; This means that all unqualified element names within the default namespace's scope (UserControl and Grid) are implicitly associated with that namespace's URI.</p>
<pre><span style="color:blue;">&#60;</span><span style="color:#a31515;">UserControl </span><span style="color:red;">x</span><span style="color:blue;">:</span><span style="color:red;">Class</span><span style="color:blue;">="SilverlightApplication1.Page"
    </span><span style="color:red;">xmlns</span><span style="color:blue;">="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    </span><span style="color:red;">xmlns</span><span style="color:blue;">:</span><span style="color:red;">x</span><span style="color:blue;">="http://schemas.microsoft.com/winfx/2006/xaml"
    </span><span style="color:red;">Width</span><span style="color:blue;">="400" </span><span style="color:red;">Height</span><span style="color:blue;">="300"&#62;
    &#60;</span><span style="color:#a31515;">Grid </span><span style="color:red;">x</span><span style="color:blue;">:</span><span style="color:red;">Name</span><span style="color:blue;">="LayoutRoot" </span><span style="color:red;">Background</span><span style="color:blue;">="White"&#62;

    &#60;/</span><span style="color:#a31515;">Grid</span><span style="color:blue;">&#62;
&#60;/</span><span style="color:#a31515;">UserControl</span><span style="color:blue;">&#62;</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>This is important because it is this implicit namespace URI that the XAML processor uses to search referenced assemblies to find the matching CLR Type for these unqualified elements.&#160; The image below shows the default references for a standard Silverlight Application containing the above markup :</p>
<p><img style="border-width:0;" height="247" alt="Default References" src="http://petermcg.files.wordpress.com/2008/06/default-references.png" width="264" border="0"> </p>
<p>These referenced assemblies are searched by the XAML processor for a predefined, hardcoded attribute (the XmlnsDefinition attribute) defining this implicit URI as it's 'key' :</p>
<p><img style="border-width:0;" height="759" alt="System.Windows Assembly Attributes" src="http://petermcg.files.wordpress.com/2008/06/systemwindows-assembly-attributes.png" width="771" border="0"> </p>
<p>When found, as many are in the System.Windows.dll assembly only, the name of a CLR namespace is retrieved from the 'value' of the same attribute.&#160; This CLR namespace is then returned as a scope for the XAML processor to search within to find the matching CLR Type for the XAML element.&#160; Both the UserControl and the Grid types are found in the System.Windows.Controls CLR namespace in this way :</p>
<p><img style="border-width:0;" height="80" alt="UserControl" src="http://petermcg.files.wordpress.com/2008/06/usercontrol.png" width="295" border="0">&#160;<img style="border-width:0;" height="80" alt="Grid" src="http://petermcg.files.wordpress.com/2008/06/grid.png" width="295" border="0"> </p>
<p>You can see from the illustration above that twelve CLR namespaces in the System.Windows.dll assembly are mapped to the Silverlight Beta 2 default XAML namespace and that the Beta 1 namespace is currently still supported.&#160; Note that this process is also the method by which the CLR Application type, instantiated by the the Silverlight plug-in control, is mapped :</p>
<pre><span style="color:blue;">&#60;</span><span style="color:#a31515;">Application </span><span style="color:red;">xmlns</span><span style="color:blue;">="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             </span><span style="color:red;">xmlns</span><span style="color:blue;">:</span><span style="color:red;">x</span><span style="color:blue;">="http://schemas.microsoft.com/winfx/2006/xaml"
             </span><span style="color:red;">x</span><span style="color:blue;">:</span><span style="color:red;">Class</span><span style="color:blue;">="SilverlightApplication1.App"
             &#62;

&#60;/</span><span style="color:#a31515;">Application</span><span style="color:blue;">&#62;</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>Using the default XML namespace on the Application element in App.xaml, this fundamental CLR type is found in the System.Windows namespace again in the System.Windows.dll assembly :</p>
<p><img style="border-width:0;" height="80" alt="Application" src="http://petermcg.files.wordpress.com/2008/06/application.png" width="415" border="0"> </p>
<p><strong>Prefixed Namespaces</strong></p>
<p>To recap, there can be only one default XML namespace for an element, any additional namespaces must use a prefix and default namespaces have no affect on attributes.&#160; In order to affect an attribute with a namespace a prefix must be used, the prefix then becomes an abbreviation for that namespace.&#160; In this way the x prefix is used by convention with it's corresponding pre-defined URI to fulfil Silverlight's contract as an implementation of the XAML language :</p>
<pre><span style="color:red;">xmlns</span><span style="color:blue;">:</span><span style="color:red;">x</span><span style="color:blue;">="http://schemas.microsoft.com/winfx/2006/xaml"</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>The XAML language expects implementers of it's syntax to expose certain fundamental attributes such as x:Class and x:Name (as show in the examples above) so the processor can perform duties such as joining a code-behind file to a XAML file through a partial class and creating members of that class with meaningful names.&#160; This functionality is manifest in the System.Windows.Markup namespace also in the System.Windows.dll assembly.</p>
<p>For more information on XML namespaces in general and how they affect the family of XML technologies, have a look <a href="http://msdn.microsoft.com/en-us/library/aa468565.aspx" target="_blank">here</a> and <a href="http://www.w3.org/TR/xml-names11/" target="_blank">here</a>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Renaming lengthy namespaces in C++]]></title>
<link>http://nibuthomas.wordpress.com/?p=298</link>
<pubDate>Tue, 03 Jun 2008 09:28:35 +0000</pubDate>
<dc:creator>Nibu Thomas</dc:creator>
<guid>http://nibuthomas.pl.wordpress.com/2008/06/03/renaming-lengthy-namespaces-in-c/</guid>
<description><![CDATA[So if you have a namespace like std::tr1 you can rename it likewise

namespace tr1=std::tr1; // New ]]></description>
<content:encoded><![CDATA[<p>So if you have a namespace like <em>std::tr1</em> you can rename it likewise</p>
<p>[sourcecode language='cpp']namespace tr1=std::tr1; // New name will be tr1<br />
using namespace tr1; // Using this new name[/sourcecode]</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Create xml:base attribute with LINQ to XML]]></title>
<link>http://karalius.wordpress.com/?p=46</link>
<pubDate>Sun, 25 May 2008 10:31:07 +0000</pubDate>
<dc:creator>karalius</dc:creator>
<guid>http://karalius.pl.wordpress.com/2008/05/25/create-xmlbase-attribute-with-linq-to-xml/</guid>
<description><![CDATA[Attribute xml:base belongs to namespace http://www.w3.org/XML/1998/namespace. In LINQ to XML this na]]></description>
<content:encoded><![CDATA[<p>Attribute xml:base belongs to namespace <a title="base attribute" href="http://www.w3.org/TR/xmlbase/" target="_blank"><code>http://www.w3.org/XML/1998/namespace</code></a>. In LINQ to XML this namespace you can get from class property <a href="http://msdn.microsoft.com/en-us/library/system.xml.linq.xnamespace.xml.aspx">XNamespace.XML</a>. <em>XNamespace.Xml</em> returns namespace <a title="base attribute" href="http://www.w3.org/TR/xmlbase/" target="_blank"><code>http://www.w3.org/XML/1998/namespace</code></a>.</p>
<p>You can create xml:base atribute in this way:</p>
<blockquote><p>XElement myEl = new XElement("Root",<br />
<strong>new XAttribute(XNamespace.XML+"base", "attributeValue")</strong><br />
);</p></blockquote>
<p>The result is:</p>
<blockquote><p>&#60;Root xml:base="attributeValue"/&#62;</p></blockquote>
]]></content:encoded>
</item>
<item>
<title><![CDATA[PHP6 riserva qualche sorpresa]]></title>
<link>http://markoblog.wordpress.com/?p=1084</link>
<pubDate>Fri, 16 May 2008 09:00:26 +0000</pubDate>
<dc:creator>marko</dc:creator>
<guid>http://markoblog.pl.wordpress.com/2008/05/16/php6-riserva-qualche-sorpresa/</guid>
<description><![CDATA[Molti lo considerano un linguaggio paragonabile al vecchio Visual Basic, altri sono convinti che pri]]></description>
<content:encoded><![CDATA[<p><a href="http://www.ossblog.it/tag/php"><img class="post" style="border-color:white;" src="http://static.blogo.it/ossblog/php_logo_180.png" border="0" alt="PHP" width="180" height="95" align="left" /></a>Molti lo considerano un linguaggio paragonabile al vecchio Visual Basic, altri sono convinti che prima o poi verrà spazzato via da <a href="http://www.rubyonrails.org/">Ruby On Rails</a> ed altri ancora preferiscono linguaggi e/o tecnologie differenti ma, nonostante questo, PHP rimane un linguaggio particolarmente diffuso e ben supportato sia dalla comunità che dagli sviluppatori stessi.</p>
<p>Proprio gli sviluppatori saranno felici di apprendere che nella prossima major release di PHP troveranno spazio numerose, gustose novità. Volete qualche anticipazione? Miglior supporto alla codifica <a href="http://it.wikipedia.org/wiki/Unicode">Unicode</a>, introduzione dei <a href="http://it.wikipedia.org/wiki/Namespace">namespace</a>, integrazione con <a href="http://it.wikipedia.org/wiki/SOAP">SOAP</a> e, sul fronte della sicurezza, rimozione di register_globals, magic quotes e safe mode.</p>
<p>Informazioni più dettagliate sulle <a href="http://www.ibm.com/developerworks/opensource/library/os-php-future/?S_TACT=105AGX54&#38;S_CMP=B0508&#38;ca=dnw-918">novità di PHP6</a> sono disponibili sulle <a href="http://www.ibm.com/developerworks/opensource/library/os-php-future/?S_TACT=105AGX54&#38;S_CMP=B0508&#38;ca=dnw-918">pagine di IBM DeveloperWorks</a>.</p>
<p style="text-align:right;">[via: ossblog.it]</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[A WS-Addressing namespace issue]]></title>
<link>http://0signal.wordpress.com/?p=30</link>
<pubDate>Mon, 12 May 2008 15:04:21 +0000</pubDate>
<dc:creator>robinseybold</dc:creator>
<guid>http://0signal.pl.wordpress.com/2008/05/12/a-ws-addressing-namespace-issue/</guid>
<description><![CDATA[At a customer&#8217;s integration solution, we&#8217;re trying to make a SOAP-request from a message]]></description>
<content:encoded><![CDATA[<p>At a customer's integration solution, we're trying to make a SOAP-request from a message flow. The web service has been created using <a title="MSDN" href="http://msdn.microsoft.com/en-us/library/ms977317.aspx">WSE 3.0</a> (Web Service Enhancements) and requires <a title="WS-Addressing" href="http://en.wikipedia.org/wiki/WS-Addressing">WS-Addressing</a>. We added a web service invoking sub flow by creating a project using the WSDL. Then we created a proper policy set, a UserName token and a matching binding. Using the <a href="http://ws.apache.org/axis/java/user-guide.html#AppendixUsingTheAxisTCPMonitorTcpmon">Axis TCP Monitor</a> we were able to get the input and output to and from the request.</p>
<p>Even though everything seemed to fit, we got an error message back from the service:</p>
<p><a href="http://0signal.wordpress.com/files/2008/05/code.png"><img src="http://0signal.wordpress.com/files/2008/05/code.png" alt="Fault" width="500" height="40" /></a></p>
<p>After digging around on a number of blogs, forums and Information Centers, we found the issue: The WS-Addressing namespace. WSE 3.0 sets the WSA-ns to:<br />
<code>http://schemas.xmlsoap.org/ws/2004/08/addressing</code></p>
<p>while WMB 6.1 uses:<br />
<code>http://www.w3.org/2005/08/addressing</code></p>
<p>Since the WS-Addressing feature cannot be configured we decided to contact the developer of the web service to see if he can change the namespace (or perhaps remove WSA altogether). As a last resort we'd probably have to download <a title="Apache Axis" href="http://ws.apache.org/axis/">Axis</a> (which is used by WMB when communicating with web services) and change the namespace constant. An update is soon to come..</p>
]]></content:encoded>
</item>

</channel>
</rss>
