Tech-no-borders

Tech for all its worth - Primero(1st)™

I've moved my blog to http://fusedthought.wordpress.com and my portfolio to http://fusedthought.zoomcities.ws.

The new blog will integrate technology news as well as my personal blog all into one so that it'll be kept more up-to-date and easier for me to keep track. Cheers.

Saturday, March 31, 2007

Security Tip: DropMyRights

Many would know by now with the release of Microsoft Windows Vista, there are added layers of security. One of which, is the User Account Control (UAC) that runs programs with the most minimal privileges to prevent malicious code and viruses from easily gaining administrative powers as you would have to explicitly give permission to them...

However, there is a tool which enables you to emulate that in Windows XP. That tool is aptly named DropMyRights.

The program works by making a shortcut to for example internet Explorer through the DropMyRights Software. It acts like a gateway to your program, running the program, in this case Internet Explorer, with the least amount of privileges, maximising its security.

The difference after using the software might not be noticeable at first. However, when you visit sites which directly uses ActiveX controls or Explorer DLLs, you will find that they won't work anymore unless you give them permission to. It may thwart unknown malicious code exploits. However, there are no guarantees.

After installation of DropMyRights, create a new shortcut to launch Internet Explorer, setting the path like: C:\Installation-path\DropMyRights.exe "c:\program files\internet explorer\iexplore.exe"... change the paths to your own program installation paths.

DropMyRights is a free Microsoft tool. You can get it at Microsoft's MSDN website at: http://msdn2.microsoft.com/en-us/library/ms972827.aspx

Friday, March 30, 2007

Inferred XML Schema files for Blogger

Well.. since this is hosted on Blogger, I thought it would be nice to start with a blogger related post....

You know, I know, we all know how difficult it is to suddenly have a new type of blogger template staring at us after the blogger upgrade. It is definitely much better in terms of standards, but coding for a flexible template with widgets can be quite painful...

In order to ease my own transition, I took one of the default templates and passed it through a translator.. so for those out there using software like XML spy, or the excellent free Eclipse IDE, here are the schema files which hopefully may help..

Schema: http://www.google.com/2005/gml/b

<?xml version="1.0"?>
<xs:schema xmlns:tns="http://www.google.com/2005/gml/b" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.google.com/2005/gml/b" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="include">
<xs:complexType>
<xs:attribute name="data" type="xs:string" use="optional" />
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="skin" type="xs:string" />
<xs:element name="section">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="widget">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="includable">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="loop">
<xs:complexType>
<xs:sequence>
<xs:element xmlns:q1="http://www.w3.org/1999/xhtml" ref="q1:ul" />
</xs:sequence>
<xs:attribute name="values" type="xs:string" use="required" />
<xs:attribute name="var" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" xmlns:q2="http://www.w3.org/1999/xhtml" ref="q2:select" />
<xs:element minOccurs="0" xmlns:q3="http://www.w3.org/1999/xhtml" ref="q3:ul" />
<xs:element minOccurs="0" xmlns:q4="http://www.w3.org/1999/xhtml" ref="q4:a" />
<xs:element minOccurs="0" xmlns:q5="http://www.w3.org/1999/xhtml" ref="q5:h4" />
<xs:element minOccurs="0" xmlns:q6="http://www.w3.org/1999/xhtml" ref="q6:span" />
<xs:element minOccurs="0" name="if">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" xmlns:q7="http://www.w3.org/1999/xhtml" ref="q7:h2" />
<xs:element minOccurs="0" name="if">
<xs:complexType>
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element xmlns:q8="http://www.w3.org/1999/xhtml" ref="q8:a" />
<xs:element name="else" />
<xs:element xmlns:q9="http://www.w3.org/1999/xhtml" ref="q9:div" />
</xs:choice>
</xs:sequence>
<xs:attribute name="cond" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="else" />
<xs:element minOccurs="0" maxOccurs="unbounded" xmlns:q10="http://www.w3.org/1999/xhtml" ref="q10:div" />
<xs:element minOccurs="0" xmlns:q11="http://www.w3.org/1999/xhtml" ref="q11:dl" />
<xs:element minOccurs="0" xmlns:q12="http://www.w3.org/1999/xhtml" ref="q12:span" />
</xs:sequence>
<xs:attribute name="cond" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" xmlns:q13="http://www.w3.org/1999/xhtml" ref="q13:p" />
<xs:element minOccurs="0" maxOccurs="unbounded" xmlns:q14="http://www.w3.org/1999/xhtml" ref="q14:div" />
<xs:element minOccurs="0" maxOccurs="unbounded" name="include">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required" />
<xs:attribute name="var" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required" />
<xs:attribute name="locked" type="xs:boolean" use="required" />
<xs:attribute name="title" type="xs:string" use="required" />
<xs:attribute name="type" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="class" type="xs:string" use="required" />
<xs:attribute name="id" type="xs:string" use="required" />
<xs:attribute name="maxwidgets" type="xs:unsignedByte" use="optional" />
<xs:attribute name="showaddelement" type="xs:string" use="optional" />
<xs:attribute name="preferred" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
<xs:element name="if">
<xs:complexType mixed="true">
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element xmlns:q15="http://www.w3.org/1999/xhtml" ref="q15:span" />
<xs:element xmlns:q16="http://www.google.com/2005/gml/data" ref="q16:title" />
<xs:element name="else" />
<xs:element xmlns:q17="http://www.w3.org/1999/xhtml" ref="q17:a" />
<xs:element name="if">
<xs:complexType>
<xs:sequence>
<xs:element xmlns:q18="http://www.w3.org/1999/xhtml" ref="q18:a" />
<xs:element minOccurs="0" name="else" />
<xs:element minOccurs="0" xmlns:q19="http://www.google.com/2005/gml/data" ref="q19:post.title" />
</xs:sequence>
<xs:attribute name="cond" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element xmlns:q20="http://www.w3.org/1999/xhtml" ref="q20:h3" />
<xs:element xmlns:q21="http://www.google.com/2005/gml/data" ref="q21:top.authorLabel" />
<xs:element xmlns:q22="http://www.google.com/2005/gml/data" ref="q22:post.author" />
<xs:element xmlns:q23="http://www.google.com/2005/gml/data" ref="q23:top.timestampLabel" />
<xs:element xmlns:q24="http://www.google.com/2005/gml/data" ref="q24:top.commentLabel" />
<xs:element xmlns:q25="http://www.google.com/2005/gml/data" ref="q25:post.numComments" />
<xs:element xmlns:q26="http://www.google.com/2005/gml/data" ref="q26:top.commentLabelPlural" />
<xs:element xmlns:q27="http://www.google.com/2005/gml/data" ref="q27:postLabelsLabel" />
<xs:element name="loop">
<xs:complexType>
<xs:sequence>
<xs:element xmlns:q28="http://www.w3.org/1999/xhtml" ref="q28:a" />
<xs:element name="if">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="cond" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="values" type="xs:string" use="required" />
<xs:attribute name="var" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element xmlns:q29="http://www.w3.org/1999/xhtml" ref="q29:h4" />
<xs:element xmlns:q30="http://www.google.com/2005/gml/data" ref="q30:commentLabel" />
<xs:element xmlns:q31="http://www.google.com/2005/gml/data" ref="q31:commentLabelPlural" />
<xs:element xmlns:q32="http://www.w3.org/1999/xhtml" ref="q32:dl" />
<xs:element xmlns:q33="http://www.google.com/2005/gml/data" ref="q33:comment.author" />
<xs:element xmlns:q34="http://www.w3.org/1999/xhtml" ref="q34:p" />
<xs:element name="include">
<xs:complexType>
<xs:attribute name="data" type="xs:string" use="required" />
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element xmlns:q35="http://www.w3.org/1999/xhtml" ref="q35:ul" />
<xs:element xmlns:q36="http://www.w3.org/1999/xhtml" ref="q36:dd" />
<xs:element xmlns:q37="http://www.google.com/2005/gml/data" ref="q37:label.name" />
</xs:choice>
</xs:sequence>
<xs:attribute name="cond" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="loop">
<xs:complexType>
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element name="if">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="if">
<xs:complexType>
<xs:sequence>
<xs:element name="include">
<xs:complexType>
<xs:attribute name="data" type="xs:string" use="required" />
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="cond" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="include">
<xs:complexType>
<xs:attribute name="data" type="xs:string" use="required" />
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" xmlns:q38="http://www.w3.org/1999/xhtml" ref="q38:h2" />
</xs:sequence>
<xs:attribute name="cond" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="include">
<xs:complexType>
<xs:attribute name="data" type="xs:string" use="required" />
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element xmlns:q39="http://www.w3.org/1999/xhtml" ref="q39:dt" />
<xs:element xmlns:q40="http://www.w3.org/1999/xhtml" ref="q40:dd" />
<xs:element xmlns:q41="http://www.w3.org/1999/xhtml" ref="q41:div" />
<xs:element xmlns:q42="http://www.w3.org/1999/xhtml" ref="q42:a" />
<xs:element xmlns:q43="http://www.w3.org/1999/xhtml" ref="q43:li" />
<xs:element xmlns:q44="http://www.w3.org/1999/xhtml" ref="q44:option" />
</xs:choice>
</xs:sequence>
<xs:attribute name="values" type="xs:string" use="required" />
<xs:attribute name="var" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:schema>

Schema: http://www.google.com/2005/gml/expr

<?xml version="1.0"?>
<xs:schema xmlns:tns="http://www.google.com/2005/gml/expr" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.google.com/2005/gml/expr" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:attribute name="href" type="xs:string" />
<xs:attribute name="id" type="xs:string" />
<xs:attribute name="title" type="xs:string" />
<xs:attribute name="name" type="xs:string" />
<xs:attribute name="onclick" type="xs:string" />
<xs:attribute name="class" type="xs:string" />
<xs:attribute name="type" type="xs:string" />
<xs:attribute name="alt" type="xs:string" />
<xs:attribute name="height" type="xs:string" />
<xs:attribute name="src" type="xs:string" />
<xs:attribute name="width" type="xs:string" />
<xs:attribute name="value" type="xs:string" />
</xs:schema>

Schema: http://www.google.com/2005/gml/data

<?xml version="1.0"?>
<xs:schema xmlns:tns="http://www.google.com/2005/gml/data" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.google.com/2005/gml/data" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="blog.pageTitle" />
<xs:element name="title" />
<xs:element name="description" />
<xs:element name="post.dateHeader" />
<xs:element name="newerPageTitle" />
<xs:element name="olderPageTitle" />
<xs:element name="homeMsg" />
<xs:element name="post.title" />
<xs:element name="post.body" />
<xs:element name="top.authorLabel" />
<xs:element name="post.author" />
<xs:element name="top.timestampLabel" />
<xs:element name="post.timestamp" />
<xs:element name="top.commentLabel" />
<xs:element name="post.numComments" />
<xs:element name="top.commentLabelPlural" />
<xs:element name="top.backlinkLabel" />
<xs:element name="postLabelsLabel" />
<xs:element name="label.name" />
<xs:element name="commentLabel" />
<xs:element name="commentLabelPlural" />
<xs:element name="comment.author" />
<xs:element name="commentPostedByMsg" />
<xs:element name="comment.body" />
<xs:element name="comment.timestamp" />
<xs:element name="postCommentMsg" />
<xs:element name="post.backlinksLabel" />
<xs:element name="backlink.title" />
<xs:element name="backlink.snippet" />
<xs:element name="post.authorLabel" />
<xs:element name="backlink.author" />
<xs:element name="post.timestampLabel" />
<xs:element name="backlink.timestamp" />
<xs:element name="post.createLinkLabel" />
<xs:element name="feedLinksMsg" />
<xs:element name="f.name" />
<xs:element name="f.feedType" />
<xs:element name="navMessage" />
<xs:element name="i.display-name" />
<xs:element name="displayname" />
<xs:element name="location" />
<xs:element name="aboutme" />
<xs:element name="viewProfileMsg" />
<xs:element name="i.name" />
<xs:element name="i.post-count" />
<xs:element name="i.title" />
<xs:element name="label.count" />
<xs:element name="link.name" />
</xs:schema>

It would be nice if someone is able to expand and develop it into a better schema file. My knowledge on XML schema is somewhat limited currently....

Well, anyway, hope these helps....

Thursday, March 29, 2007

First

Technology for all I know... This site documents interesting finds and useful tips among others...

Its technology without borders!

Primero(1st)™ Layout (With customization for Tech-no-borders) by GenSephyr. Copyright © 2007 GenSephyr All Rights Reserved

Site designed with Open Source Technologies.