<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SilenceIT</title>
	<atom:link href="http://www.silenceit.ca/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.silenceit.ca</link>
	<description>SilenceIT&#039;s Blog</description>
	<lastBuildDate>Tue, 09 Mar 2010 17:48:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>BIND &#8211; The De Facto Standard Domain Name Server</title>
		<link>http://www.silenceit.ca/2010/03/09/bind-the-de-facto-standard-domain-name-server/</link>
		<comments>http://www.silenceit.ca/2010/03/09/bind-the-de-facto-standard-domain-name-server/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 17:48:20 +0000</pubDate>
		<dc:creator>jascha</dc:creator>
				<category><![CDATA[IT Services]]></category>
		<category><![CDATA[BIND]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Nameserver]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.silenceit.ca/?p=1324</guid>
		<description><![CDATA[BIND is a very prominent DNS Server (Domain Name System) that translates domain names (e.g. Google.ca) into their respective IP addresses.]]></description>
			<content:encoded><![CDATA[<h3>What is BIND?</h3>
<p>BIND is a very prominent DNS Server (Domain Name System) that translates domain names (e.g. Google.ca) into their respective IP addresses. This allows your computer to locate a website or remote service on the internet. BIND is by far the most widely used DNS server and has become the standard for almost all ISPs in the world. BIND is currently maintained and developed by the Internet Systems Consortium (ISC), an open-source software developer and distributor. ISC operates and maintains one of the thirteen “Root” DNS servers for the entire internet. ISC is a non-profit, public benefit corporation.</p>
<h3><br class="spacer_" /></h3>
<h3>Brief History of BIND</h3>
<p>BIND was originally created by four graduate students at the University of California, Berkeley. BIND was originally released with the BSD 4.3 Unix operating system in the early 1980’s. BSD actually stands for Berkeley Software Distribution. BIND was originally written under a DARPA (Defense Advanced Research Projects Agency) grant. In the mid 1980’s, BIND development was taken over by DEC (Digital Equipment Corporation), most notably Paul Vixie, who continued developing BIND after leaving DEC and eventually helped start ISC. BIND 9 was developed with a combination of commercial and military contracts. Most of BIND 9’s features were directly funded by Unix vendors who wanted to ensure BIND stayed competitive with Microsoft&#8217;s DNS offerings.</p>
<h3><br class="spacer_" /></h3>
<h3>Benefits of using BIND</h3>
<p>BIND uses a distributed architecture allowing many DNS servers to communicate with one another to share data. Using BIND locally on a network allows you to assign simple names to servers for quick and easy access (e.g. MyServer = 192.168.0.100). BIND allows you to specify internal IP addresses for systems that are available both internally and externally, restricting traffic to the local network only, therefore increasing security and limiting external network bandwidth. BIND is well documented and simple, yet extremely robust. BIND caches DNS requests, allowing for faster name resolution for commonly used sites or systems.</p>
<p><br class="spacer_" /></p>
<h3>Zones</h3>
<p>BIND servers use “Zones” to describe servers of systems. Zones are defined in a file called named &#8216;.conf.&#8217;  These definitions point to specific zone files stored in the BIND folder.  These zone files store details about the specific domain like:<br />
 A records: Specifies an IP address for a name, also used for subdomians<br />
 CNAME records: maps one name to another, like an alias<br />
 MX records: These define where the main servers for a specific domain are located<br />
 NS records: Define what DNS server is the authority for this domain, updates to the Zone will be pulled from this server<br />
 SOA (Start of Authority) Record: Proclaims important authoritative information regarding the zone (e.g. the primary name server, the zone revision number, the refresh time, the expiry time for the record and the amount of time to cache the record)</p>
<p><br class="spacer_" /></p>
<h3>Example Zone File:</h3>
<p><br class="spacer_" /></p>
<pre>$ORIGIN example.com</pre>
<pre>$TTL 86400</pre>
<pre>@     IN     SOA    dns1.example.com.     hostmaster.example.com. (</pre>
<pre>2001062501 ; serial</pre>
<pre>21600      ; refresh after 6 hours</pre>
<pre>3600       ; retry after 1 hour</pre>
<pre>604800     ; expire after 1 week</pre>
<pre>86400 )    ; minimum TTL of 1 day</pre>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<pre>IN     NS     dns1.example.com.</pre>
<pre>IN     NS     dns2.example.com.</pre>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<pre>IN     MX     10     mail.example.com.</pre>
<pre>IN     MX     20     mail2.example.com.</pre>
<p><br class="spacer_" /></p>
<pre>IN     A       10.0.1.5</pre>
<p><br class="spacer_" /></p>
<pre>server1      IN     A       10.0.1.5</pre>
<pre>server2      IN     A       10.0.1.7</pre>
<pre>dns1         IN     A       10.0.1.2</pre>
<pre>dns2         IN     A       10.0.1.3</pre>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<pre>ftp          IN     CNAME   server1</pre>
<pre>mail         IN     CNAME   server1</pre>
<pre>mail2        IN     CNAME   server2</pre>
<pre>www          IN     CNAME   server2
</pre>
<h3>Load Balancing Through DNS</h3>
<p>BIND allows you to specify multiple IP addresses to a single domain name.  Whenever the domain name is looked up, it will randomly return one of the IP’s. This allows you to have a cluster of servers with the same job sharing the load. An example would be an enterprise class mail cluster, with ten different mail servers sharing the same set of storage. These servers would share all of the SMTP, POP and IMAP requests, splitting the load between them.</p>
<p><br class="spacer_" /></p>
<p>Google uses this technique:</p>
<pre>~$ nslookup mail.google.com</pre>
<pre>Server:	localhost</pre>
<pre>Address:	localhost#53</pre>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<pre>Non-authoritative answer:</pre>
<pre>mail.google.com	canonical name = googlemail.l.google.com.</pre>
<pre>Name:	googlemail.l.google.com</pre>
<pre>Address: 72.14.204.83</pre>
<pre>Name:	googlemail.l.google.com</pre>
<pre>Address: 72.14.204.17</pre>
<pre>Name:	googlemail.l.google.com</pre>
<pre>Address: 72.14.204.18</pre>
<pre>Name:	googlemail.l.google.com</pre>
<pre>Address: 72.14.204.19</pre>
<p><br class="spacer_" /></p>
<h3>Other BIND Features</h3>
<h3>Multiple Views</h3>
<p>Define restrictions of what IP addresses see what information<br />
 External network requests will see the outside IP, internal will see the internal IP</p>
<h3>Security</h3>
<p>DNSSEC (DNS SECurity) allows zones file to be cryptographically signed with a zone “key”</p>
<p>TSIG (Transaction Signatures) allows verification of transactions between master and slave servers</p>
<h3>IPv6</h3>
<p>BIND 9 fully supports IPv6 environments</p>
<p><br class="spacer_" /></p>
<h3>BIND 10?</h3>
<p>BIND 9 was released in 1998<br />
 ISC is currently working on BIND 10 development, creating a new code-base.  BIND 9’s original architecture has withstood the test of time for over a decade but ISC feels in order to meet the demands of the next decade, they need a major overhaul. The major focus areas of BIND 10 are modularity, customizability, clusterization, integration, resilience and runtime control.</p>
<p><br class="spacer_" /></p>
<p>All of these are defined on the BIND 10 project page: <a title="https://www.isc.org/bind10/project" href="https://www.isc.org/bind10/project" target="_blank">https://www.isc.org/bind10/project</a></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.silenceit.ca%2F2010%2F03%2F09%2Fbind-the-de-facto-standard-domain-name-server%2F&amp;linkname=BIND%20%26%238211%3B%20The%20De%20Facto%20Standard%20Domain%20Name%20Server"><img src="http://www.silenceit.ca/wordpress/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.silenceit.ca/2010/03/09/bind-the-de-facto-standard-domain-name-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Friends with Benefits &#8211; A Social Media Handbook</title>
		<link>http://www.silenceit.ca/2010/03/04/friends-with-benefits-a-social-media-handbook/</link>
		<comments>http://www.silenceit.ca/2010/03/04/friends-with-benefits-a-social-media-handbook/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 20:37:41 +0000</pubDate>
		<dc:creator>Lynn</dc:creator>
				<category><![CDATA[Social Media]]></category>
		<category><![CDATA[Darren Barefoot]]></category>
		<category><![CDATA[Julie Szabo]]></category>
		<category><![CDATA[No Starch Press]]></category>
		<category><![CDATA[Social Media Marketing]]></category>

		<guid isPermaLink="false">http://www.silenceit.ca/?p=1372</guid>
		<description><![CDATA[Social Media seems to be the topic that everyone is talking about and many businesses are moving toward as another outlet for marketing.  Darren Barefoot and Julie Szabo explain it all in their book: Friends with Benefits – A Social Media Handbook.]]></description>
			<content:encoded><![CDATA[<p>Social Media seems to be the topic that everyone is talking about and many businesses are moving toward as another outlet for marketing.</p>
<p>Social Media Marketing, as defined by  Darren Barefoot and Julie Szabo, authors of <span style="text-decoration: underline;">Friends with Benefits – A Social Media Handbook</span> is: “using social media channels to promote your company and its products  (Barefoot and Szabo, 13).&#8221; Examples of a few social media tools include blogs and numerous social networks like Facebook and Twitter.</p>
<p><span style="text-decoration: underline;">Friends with Benefits – A Social Media Handbook</span> is exactly what the title defines.  From the beginning, the authors explain the basic principles behind social media and then elaborate on how you should utilize each social media channel to its fullest potential. Other books that I&#8217;ve read on marketing come across as a sales pitch making me forget that I am looking for tips, tricks and any information that I can gather rather than feeling like I just got off the phone with a telemarketer. Darren and Julie&#8217;s writing elegantly explain the basics of many social media channels without losing the reader with all techno-jargon. They are able to give the reader an abundance of information without being overwhelmed.  Each chapter also includes links that direct you to useful websites or book suggestions that will only further your knowledge with everything associated with social media from RSS feeds to measuring analytics.</p>
<p>Even though being part of the generation that “grew” up using social networks like Facebook and Twitter, there was still so much that I was unaware of before reading this book.  Darren and Julie define and emphasize the importance of online visibility that can be achieved when using social media beyond the basic &#8217;social&#8217; aspect and &#8216;networking&#8217; abilities of these tools to promote and market your company. The information that they provide is not necessarily a tailored marketing plan that you can follow, but instead they give you all the information you need to get your foot into social media and feel confident about your actions online by using examples of successful marketing campaigns.</p>
<p>Whether you are just starting your social media adventure or if you are in the middle of a marketing campaign, this book can give you great tips, &#8220;do&#8217;s and don&#8217;ts&#8221; for specific tools and extra resources for the many social media channels that are at your fingertips.</p>
<p><br class="spacer_" /></p>
<p><img class="aligncenter size-medium wp-image-1381" title="social media channels" src="http://www.silenceit.ca/wordpress/wp-content/uploads/2010/02/social-media-channels-300x47.png" alt="social media channels" width="300" height="47" /></p>
<p><br class="spacer_" /></p>
<p>Barefoot, Darren and Julie Szabo.  <span style="text-decoration: underline;">Friends with Benefits: A Social Media Marketing Handbook</span>.  San Francisco, CA: No Starch Press, 2010.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.silenceit.ca%2F2010%2F03%2F04%2Ffriends-with-benefits-a-social-media-handbook%2F&amp;linkname=Friends%20with%20Benefits%20%26%238211%3B%20A%20Social%20Media%20Handbook"><img src="http://www.silenceit.ca/wordpress/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.silenceit.ca/2010/03/04/friends-with-benefits-a-social-media-handbook/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JavaServer Pages</title>
		<link>http://www.silenceit.ca/2010/03/03/java-server-pages/</link>
		<comments>http://www.silenceit.ca/2010/03/03/java-server-pages/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 19:14:25 +0000</pubDate>
		<dc:creator>jascha</dc:creator>
				<category><![CDATA[Web Technology]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaServer Pages]]></category>
		<category><![CDATA[JSP]]></category>
		<category><![CDATA[JSTL]]></category>
		<category><![CDATA[Servlet]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.silenceit.ca/?p=1254</guid>
		<description><![CDATA[JavaServer Pages enable Web developers and designers to rapidly develop and easily maintain, information-rich, dynamic Web pages that leverage existing business systems.]]></description>
			<content:encoded><![CDATA[<p><strong>Overview:</strong></p>
<p>JavaServer Pages (JSP) enable web developers and designers to rapidly develop and easily maintain information-rich, dynamic web pages that leverage existing business systems. JSP technology enables development of applications that are platform independent and run in almost any environment. JSP Technology is designed to separate the user interface from content generation, enabling designers to easily change the overall page layout without altering the underlying dynamic content.</p>
<p><br class="spacer_" /></p>
<p>JSP uses “JavaServer Pages Standard Tag Library” (JSTL) which encapsulates core functionality common to many web applications and is inserted into JSP Pages. JSTL has support for common, structural tasks such as: iteration and conditionals, tags for manipulating XML documents, internationalization tags, and SQL tags.</p>
<p><br class="spacer_" /></p>
<p>Java Servlets do the grunt work of JSP. Java Servlet technology provides web developers with a simple, consistent mechanism for extending the functionality of a web server and for accessing existing business systems. A servlet can almost be thought of as an applet that runs on the server side; without a face. Servlets have access to the entire family of Java APIs, including the JDBC API, to access enterprise databases. Servlets can also access a library of HTTP-specific calls and receive all the benefits of the mature Java language, including portability, performance, re-usability, and crash protection.</p>
<p><br class="spacer_" /></p>
<p>Another major component of JSP’s are Java Beans. Java Beans are reusable components adhering to a set of conventions. They are used to separate Business logic from the Presentation logic. Internally, a bean is simply an instance of a class with special naming conventions and characteristics.</p>
<p><br class="spacer_" /></p>
<p>In order to function as a JavaBean class, an object class must obey certain conventions about method naming, construction and behavior. These conventions make it possible to have tools that can use, re-use, replace and connect JavaBeans.</p>
<p><br class="spacer_" /></p>
<p>The class must have a public default constructor. This allows easy instantiation within editing and activation frameworks. The class properties must be accessible using get, set, and other methods (so-called accessor methods and mutator methods), following a standard naming convention. This allows easy automated inspection and updating of bean state within frameworks, many of which include custom editors for various types of properties. The class should be serializable, allowing applications and frameworks to reliably save, store and restore the bean&#8217;s state in a fashion that is independent of the VM and platform.</p>
<p><br class="spacer_" /></p>
<p><strong>JSP Benefits:</strong></p>
<ul>
<li>Platform and Server Independence</li>
<li>Open Development Process, Open Source</li>
<li>Extensible JSP Tags</li>
<li>Application persistence and variable scopes</li>
<li>Mature Java language</li>
<li>Easier Maintenance</li>
</ul>
<p><br class="spacer_" /></p>
<p>Scripting languages are acceptable for small applications, but do not scale well to manage large, complex applications. Due to how Java language is structured, it is easier to build and maintain large, modular applications with it. JSP technology&#8217;s emphasis on components over scripting makes it easier to revise content without affecting logic or revise logic without changing content.</p>
<p><br class="spacer_" /></p>
<p>The Enterprise JavaBeans architecture encapsulates the enterprise logic, such as database access, security and transaction integrity, and isolates it from the application itself. Because JSP technology is an open, cross-platform architecture, web servers, platforms and other components can be easily upgraded or switched without affecting JSP-based applications. This makes JSP suitable for real-world web applications where constant change and growth is the norm.</p>
<p><br class="spacer_" /></p>
<p><strong>Security:</strong></p>
<p>Since JSP can inter-operate with standard Java,it has access to the underlying Java SE Platforms extensible security architecture including security features such as cryptography, authentication and authorization, public key infrastructure and more.</p>
<p><br class="spacer_" /></p>
<p><strong>JSP Shortcomings:</strong></p>
<ul>
<li>Compiler Required</li>
<li>JSP Typically issues poor error reports</li>
<li>JSP Pages use more disk space then regular scripting languages</li>
<li>Need a solid knowledge of Java</li>
<li>Some simple tasks are more difficult to perform</li>
<li>Coding standards need to be diligently adhered to</li>
<li>Since Java programs run in the Java Virtual Machine, they run somewhat slower then applications written in C or C++</li>
</ul>
<p><br class="spacer_" /></p>
<p><strong>Conclusion:</strong></p>
<p>In conclusion, JSP Technology is an excellent way for software developers to implement complex web applications that can have all the features of the mature java language. Even though there are a few shortcomings to JSP the benefits outweigh these.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.silenceit.ca%2F2010%2F03%2F03%2Fjava-server-pages%2F&amp;linkname=JavaServer%20Pages"><img src="http://www.silenceit.ca/wordpress/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.silenceit.ca/2010/03/03/java-server-pages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Social Media Revolution</title>
		<link>http://www.silenceit.ca/2010/02/24/social-media-revolution/</link>
		<comments>http://www.silenceit.ca/2010/02/24/social-media-revolution/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 16:36:17 +0000</pubDate>
		<dc:creator>Lynn</dc:creator>
				<category><![CDATA[Social Media]]></category>
		<category><![CDATA[Social Media Marketing]]></category>
		<category><![CDATA[Social Media Revolution]]></category>
		<category><![CDATA[Socialnomics]]></category>
		<category><![CDATA[Viral Videos of 2010]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://www.silenceit.ca/?p=1356</guid>
		<description><![CDATA[Social Media Revolution is one of the top 10 viral videos of 2010 - so far.]]></description>
			<content:encoded><![CDATA[<p>Even though we are only two months into 2010, social media is definitely becoming one of the most talked about subjects – whether you are using social media as a part of a marketing campaign or just surfing online.</p>
<p>For the past couple of months, I have become more and more interested in social media and all that it has to offer. With that growing interest, I have brought awareness of this trend to people who are a part of my day-to-day life. Just last week, I was notified by an individual who has a mild interest in social media (for example, completely unaware that he was using social media channels such as Facebook and YouTube) of one of the top 10 viral videos of 2010 – so far.</p>
<p>The video that he was referring to is the video called <a title="Social Media Revolution" href="http://www.youtube.com/watch?v=sIFYPQjYhv8" target="_blank">Social Media Revolution</a> found on YouTube. The source information and the video can be found at <a title="Socialnomics Website" href="http://www.socialnomics.com/" target="_blank">www.socialnomics.com</a>. There are some great and hard to believe facts found within this video and even if you are not currently working on a marketing plan that involves social media, you will want to watch this video to at least understand what people are talking about around the water cooler.</p>
<p>Not only is this video jammed packed with interesting information such as iPod application downloads hit 1 billion in 9 months or that YouTube is the second largest search engine in the world, but the music that is used (Right Here, Right Now by Fat Boy Slim) helps build drama and a sense of importance regarding Social Media.</p>
<p>If you believe that social media is a fad that will soon lose traction, you might think twice after you watch Social Media Revolution.</p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.silenceit.ca%2F2010%2F02%2F24%2Fsocial-media-revolution%2F&amp;linkname=Social%20Media%20Revolution"><img src="http://www.silenceit.ca/wordpress/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.silenceit.ca/2010/02/24/social-media-revolution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Gears: An Overview</title>
		<link>http://www.silenceit.ca/2010/02/23/google-gears-an-overview/</link>
		<comments>http://www.silenceit.ca/2010/02/23/google-gears-an-overview/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 16:31:21 +0000</pubDate>
		<dc:creator>Cole Jackson</dc:creator>
				<category><![CDATA[Web Technology]]></category>
		<category><![CDATA[browser extension]]></category>
		<category><![CDATA[Google Gears]]></category>
		<category><![CDATA[JavaScript Library]]></category>

		<guid isPermaLink="false">http://www.silenceit.ca/?p=1282</guid>
		<description><![CDATA[Around two years ago, Google released a new product "Google Gears."  The main goal was to increase web applications accessibility to client's computers, therefore increasing possible functionality.]]></description>
			<content:encoded><![CDATA[<p>Around two years ago, Google released a new product &#8220;Google Gears.&#8221;  The main goal was to increase web applications accessibility to client&#8217;s computers, therefore increasing possible functionality.  In Google&#8217;s  own words:</p>
<p>“Gears is an open source project that enables more powerful web applications, by adding new features to web browsers.”</p>
<p><br class="spacer_" /></p>
<p>Google Gears is basically two parts: a browser extension that a user has to download and install; as well as a JavaScript library that a developer would include on a web page.  This allows a web developer to use extra features not normally available.</p>
<p>Below is a summary of these features:</p>
<p>Desktop</p>
<ul>
<li>A few simple desktop functions (i.e. the ability to create a desktop icon) </li>
</ul>
<p>Geo-location</p>
<ul>
<li> Wi-fi geo-location functionality; iPhone apps presently offer this feature </li>
</ul>
<p>Database</p>
<ul>
<li> A basic install of sqlite locally allows web apps to store information in a local database. This is an interesting feature, but it can add synchronization issues.  Having a single database is one of the nicer parts of coding web applications. </li>
</ul>
<p>Local Server</p>
<ul>
<li> Google Gears installs a mini server locally that again can be used by the web developer.  Combining this with the local database would allow a web application to run offline.  Gmail is an example of this, but again, it complicates the web application. </li>
</ul>
<p>Timer</p>
<ul>
<li>An advanced (and much more accurate) browser timer.</li>
</ul>
<p>Javascript Worker pool</p>
<ul>
<li>This is another interesting feature that provides a developer with the ability to run resource-intensive JavaScript in the background, separate from any of the user interface, therefore preventing extra rendering time.  However, it is somewhat limited as it has no access to the DOM and requires a separate function set to use Ajax.</li>
</ul>
<p><br class="spacer_" /></p>
<p>All and all, Google Gears has some &#8220;idea&#8221; potential, but has basically flopped.  Development seems to be stagnant and no news has been posted.  It appears as though it was a push to increase the value of their Gmail and Google Docs products that has fizzled.  Google Gears is not even available on Chrome, Google&#8217;s own browser.   It may be resurrected with the unveiling of the Google OS.  Either way, this user would like to see some of the more basic features available in new browser releases.</p>
<p><br class="spacer_" /></p>
<p>Check out my slides for more:</p>
<div id="__ss_3127261" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="Google Gears" href="http://www.slideshare.net/silenceit/google-gears">Google Gears</a></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p>
<object style="margin:0px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=googlegears-100210145752-phpapp01&amp;stripped_title=google-gears" /><param name="allowfullscreen" value="true" /><embed style="margin:0px" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=googlegears-100210145752-phpapp01&amp;stripped_title=google-gears" allowscriptaccess="always" allowfullscreen="true"></embed></object>
</p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/silenceit">SilenceIT Inc.</a>.</div>
</div>
<p><br class="spacer_" /></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.silenceit.ca%2F2010%2F02%2F23%2Fgoogle-gears-an-overview%2F&amp;linkname=Google%20Gears%3A%20An%20Overview"><img src="http://www.silenceit.ca/wordpress/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.silenceit.ca/2010/02/23/google-gears-an-overview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Français added to Golf-O-Max Gatineau website</title>
		<link>http://www.silenceit.ca/2010/02/19/francais-added-to-golf-o-max-gatineau-website/</link>
		<comments>http://www.silenceit.ca/2010/02/19/francais-added-to-golf-o-max-gatineau-website/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 20:55:37 +0000</pubDate>
		<dc:creator>Lynn</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Gatineau]]></category>
		<category><![CDATA[Golf-O-Max]]></category>
		<category><![CDATA[Quebec]]></category>
		<category><![CDATA[SilenceIT]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://www.silenceit.ca/?p=1342</guid>
		<description><![CDATA[This week, SilenceIT added Français content to the Golf-O-Max Gatineau website.]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } --></p>
<p>This week, SilenceIT added a language option to the <a title="Golf O Max Gatineau" href="http://www.golfomaxgatineau.com/" target="_blank">Golf-O-Max Gatineau</a> website. Previously, the content of the website was entirely in English, but since the location of Golf-O-Max Gatineau was located in Quebec, the addition of  Français content was necessary and a nice little feature to the website.</p>
<p>When you first visit Golf-O-Max Gatineau, Français is the default language, but a simple click to &#8216;English&#8217; located underneath the navigation bar will instantly change the website content to English.</p>
<p><br class="spacer_" /></p>
<p>Visit <a title="Golf O Max Gatineau" href="http://www.golfomaxgatineau.com/" target="_blank">Golf-O-Max Gatineau</a> to view this new feature of the website.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.silenceit.ca%2F2010%2F02%2F19%2Ffrancais-added-to-golf-o-max-gatineau-website%2F&amp;linkname=Fran%C3%A7ais%20added%20to%20Golf-O-Max%20Gatineau%20website"><img src="http://www.silenceit.ca/wordpress/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.silenceit.ca/2010/02/19/francais-added-to-golf-o-max-gatineau-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New RFPBlaster™ Release &#8211; More great procurement tools</title>
		<link>http://www.silenceit.ca/2010/02/19/new-rfpblaster%e2%84%a2-release-more-great-procurement-tools/</link>
		<comments>http://www.silenceit.ca/2010/02/19/new-rfpblaster%e2%84%a2-release-more-great-procurement-tools/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 18:56:48 +0000</pubDate>
		<dc:creator>Lynn</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[New Release]]></category>
		<category><![CDATA[RFP]]></category>
		<category><![CDATA[RFPBlaster]]></category>
		<category><![CDATA[SRScan]]></category>

		<guid isPermaLink="false">http://www.silenceit.ca/?p=1335</guid>
		<description><![CDATA[SRScan launched a new release of RFPBlaster.com with  help from the development team at SilenceIT. The new release provides extra support documents and services as well as offering a membership to reap even more benefits from the RFPBlaster.com website.]]></description>
			<content:encoded><![CDATA[<p>Yesterday, SRScan launched a new release of RFPBlaster.com with  help from the SilenceIT development team.</p>
<p><br class="spacer_" /></p>
<p>The RFPBlaster.com website sells a variety of high quality, professionally prepared RFP’s for businesses in the IT industry and with the new release, RFPBlaster™  provides extra support documents and services as well as offering a membership to reap even more benefits from the RFPBlaster.com website.</p>
<p><br class="spacer_" /></p>
<p>Here is a look at the new RFPBlaster™ website release:</p>
<p><br class="spacer_" /></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1336" title="New RFPBlaster™ website Release" src="http://www.silenceit.ca/wordpress/wp-content/uploads/2010/02/new-release-image.jpg" alt="New RFPBlaster Release" width="531" height="261" /></p>
<p>View the <a title="RFPBlaster Website" href="http://www.rfpblaster.com/" target="_blank"><span style="font-size: 13px;">RFPBlaster™</span></a> website and find out more.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.silenceit.ca%2F2010%2F02%2F19%2Fnew-rfpblaster%25e2%2584%25a2-release-more-great-procurement-tools%2F&amp;linkname=New%20RFPBlaster%E2%84%A2%20Release%20%26%238211%3B%20More%20great%20procurement%20tools"><img src="http://www.silenceit.ca/wordpress/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.silenceit.ca/2010/02/19/new-rfpblaster%e2%84%a2-release-more-great-procurement-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails</title>
		<link>http://www.silenceit.ca/2010/02/17/ruby-on-rails/</link>
		<comments>http://www.silenceit.ca/2010/02/17/ruby-on-rails/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 15:37:44 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Product Reviews]]></category>
		<category><![CDATA[Web Technology]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web Application]]></category>

		<guid isPermaLink="false">http://www.silenceit.ca/?p=1200</guid>
		<description><![CDATA[Ruby on Rails (RoR or Rails) is an open-source web application framework based from the Ruby programming language. It is a framework which utilizes convention over configuration, meaning it decreases the choices needed to be made by the developer.]]></description>
			<content:encoded><![CDATA[<p>Ruby on Rails (RoR or Rails) is an open-source web application framework based from the Ruby programming language. It is a framework which utilizes convention over configuration, meaning it decreases the choices needed to be made by the developer.</p>
<p>Rails also follows the MVC architectural pattern, allowing for developers and designers to easily work alongside one another.  Although, in most cases, the designer would still require some knowledge of the Ruby language. Continuing with patterns, Rails also sports the ActiveRecord base for use with its models, creating objects from your database fields. This provides a simple way to create, update and destroy records without dealing with SQL.</p>
<p>While Rails, when used properly, can be a very powerful tool, there are also some disputed downfalls of it. Scalability has been a topic with Rails for a while and on many occasions has been proven a negative. While I cannot provide much insight into the actual truth of this, I do think <a href="http://www.twitter.com">Twitter</a> is a prime example of a large system able to run on Rails as well as all of the <a href="http://www.37signals.com">37signals products</a>. Also if not properly managed, there have been reports of Ruby servers using copious amounts of memory due to the system&#8217;s constant runtime.</p>
<p>All of these factors considered, I believe the ease of use of Rails speaks above all. Having the potential to create web applications without starting from scratch is always a plus and having the added help Rails provides is even better. While it isn&#8217;t best suited for every project, it does offer a great view of how fun programming can be.</p>
<p><br class="spacer_" /></p>
<p>To learn more about rails and learn to build a basic blog in twenty minutes, visit <a href="http://www.rubyonrails.org">rubyonrails.org</a></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.silenceit.ca%2F2010%2F02%2F17%2Fruby-on-rails%2F&amp;linkname=Ruby%20on%20Rails"><img src="http://www.silenceit.ca/wordpress/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.silenceit.ca/2010/02/17/ruby-on-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction Database Design</title>
		<link>http://www.silenceit.ca/2010/02/09/introduction-database-design/</link>
		<comments>http://www.silenceit.ca/2010/02/09/introduction-database-design/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 13:53:04 +0000</pubDate>
		<dc:creator>Cole Jackson</dc:creator>
				<category><![CDATA[Web Technology]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[web applications]]></category>

		<guid isPermaLink="false">http://blog.silenceit.ca/?p=14</guid>
		<description><![CDATA[Any serious web developer understands the importance of a strong database design for even the simplest of web applications. This article will cover some of the basics of database design and relevant tools.]]></description>
			<content:encoded><![CDATA[<p><em>[This is  an excerpt of the Silenceit Database seminar.]</em></p>
<p><em><br />
 </em></p>
<p>Any serious web developer understands the importance of a strong database design for even the simplest of web applications.  An incorrectly structured database leads to additional complicated code, poor database engine performance and can become a complete nightmare upon updating, upgrading or maintaining a program.  This article will cover some of the basics of database design and relevant tools.</p>
<p>Database components can be broken up into two categories:</p>
<ol>
<li>Objects (Examples: people, items, model&#8230;); and</li>
<li>Relationships: &#8220;A connection between 2 objects, unique or not&#8221;</li>
</ol>
<p>Relationships can be categorized into three types:</p>
<ol>
<li> one to one (1:1) (John Doe has 1 Social insurance number);</li>
<li>one to many (1:n) (John Doe has several phone numbers); and</li>
<li>many to many (n:m)   (Several people work in various departments)</li>
</ol>
<p>These relationships usually dictate the breakdown of the database tables. Most, if not all (1:1) relationships can be represented in one table, each item becoming a column.  All (1:n) relationships require two seperate tables, one for each object.  The (n) object table always contains the id column that relates back to the (1) object table.  Finally, (n:m) relationships require a third table that connects the two objects.</p>
<p>Now, that might appear as clear as mud so lets go over a couple examples:</p>
<p>Example 1: People and Phone Numbers</p>
<p>Starting with people, they generally have one given name, one surname and one social insurance number (SIN). They may however have several phone numbers:</p>
<ul>
<li>People </li>
<li>Given Name (1:1)</li>
<li>Surname (1:1)</li>
<li>SIN (1:1)</li>
<li>Phone number (1:n)</li>
</ul>
<p>Therefore, the following table structure would be correct:</p>
<p><br class="spacer_" /></p>
<p><strong>People</strong></p>
<table style="border: 0pt solid #c0c0c0; width: 498px; height: 58px;" border="1" rules="all" align="center">
<tbody>
<tr style="text-align: center;">
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle"><span style="text-decoration: underline;">peopleId</span></td>
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">givenName</td>
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">surname</td>
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">SIN</td>
</tr>
<tr style="text-align: center;">
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">1</td>
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">Bob</td>
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">Hardy</td>
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">123456789</td>
</tr>
<tr style="text-align: center;">
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">2</td>
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">John</td>
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">Smith</td>
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">987654321</td>
</tr>
</tbody>
</table>
<table style="width: 293px;" border="1">
</table>
<table style="width: 289px;" border="1">
<caption>
<p><br class="spacer_" /></p>
</caption>
</table>
<p><strong>Phone Number</strong></p>
<table style="border: 1px solid #c0c0c0; width: 289px;" border="1" rules="all" align="center">
<tbody>
<tr style="text-align: center;">
<td><span style="text-decoration: underline;">peopleId</span></td>
<td><span style="text-decoration: underline;"> phoneNumber</span></td>
</tr>
<tr style="text-align: center;">
<td>1</td>
<td>613-783-3456</td>
</tr>
<tr style="text-align: center;">
<td>2</td>
<td>613-987-2345</td>
</tr>
<tr style="text-align: center;">
<td>1</td>
<td>819-345-7584</td>
</tr>
<tr style="text-align: center;">
<td>2</td>
<td>536-234-9879</td>
</tr>
</tbody>
</table>
<p><br class="spacer_" /></p>
<p>*underline denotes primary id.</p>
<p><br class="spacer_" /></p>
<p>Some may argue that it is much easier to have one phone number column and simply divide the numbers with some type of delimeter such as a pipe (|).  I strongly recommend against this as it presents several problems: the most important being that it cuts out the built-in database engine functionality.  It would require the programmer to write special functions to create/edit/delete that one field, reducing performance as well as introducing another piece of code to debug.</p>
<p><br class="spacer_" /></p>
<p>Example 2: Company Projects</p>
<p>This example also has two objects, but they are related via a third table due to a (n:m) relationship.  This example is meant to illustrate several employees that work on several projects.  One must keep in mind that in this case, more then one employee can work on the same project and a single employee can work on several projects.  I&#8217;ve left out the various (1:1) fields that may have been associated with each object.</p>
<p><br class="spacer_" /></p>
<table style="width: 293px;" border="1" rules="all" align="center">
</table>
<p><strong>Employees</strong></p>
<table style="width: 293px;" border="1" rules="all" align="center">
<tbody>
<tr style="text-align: center;">
<td style="border: 1px solid #d2d0d0; text-align: center;" align="center" valign="middle"><span style="text-decoration: underline;">empId</span></td>
<td style="border: 1px solid #d2d0d0; text-align: center;" align="center" valign="middle">givenName</td>
<td style="border: 1px solid #d2d0d0; text-align: center;" align="center" valign="middle">surname</td>
<td style="border: 1px solid #d2d0d0; text-align: center;" align="center" valign="middle">sin</td>
</tr>
<tr style="text-align: center;">
<td style="border: 1px solid #d2d0d0; text-align: center;" align="center" valign="middle">1</td>
<td style="border: 1px solid #d2d0d0; text-align: center;" align="center" valign="middle">Bob</td>
<td style="border: 1px solid #d2d0d0; text-align: center;" align="center" valign="middle">Hardy</td>
<td style="border: 1px solid #d2d0d0; text-align: center;" align="center" valign="middle">123456789</td>
</tr>
<tr>
<td style="border: 1px solid #d2d0d0; text-align: center;" align="center" valign="middle">2</td>
<td style="border: 1px solid #d2d0d0; text-align: center;" align="center" valign="middle">John</td>
<td style="border: 1px solid #d2d0d0; text-align: center;" align="center" valign="middle">Smith</td>
<td style="border: 1px solid #d2d0d0; text-align: center;" align="center" valign="middle">987654321</td>
</tr>
</tbody>
</table>
<table style="width: 289px;" border="1">
<caption>
<p><br class="spacer_" /></p>
</caption>
</table>
<p><br class="spacer_" /></p>
<p><strong>Projects</strong></p>
<table style="width: 289px;" border="1" rules="all" align="center">
<tbody>
<tr style="text-align: center;">
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle"><span style="text-decoration: underline;">projectId</span></td>
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle"><span style="text-decoration: underline;"> Name</span></td>
</tr>
<tr style="text-align: center;">
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">1</td>
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">Taking over the world</td>
</tr>
<tr style="text-align: center;">
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">2</td>
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">spreading gossip</td>
</tr>
<tr style="text-align: center;">
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">3</td>
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">Website</td>
</tr>
<tr style="text-align: center;">
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">4</td>
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">Stamps</td>
</tr>
</tbody>
</table>
<table style="width: 284px;" border="1" rules="all" align="center">
<caption>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
</caption>
</table>
<p><strong>EmpToProject</strong></p>
<table style="width: 284px;" border="1" rules="all" align="center">
<caption> </caption>
<tbody>
<tr style="text-align: center;">
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">empId</td>
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">ProjectId</td>
</tr>
<tr style="text-align: center;">
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">1</td>
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">1</td>
</tr>
<tr style="text-align: center;">
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">1</td>
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">3</td>
</tr>
<tr style="text-align: center;">
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">2</td>
<td style="border: 1px solid #d2d0d0;" align="center" valign="middle">2</td>
</tr>
</tbody>
</table>
<p>*Note: Some People may be more useful then others.</p>
<h2>Database Diagrams</h2>
<p>The examples illustrated were quite simple and did not require a database diagram to correctly visualize the database.  However, most system are much more complicated and require a programmer to lay the database out on paper.  There are various ways of doing this: entity relationship and uml diagrams are good examples (a quick image search will return several).  Many programs exist to complete this, but if your a MySQL user like myself, I recommend <a href="http://dev.mysql.com/workbench/" target="_blank">MySQL workbench</a>.   Once you&#8217;ve completed the diagram, you can simply export it into actual sql queries to create the database, and the reverse is also supported.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.silenceit.ca%2F2010%2F02%2F09%2Fintroduction-database-design%2F&amp;linkname=Introduction%20Database%20Design"><img src="http://www.silenceit.ca/wordpress/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.silenceit.ca/2010/02/09/introduction-database-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Font Replacement Techniques</title>
		<link>http://www.silenceit.ca/2010/02/05/font-replacement-techniques/</link>
		<comments>http://www.silenceit.ca/2010/02/05/font-replacement-techniques/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 17:21:54 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Product Reviews]]></category>
		<category><![CDATA[Web Technology]]></category>
		<category><![CDATA[Cufon]]></category>
		<category><![CDATA[Font Replacement]]></category>
		<category><![CDATA[image replacement]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[SiFR]]></category>

		<guid isPermaLink="false">http://www.silenceit.ca/?p=1181</guid>
		<description><![CDATA[Many people are frustrated when fonts do not display properly. Luckily, there are multiple solutions out there to choose from. We'll be looking at using basic image replacement, SiFR and Cufon to solve the issue.]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s the situation: You&#8217;ve just finished a website design and got it looking perfect. You want to show everyone you know, so you bring it up on every computer you can get your hands on. But for some reason the font is different on those computers. You might be have been caught without the font. It happens to a lot of people.  You find the prefect font for the job, but most people won&#8217;t have it. How do we get our visions to display the way we want, instead of throwing up Arial or Times?</p>
<p><br class="spacer_" /></p>
<p>Luckily, many people are frustrated by this problem; enough to have multiple solutions out there to choose from. We&#8217;ll be looking at using basic image replacement, SiFR, and Cufon to solve this issue.</p>
<p><br class="spacer_" /></p>
<p>Using basic image replacement, we can generate text as an image using server-side scripts. This technique has a lot of different implementations, including a Javascript piece to replace the existing text as to not completely mess up your SEO. While this option ensures the greatest compatibility, it can also greatly decrease some functionality of  certain actions, such as copy and paste, and text zoom. That&#8217;s right, use this and your text will become chiseled to your website.</p>
<p><br class="spacer_" /></p>
<p>SiFR follows a very similar approach as the image replacement, except this method uses Flash to render the fonts. This is a plus if you don&#8217;t have server-side scripting capabilities, but a downfall to all of you non-Flash users. This method also keeps links, copy and paste and text zooming intact. With SiFR, your SEO still remains intact as it&#8217;s implemented through Javascript, which adds the extra requirement.</p>
<p><br class="spacer_" /></p>
<p>On to our next contender, Cufon. This one is strong: it supports text zoom, SEO compatibility, and doesn&#8217;t require Flash. There&#8217;s still no copy and paste availability (may be remedied by the time of reading this) and requires Javascript, but nonetheless, it is a strong start. The fonts are completely stored and rendered using a proprietary Javascript engine.</p>
<p><br class="spacer_" /></p>
<p>So we still haven&#8217;t found a perfect way of using embedded fonts in our websites. If only there was some standard CSS support for it, something like @font-face. For those of you who don&#8217;t know, there is standard support which covers absolutely everything, looks great, and is not reliant on anything except the browser. Just link to the font file and poof, it works. Unfortunately, if you want to use any decent fonts, this will most likely be against your licensing for the font.</p>
<p><br class="spacer_" /></p>
<p>So until we get some licensed fonts available, we&#8217;ll have to remain with these alternatives.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.silenceit.ca%2F2010%2F02%2F05%2Ffont-replacement-techniques%2F&amp;linkname=Font%20Replacement%20Techniques"><img src="http://www.silenceit.ca/wordpress/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.silenceit.ca/2010/02/05/font-replacement-techniques/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Starting a Fire with CodeIgniter</title>
		<link>http://www.silenceit.ca/2010/01/26/starting-a-fire-with-codeigniter/</link>
		<comments>http://www.silenceit.ca/2010/01/26/starting-a-fire-with-codeigniter/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 15:00:48 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Product Reviews]]></category>
		<category><![CDATA[Web Technology]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.silenceit.ca/?p=1156</guid>
		<description><![CDATA[CodeIgniter might be a breath of fresh air. Its ease of use and broad compatibility made it a quickly rising star and with a powerful CMS to back it, it has shown proven success.]]></description>
			<content:encoded><![CDATA[<p>For any of you who have ever dealt with some of the monstrous PHP frameworks of the past, <a title="CodeIgniter Homepage" href="http://www.codeigniter.com" target="_blank">CodeIgniter</a> may be a breath of fresh air. Its ease of use and broad compatibility made it a quickly rising star and with a <a title="ExpressionEngine" href="http://www.expressionengine.com" target="_blank">powerful CMS</a> to back it, it has shown proven success.</p>
<p>The base of the framework is built around the MVC architecture pattern, which separates your application logic from your presentation, making it a strong tool for teams that have multiple people specializing in different areas.  It also works right out-of-the-box, so it&#8217;s easy to just jump in and start playing around (which I highly recommend) to discover all the little features.  <a title="CodeIgniter Video Tutorials" href="http://codeigniter.com/tutorials/" target="_blank">How-to videos</a>, including <a title="CodeIgniter - Set Up A Blog In 20 Minutes" href="http://codeigniter.com/tutorials/watch/blog/" target="_blank">setting up a blog in 20 minutes</a> are also available.</p>
<p>One of the things that first drew me to CodeIgniter was the URLs. For anyone who read my previous article on htaccess tips and tricks, you&#8217;ll have seen the portion on URL rewriting. The way CodeIgniter manages this is by appending the entire URL string to their index and sorting it there; on top of that, they layout the first two segments of the URL to a controller and action/function. It is a definite way to cleanly organize your code and your URL-structure together.</p>
<p>The easiest way to find out more about CodeIgniter is to read up on their <a title="CodeIgniter User Guide" href="http://codeigniter.com/user_guide/" target="_blank">user guide</a>; as it outlines the basics and some of the advanced plus displays and includes an impressive list of classes and helper functions.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.silenceit.ca%2F2010%2F01%2F26%2Fstarting-a-fire-with-codeigniter%2F&amp;linkname=Starting%20a%20Fire%20with%20CodeIgniter"><img src="http://www.silenceit.ca/wordpress/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.silenceit.ca/2010/01/26/starting-a-fire-with-codeigniter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Icons in website design and web applications</title>
		<link>http://www.silenceit.ca/2010/01/18/icons-in-website-design-and-web-applications/</link>
		<comments>http://www.silenceit.ca/2010/01/18/icons-in-website-design-and-web-applications/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 13:04:22 +0000</pubDate>
		<dc:creator>Cole Jackson</dc:creator>
				<category><![CDATA[Web Technology]]></category>
		<category><![CDATA[Icons]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[web applications]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://blog.silenceit.ca/?p=51</guid>
		<description><![CDATA[The use of icons has run rampant on today's website, their ability to relay information using reduced real-estate,  availability of augmented bandwidth and overall appearance are some of the major influences.  However, icons may not always be the best solution, sometimes confusing users and cluttering web pages, they may even go against the web 2.0 philosophy of less is more. ]]></description>
			<content:encoded><![CDATA[<p>The use of icons has run rampant on websites today.  Their ability to relay information using reduced real-estate,  availability of augmented bandwidth and overall appearance are some of the major influences.  However, icons may not always be the best solution.  Sometimes they are confusing to users and cluttering web pages or may even go against the web 2.0 philosophy of &#8216;less is more.&#8217;  In this article, I&#8217;ll attempt to share my opinion and some ideas on the matter; please feel free to comment.</p>
<p>First let&#8217;s establish some pros and cons for icons and then see how they apply to different web solutions:</p>
<h3>Pros:</h3>
<ol>
<li> Great real-estate to meaning ratio (a picture is worth a thousand words)</li>
<li>Help to establish a theme or look</li>
<li>Re-enforce branding</li>
<li>Can be language independent</li>
</ol>
<h3>Cons</h3>
<ol>
<li>May confuse user, or the meaning might not be apparent. (they may not think of the same thousand words&#8230;)</li>
<li>Requires more tech savy to comply with accessibility rules and remain search engine optimized.</li>
<li>Icons on websites</li>
</ol>
<p>The tendency is to use icons to brighten up a site or provide a variety of links in a small amount of web real-estate. However, designers must take into account the variety of traffic that could come across their site given the reach of the internet.  A website&#8217;s traffic may vary in culture, language and internet experience.  The meaning you&#8217;ve implied may not be apparent to your users, thus its important to choose wisely.</p>
<p>Therefore, correctly using Icons in website design takes considerable thought.  There are a very select set of icons that are somewhat standard on the web: a magnifying glass for search; a house to represent the home page; an envelope to represent contact information.  Careful attention as a developer must be taken when using these icons or any other graphical navigation.  Use titles and alt-tags to adhere to accessibility and SEO requirements.</p>
<p>Icon navigation can also be used to propagate brand and theme on a website, but always include word links along side of it or you&#8217;ll confuse your viewers.  Have a look at Google, Facebook or any other high-traffic site and you&#8217;ll notice a lack of icon navigation altogether.</p>
<p><br class="spacer_" /></p>
<h2>Icons in Web applications</h2>
<p>Using icons in a web application is much more justifiable for a variety of reasons.  Firstly, web applications are usually a little more complicated, requiring more interaction in the same amount of  space.  Users are not simply taking information in, but adding or contributing information and interacting with the page.  Therefore, real-estate is often at a higher value.   Secondly, the rate of interaction is much higher, or hopefully much higher if your application is successful, therefore, users will learn the icons navigation over time.   Icons will obviously increase the learning curve and may slightly reduce the adoption, but your application may end up being more efficient in the long run.  After all, the gains in efficiency throughout a software&#8217;s life cycle should outweigh the loss in initial learning, especially with proper documentation and training.</p>
<p>The better systems integrate this learning process/training directly into the user interface, effectively using descriptive terms along-side icons where space permits, hopefully during an objects first use, and only using the icon where space is limited.  The opensource email solution Zimbra has some good examples of this:</p>
<p>The top navigation bar is dynamically sized based on a users resolution, displaying both icons and words when size permits and shrinking to only display icons when required.<a href="http://www.silenceit.ca/wordpress/wp-content/uploads/2010/01/Picture-5.png"></a></p>
<p><a href="http://www.silenceit.ca/wordpress/wp-content/uploads/2010/01/Picture-5.png"><img class="alignleft size-full wp-image-1226" title="Zimbra toolbar long" src="http://www.silenceit.ca/wordpress/wp-content/uploads/2010/01/Picture-5.png" alt="Zimbra toolbar long" width="600" height="31" /></a></p>
<p><a href="http://www.silenceit.ca/wordpress/wp-content/uploads/2010/01/Picture-6.png"><img class="size-full wp-image-1227 alignleft" title="Zimbra toolbar short" src="http://www.silenceit.ca/wordpress/wp-content/uploads/2010/01/Picture-6.png" alt="Picture 6" width="451" height="28" /></a></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p>Developers propagated the same icons through out the iPhone application, effectively playing off the knowledge that a user had gained from using the web interface.</p>
<p><a href="http://www.silenceit.ca/wordpress/wp-content/uploads/2010/01/Picture-8.png"><img class="alignleft size-full wp-image-1229" title="Main Zimbra toolbar" src="http://www.silenceit.ca/wordpress/wp-content/uploads/2010/01/Picture-8.png" alt="Main Zimbra toolbar" width="600" height="31" /></a><br class="spacer_" /></p>
<p><a href="http://www.silenceit.ca/wordpress/wp-content/uploads/2010/01/Picture-7.png"><img class="alignleft size-full wp-image-1230" title="iphone zimbra toolbar" src="http://www.silenceit.ca/wordpress/wp-content/uploads/2010/01/Picture-7.png" alt="iphone zimbra toolbar" width="600" height="55" /></a></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p>These may not seem like a huge step, as much of this is common sense, but great programs are built one great key at a time.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.silenceit.ca%2F2010%2F01%2F18%2Ficons-in-website-design-and-web-applications%2F&amp;linkname=Icons%20in%20website%20design%20and%20web%20applications"><img src="http://www.silenceit.ca/wordpress/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.silenceit.ca/2010/01/18/icons-in-website-design-and-web-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intrusion Detection System and Snort</title>
		<link>http://www.silenceit.ca/2009/12/10/intrusion-detection-system-and-snort/</link>
		<comments>http://www.silenceit.ca/2009/12/10/intrusion-detection-system-and-snort/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 14:16:07 +0000</pubDate>
		<dc:creator>terrance</dc:creator>
				<category><![CDATA[IT Services]]></category>
		<category><![CDATA[IDS]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Snort]]></category>

		<guid isPermaLink="false">http://www.silenceit.ca/?p=1107</guid>
		<description><![CDATA[An IDS is a specialized program that knows how to parse and interpret network traffic and send alarms to interest party based on configured signatures or rules –similar to a burglar alarm. Snort is an opensource IDS.]]></description>
			<content:encoded><![CDATA[<p>Intrusion Detection Systems and Snort</p>
<p>An IDS is a specialized program that knows how to parse and interpret network traffic and send alarms to interest party based on configured signatures or rules –similar to a burglar alarm. IDSes provide the security administrator with a window into the inner workings of the network -the ability to analyze the internal network traffic and to determine any vulnerabilities before a major system crash or database corrupt.</p>
<p>The strengths of IDSes are their capability to continuously watch packets on your network, understand them in binary, and alert you when something suspicious that matches a signature or rule. These rules or signatures need to be updated regularly in order to rely on any IDSes systems.</p>
<p><br class="spacer_" /></p>
<p>Snort is an opensource IDS and implemented by many organization around the world. It works on multiple OSes, heavily supported by community. Snort’s architecture consists of four basic components.</p>
<p><br class="spacer_" /></p>
<p>-          The Sniffer</p>
<p>-          The Preprocessor</p>
<p>-          The Detection Engine</p>
<p>-          The Output</p>
<p><br class="spacer_" /></p>
<p>The packet sniffer in Snort used to eavesdrop on data network traffic.  The preprocessor reads the packets which were captured by the sniffer, and send those packets to appropriate plug-in. A plugins could be an FTP plug-in. These plug-ins check for a certain type of behavior from the packets. Once the packet is determined to have a particular type of behaviour, it is then sent to the detection engine. The detection engine takes the data that comes from the plug-ins and is checked against a set of rules. These rules can be written using language like Perl. If these rules matches against the packet then an alert can be sent to  alert processor where it logs the details and/or send an alert via email to interest parties.</p>
<p><br class="spacer_" /></p>
<p>With any IDSes, there will be some false positives and false negatives. False positives are when Snort gives you an alert when it should not which means a false alarm. On the opposite end, you can get false negatives. In other words, someone compromises a Snort- monitored system and your Snort system doesn’t detect it. It is a security administrator job on how to tune the sensor in order to avoid false positives and false negatives.</p>
<p><br class="spacer_" /></p>
<p>Snort can downloaded  from <a title="snort" href="http://www.snort.org" target="_blank">www.snort.org</a></p>
<p><br class="spacer_" /></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.silenceit.ca%2F2009%2F12%2F10%2Fintrusion-detection-system-and-snort%2F&amp;linkname=Intrusion%20Detection%20System%20and%20Snort"><img src="http://www.silenceit.ca/wordpress/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.silenceit.ca/2009/12/10/intrusion-detection-system-and-snort/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript memory leaks</title>
		<link>http://www.silenceit.ca/2009/12/09/javascript-memory-leaks/</link>
		<comments>http://www.silenceit.ca/2009/12/09/javascript-memory-leaks/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 14:14:15 +0000</pubDate>
		<dc:creator>chris</dc:creator>
				<category><![CDATA[Web Technology]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[memory leak]]></category>

		<guid isPermaLink="false">http://www.silenceit.ca/?p=849</guid>
		<description><![CDATA[Although Javascript is a scripting language, a type of programming language where little details like memory management are generally taken care of for you, it still suffers from some memory leak issues.]]></description>
			<content:encoded><![CDATA[<p>First off, for those who want a quick summary, the slides from the <a href="http://www.slideshare.net/silenceit/js-leaks" target="_blank">Javascript memory leaks seminar</a> are available.</p>
<p>Main points:</p>
<ul>
<li>What a memory leak is</li>
<li>How memory leaks occur in Javascript</li>
<li>How to avoid memory leaks</li>
<li>Effects of memory leaks</li>
<li>How much browsers are affected by leaks</li>
<li>Security ramifications of leaks</li>
<li>Detection of leaks</li>
<li>What is a memory leak?</li>
</ul>
<p>Basically, a memory leak is when a program does not release memory it requested. Usually this is occurs because the programmer forgot to tell the program to &#8220;let go of&#8221; (free) the memory because it was no longer needed. A (loose) analogy to this could be like renting a movie and not returning it (because you forgot to) until you get a call from the rental company that you have to return the movie.  While you have that copy, nobody else can rent it, and since you&#8217;ve already watched it and aren&#8217;t using it anymore, it should be returned.</p>
<p>In compiled languages like C this is not a hard mistake to make, as memory management often has to be handled by the programmer.  However, in Javascript, memory management is mostly taken care of for you.  You just have to watch out for memory that cannot be automatically cleaned up for you (like the global scope).</p>
<h3>How can memory leak in Javascript?</h3>
<ol>
<li>In Javascript, misuse or accidental use of global scope (e.g. some anonymous functions, undeclared variables) can cause a memory leak.  The anonymous functions are mentioned below. </li>
<li>As for undeclared variables, something you may not know about Javascript is that if you do not explicitly declare a variable in a function (e.g. var foo), <em>it will go into the global scope instead of the function scope</em>. This can drastically mess up your memory usage but can also cause unpredictable issues with your code, too.</li>
<li>Closures with DOM elements / event handlers:  Although this is <em>mostly</em> an issue with Internet Explorer&#8217;s way of handling these, closures that work with DOM elements or event handlers will tend to hang around in memory and since you have no pointer to these closures, you can never free that memory.</li>
<li>Event handlers:  Again, this is mostly a problem with IE&#8217;s way of handling DOM elements.  While the Javascript engine is intelligent and can recognize what object points to what (as is being pointed to), the HTML engine only keeps a <em>count</em> of references.  You may already see the problem here: the Javascript event handler is ready to be freed from memory, but it is unable to because it knows the HTML engine&#8217;s element is pointing to it, while the element is not ready to be freed because it knows it has a reference to something &#8211; but not what. Because of this, <em>even once the web page is gone, that pair of objects remains in memory</em>. This is quite plainly a leak, and is quite annoying because it affects all web pages which use these, not just web applications (since most other leaks can be solved just by browsing to another page, but web applications tend to be held open for long periods of time). </li>
<li>The best way to deal with this situation is twofold:
<ol>
<li>To have a an object which keeps track of where handlers have been attached and unattach the handlers once the elements are no longer in the HTML.</li>
<li>To have a handler onunload() to go through the elements where handlers have been attached and unattach them.</li>
<li>Or, as an alternative to the aforementioned two, only use a global handler on the document body and delegate to listeners yourself.  That way you only have one listener to unattach onunload(); but it may be more or lesswork.</li>
</ol>
</li>
<li>Circular references: As Javascript engines improve, this is becoming less and less of a problem.  In fact, the only browsers who were not able to deal with these are IE6 and IE7.  IE8 seems to deal with it to some degree, so only a quick review is necessary. </li>
<li>A circular reference is when one object refers to another and the latter object refers to the first in one way or another.  An example of this is how trees tend to do this.  You&#8217;ll usually have a reference to the previous node and the next node in the same object, and it&#8217;s adjacent nodes will do the same.  Because neither object is ready to be freed (they know they&#8217;re still being linked to), they do not let go of their links to the other object(s), and thus stay in memory.</li>
</ol>
<h3>How to fix memory usage</h3>
<ol>
<li>Use the global scope only when appropriate. Anonymous functions are okay but they can stick around in some situations and then you have no way to free them even if you wanted to.</li>
<li>Always declare variables in functions when or before you use them.  Ideally, this would be done at the start of the function, but you can do it inline too (e.g. <code>for (var i = 0; i &lt; somelogic(); i++)</code>).</li>
<li>Use a collector to keep references to elements with event handlers and avoid closures with event handlers (and functions that attach event handlers) OR use a global event handler that delegates to listeners.</li>
<li>Avoid dealing with DOM elements in closures OR remember to null them afterward.</li>
<li>Detach circular references when you are done with them. (Try to avoid them altogether, really.)</li>
</ol>
<h3>But are leaks really an issue? What do they do?</h3>
<ul>
<li>Leaks will slow down the browser as the it consumes more and more memory.</li>
<li>Leaks will slow down the operating system and other processes as the bigger process is given more room.</li>
<li>Some browsers handle leaks better than others but that does not mean you can be lazy.  IE8 uses whole separate processes per tab (at least in Vista) therefore all of the memory is reclaimed when a tab is closed.  Similarly, Chrome uses a virtual separate process (or a thread) per tab, so all the memory is (presumably) reclaimed when a tab is closed).  Usually the “extra load” will continue until closed, so this information <em><strong>does not</strong></em> only apply to web applications!</li>
</ul>
<h3>How bad is the leak situation?</h3>
<p>The leak situation has improved quite a bit recently, but until Internet Explorer improves its Javascript engine, this cannot be avoided.  The <a href="http://www.slideshare.net/silenceit/js-leaks" target="_blank">Javascript memory leaks seminar slides</a> have graphs of results of a few tests.</p>
<h3>How can I know if my web page/application leaks?</h3>
<p>You can use the <a href="http://blogs.msdn.com/gpde/pages/javascript-memory-leak-detector-v2.aspx" target="_blank">Internet Explorer JavaScript Memory Leak Detector (v2)</a>, <a href="http://www.mozilla.org/performance/tools.html" target="_blank">Mozilla&#8217;s Performance Tools</a>, or some paid solutions like the <a href="http://www.softwareverify.com/javascript/memory/feature.html" target="_blank">JavaScript Memory Validator</a>.</p>
<h3>References / More information</h3>
<ul>
<li>IBM&#8217;s <a href="http://www.ibm.com/developerworks/web/library/wa-memleak/" target="_blank">Memory leak patterns in JavaScript</a> article</li>
<li>Microsoft&#8217;s <a href="http://msdn.microsoft.com/en-us/library/bb250448(VS.85).aspx" target="_blank">Understanding and Solving Internet Explorer Leak Patterns</a> MSDN article</li>
<li>Too many forum and mailing list discussion threads to mention.</li>
</ul>
<p><br class="spacer_" /></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.silenceit.ca%2F2009%2F12%2F09%2Fjavascript-memory-leaks%2F&amp;linkname=Javascript%20memory%20leaks"><img src="http://www.silenceit.ca/wordpress/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.silenceit.ca/2009/12/09/javascript-memory-leaks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SilenceIT: Soaring With New Cloud Infrastructure</title>
		<link>http://www.silenceit.ca/2009/12/08/silenceit-soaring-with-new-cloud-infrastructure/</link>
		<comments>http://www.silenceit.ca/2009/12/08/silenceit-soaring-with-new-cloud-infrastructure/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 13:30:32 +0000</pubDate>
		<dc:creator>jascha</dc:creator>
				<category><![CDATA[IT Services]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Cloud computing]]></category>
		<category><![CDATA[JeOS]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">http://www.silenceit.ca/?p=914</guid>
		<description><![CDATA[SilenceIT implements and manages it's very own virtualization cloud using cutting edge technology such as Citrix XenServer and Openfiler storage.]]></description>
			<content:encoded><![CDATA[<p>Cloud computing is quickly becoming a standard practice among many Information Technology firms. Recently SilenceIT has moved to a Cloud infrastructure, to lower energy costs, increase server performance and save valuable server rack space. Where many servers and systems once resided, only a fraction of the hardware remains, yet it is still able to handle all of the services and jobs the previous hardware did, as well as allowing room for future growth. These new Cloud servers are called “Hypervisors.” These systems create virtualized hardware containers, allowing us to install and maintain many types of servers from Windows to Linux and everything in between. Having the ability to run several operating systems, of different types, all on the same hardware, at the same time, is quite a powerful concept. Citrix XenServer and OpenFiler make our cloud infrastructure possible and have been rock-solid and perform wonderfully.</p>
<p>Citrix XenServer is an Enterprise class, cloud proven and FREE Hypervisor software solution. XenSever is based upon an industry standard virtualization platform called Xen. Citrix packages XenServer with a terrific management program called XenCenter that allows you to install, update, and manage your cloud servers. Running virtual machines can be seamlessly moved between 2 Hypervisors with no downtime whatsoever. This allows for easy maintenance of the Hypervisor machines. If one of the Hypervisors needs to be brought down for maintenance, the virtual machines can be migrated to another one for the duration of the down-time, then migrated back once it is complete. This featured is offered at no cost with Citrix XenServer. XenServer uses “Resilient distributed management architecture.” Each of the Hypervisor machines has enough information to run the entire cloud independently. If one Hypervisor fails, the other Hypervisors in the Cloud are able to take over without any special configuration changes. Storage for the virtual machines is located on a shared repository running on OpenFiler. Each Hypervisor has complete access to the entire catalog of virtual machines in the cloud. For more information on Citrix XenServer visit: <a title="http://www.citrix.com" href="http://www.citrix.com" target="_blank">http://www.citrix.com</a></p>
<p>OpenFiler is an open-source network storage appliance with a powerful set of features and a robust web GUI. SilenceIT uses OpenFiler as a shared storage repository for our Cloud Hypervisors. OpenFilers “10 minute installation process,” ease of use, and fantastic feature set made it an obvious choice for SilenceIT’s Cloud Infrastructure. For more information on OpenFiler visit: <a title="http://www.openfiler.com" href="http://www.openfiler.com" target="_blank">http://www.openfiler.com</a></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.silenceit.ca%2F2009%2F12%2F08%2Fsilenceit-soaring-with-new-cloud-infrastructure%2F&amp;linkname=SilenceIT%3A%20Soaring%20With%20New%20Cloud%20Infrastructure"><img src="http://www.silenceit.ca/wordpress/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.silenceit.ca/2009/12/08/silenceit-soaring-with-new-cloud-infrastructure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.htaccess: Tips and Tricks</title>
		<link>http://www.silenceit.ca/2009/12/07/htaccess-tips-and-tricks/</link>
		<comments>http://www.silenceit.ca/2009/12/07/htaccess-tips-and-tricks/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 14:10:17 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Web Technology]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://blog.silenceit.ca/?p=53</guid>
		<description><![CDATA[When configuring a web server for different applications, the use of .htaccess files can help with specific functionality which could otherwise be quite a pain.]]></description>
			<content:encoded><![CDATA[<p>When configuring a web server for different applications, the use of .htaccess files can help with specific functionality which could otherwise be quite a pain. While this could potentially make your server inaccessible when used incorrectly, simply removing the file will restore normal functionality.</p>
<p>Here we&#8217;ll cover these basics, mostly rewrite techniques:</p>
<ul>
<li>forcing the &#8216;www&#8217; to show in the URL</li>
<li>redirecting a website through a sub-directory</li>
<li>URL rewriting for &#8220;clean URLs&#8221;</li>
</ul>
<h2>Forcing the &#8216;www&#8217; to show in the URL</h2>
<p>Why would we want to do this? Many sites that use Javascript might have run into this issue: You&#8217;re trying to make an AJAX request from your application while not at the &#8220;www version&#8221;, but the request is going to the &#8220;www version&#8221;. All of a sudden you have a Javascript error detailing that the cross-site interaction wasn&#8217;t allowed.</p>
<p>This is not always the case for doing this, but it is one practical reason. Sometimes you can&#8217;t avoid having this sort of cross-site interaction due to prior limitations, so you resolve it by forcing the &#8216;www&#8217;.</p>
<p>Code Example:<br />
 <code>Options +FollowSymlinks<br />
 RewriteEngine on<br />
 RewriteCond %{HTTP_HOST} ^example.com [NC] RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]<br />
 </code></p>
<p>This creates a permanent redirect which will let search engines know that the page should be using the &#8216;www&#8217; version.</p>
<h2>Redirecting a website through a sub-directory</h2>
<p>Sometimes having multiple applications on a web server can get a bit hectic. You might even have multiple domains pointing to one application with different configurations. In this case separating the applications into their own directories seems like a good idea, but how to we get the URL to ignore the sub-directory?<br />
 <code>Options +FollowSymlinks<br />
 RewriteEngine on<br />
 RewriteCond %{HTTP_HOST} example\.com<br />
 RewriteCond %{REQUEST_URI} !^(/sub-directory) RewriteRule ^(.*)$ sub-directory/$1 [L]<br />
 </code><br />
 This will rewrite every request going to example.com to the sub-directory, so while the user sees the normal URL, the server is actually getting the file from the sub-directory, neato huh?</p>
<h2>URL rewriting for &#8220;clean URLs&#8221;</h2>
<p>Everyone wants the &#8220;clean URL&#8221; look now-a-days, why trouble yourself with reading query strings, when the URL could make actual sense? This technique is also known as SEO-friendly URLs.</p>
<p>But what if your application uses query strings? Do you have to miss out or rewrite your application? No, you don&#8217;t.</p>
<p>You can use .htaccess with a series of rules to accomplish the same thing behind the scenes, although it become increasingly difficult if your application doesn&#8217;t already follow a query pattern.<br />
 <code>Options +FollowSymlinks<br />
 RewriteEngine on<br />
 RewriteRule ^example/([^/]+)/([^/]+) /example.php?page=$1&amp;action=$2 [NC]</code><br />
 This will cause your site to rewrite something like &#8220;website.com/example/news/save&#8221; to &#8220;website.com/example.php?page=news&amp;action=save&#8221; in the background. More complex rewrites could be made to have this work with specific applications.</p>
<p><span style="font-weight: normal;font-size: 13px">That covers some basic .htaccess tips and tricks, hope you&#8217;ve enjoyed.</span></p>
<p><span style="font-weight: normal;font-size: 13px">References:</span></p>
<p><a href="http://corz.org/serv/tricks/htaccess.php" target="_blank">http://corz.org/serv/tricks/htaccess.php</a></p>
<p><span style="font-weight: normal;font-size: 13px"><a href="http://perishablepress.com/press/2006/01/10/stupid-htaccess-tricks/" target="_blank">http://perishablepress.com/press/2006/01/10/stupid-htaccess-tricks/</a></span></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.silenceit.ca%2F2009%2F12%2F07%2Fhtaccess-tips-and-tricks%2F&amp;linkname=.htaccess%3A%20Tips%20and%20Tricks"><img src="http://www.silenceit.ca/wordpress/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.silenceit.ca/2009/12/07/htaccess-tips-and-tricks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is a widget?</title>
		<link>http://www.silenceit.ca/2009/12/02/what-is-a-widget/</link>
		<comments>http://www.silenceit.ca/2009/12/02/what-is-a-widget/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 13:51:01 +0000</pubDate>
		<dc:creator>Cole Jackson</dc:creator>
				<category><![CDATA[Web Technology]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[igoogle]]></category>
		<category><![CDATA[widgets]]></category>

		<guid isPermaLink="false">http://blog.silenceit.ca/?p=50</guid>
		<description><![CDATA[Widgets are an internet trend that is amalgamating sites together, providing companies with the ability to provide a useful tool or element that others can add to their site.]]></description>
			<content:encoded><![CDATA[<p>A customer once asked me: &#8220;What is a widget?&#8221;  After a few minutes of struggling to explain, I decided it might a good subject for a seminar.</p>
<p>Wikipedia offers the following etymology for the word widget: &#8220;Blend of window and gadget, coined by George S. Kaufman in his play ‘Beggar on Horseback’ (1924);” In summation, &#8220;any mini application that can be embedded into a second application or platform&#8221;.</p>
<p>There are several types of platforms: there are various web platforms such <em>iGoogle</em> and <em>MyYahoo! Facebook</em> and <em>Friendster</em> are examples of social web platforms and examples of desktop platforms are <em>Google</em> desktop and <em>Apple</em> desktop.  The <em>iPhone</em> could also be considered a platform.</p>
<p>And that all kind of makes sense, but what are they actually? Are they of any value?  Does your company really need to publish one?  They are not only important, but a crucial stepping stone in the evolution of the internet, maybe even the beginning of <em>Web 3.0</em></p>
<p>It was not that long ago that the internet, at least to most users, was nothing more then a slew of webpages scattered across the world.  If you wanted to know the weather, you went to <em>weathernetwork.com</em>.  If you wanted to find the latest hockey news, you visited <em>nhl.com</em>.  As time has gone by, <em>Google</em>, a search engine, allows you to find exactly what you are actually looking for.  <em>Web 2.0</em> technologies allow websites to be more than just word documents published to the world.</p>
<p>&#8220;The times, they are a changing&#8221; is a timeless lyric, for the web is slowly transforming into a sea of platforms of all types.  <em>Facebook</em> is one big platform for anyone to publish their life and stay connected to others.  <em>Google</em> and <em>MyYahoo</em> allow you to configure your own personal homepage with only the information you want to see.  This is where widgets come in.</p>
<p>Why would a user want to jump around from page to page to find all of the information they want when <em>Google</em> can place all of that information on one page.  There are <em>Google</em> widgets for the weather and the NHL.  You can even sign up to place these widgets on your own page.</p>
<p>Does everyone need a widget?  Not necessarily.  Most businesses or personal information site would gain little from having a widget.  After all, why would anyone want anything from <a title="SilenceIT" href="http://silenceit.ca" target="_blank"><em>SilenceIT.ca</em></a> on their <em>Facebook</em> homepage.  Anyone who offers an online service should pay attention because the days of offering the use of an online currency calculator in exchange for <em>Google</em> advertising are coming to an end and if you do not get with the times, you&#8217;ll be left behind.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.silenceit.ca%2F2009%2F12%2F02%2Fwhat-is-a-widget%2F&amp;linkname=What%20is%20a%20widget%3F"><img src="http://www.silenceit.ca/wordpress/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.silenceit.ca/2009/12/02/what-is-a-widget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bing Webmaster</title>
		<link>http://www.silenceit.ca/2009/12/01/bing-webmaster/</link>
		<comments>http://www.silenceit.ca/2009/12/01/bing-webmaster/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 19:40:42 +0000</pubDate>
		<dc:creator>Lynn</dc:creator>
				<category><![CDATA[Product Reviews]]></category>
		<category><![CDATA[Web Technology]]></category>
		<category><![CDATA[Bing]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Webmaster Center]]></category>
		<category><![CDATA[Webmaster Tools]]></category>

		<guid isPermaLink="false">http://www.silenceit.ca/?p=1071</guid>
		<description><![CDATA[Reviewing some of the features, highlights and short-comings of the Bing Webmaster Center.]]></description>
			<content:encoded><![CDATA[<p>Bing, formerly Live Search and MSN Search, is the current search engine from Microsoft. Bing launched on May 28th, 2009 and was fully online June 3, 2009. On July 29th, Microsoft and Yahoo! joined forces and Bing will now power Yahoo! Search.</p>
<p>Other than just being a search engine, Bing has their Webmaster Center. Unfortunately, most of the features are in Beta and the ones that are functional are only available to U.S. Participants.  Some of the features that Bing Webmaster Center has to offer are the Webmaster tools that help enhance your site which will then drive more traffic to your website and it provides technical support.</p>
<p>One great thing about Bing Webmaster Center is the Map feature. Bing Maps use either Silverlight or Ajax and the map feature works similar to Google maps, however, extracting the code is much simpler. A great learning tool can be found at <a href="http://www.microsoft.com/maps/isdk/ajax/" target="_blank">http://www.microsoft.com/maps/isdk/ajax/</a></p>
<p>Bing Webmaster has a developer center allows you to retrieve information from the Internet, improve and enhance search requests and results, find location-specific information and translate terms and blocks of text as well as many other things.</p>
<p>Webmaster’s Community has forums and blogs to help find any answers to any of the webmaster tools, great discussions about SEO, and tons of information about how their search engine is suppose to work. The negative aspect of this forum is that there are no flaws or errors mentioned about their product and in the end feels more like a sales pitch than an open discussion.</p>
<p>The Webmaster Tools allow you to submit your sitemap, view statistics as well as troubleshoot the crawling and indexing of your site. There are 7 tools that you can use to help drive traffic to your site. Each tool is pretty self-explanatory and some steps are unnecessarily repeated.</p>
<p>The 7 categories are:</p>
<ul>
<li> <strong>Summary</strong> – Provides indexing and crawling information as well at your top 5 page scores.</li>
<li><strong>Profile</strong>- gives you the option to enter in your website&#8217;s sitemap to help Bing crawl and index your website.</li>
<li><strong>Crawl Issues</strong> – If for some reason you have a crawl issue, you can use the crawl issues tool to see where the problem might have occurred while crawling and indexing your website.</li>
<li><strong>Backlinks</strong> – Provides a list of URLs that link back to your site.</li>
<li><strong>Outbound Links</strong> – Provides you with a list of URLs leading to other websites on your site.</li>
<li><strong>Keywords</strong> – Use the keywords tool to evaluate how your website performs against search specific keywords or terms.</li>
<li><strong>Sitemaps</strong> – Allows you to provide your sitemap to Webmaster Center to help index your site (already included in the Profile tool)</li>
</ul>
<p>After reviewing the Bing Webmaster Center and all the tools that they have to offer, they seem to fall short on most aspects. The maps section is really well executed and the Webmaster tools help check any crawl issues you might have, but as for any extra tools that can help with driving traffic to your website, you can use any analytics tool.</p>
<p>Perhaps, when other features are available outside of the States, there will be more to offer in the area of SEO, but until then, Bing Webmaster Center doesn’t really add any value to your website.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.silenceit.ca%2F2009%2F12%2F01%2Fbing-webmaster%2F&amp;linkname=Bing%20Webmaster"><img src="http://www.silenceit.ca/wordpress/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.silenceit.ca/2009/12/01/bing-webmaster/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Golf O Max Bar du Parc Website Launched!</title>
		<link>http://www.silenceit.ca/2009/11/25/golf-o-max-bar-du-parc-website-launched/</link>
		<comments>http://www.silenceit.ca/2009/11/25/golf-o-max-bar-du-parc-website-launched/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 20:12:21 +0000</pubDate>
		<dc:creator>Lynn</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[brasserie]]></category>
		<category><![CDATA[Full Swing]]></category>
		<category><![CDATA[Golf O Max Bar du Parc]]></category>
		<category><![CDATA[golf simulators]]></category>
		<category><![CDATA[SilenceIT]]></category>

		<guid isPermaLink="false">http://www.silenceit.ca/?p=1098</guid>
		<description><![CDATA[SilenceIT launched the new website Golf O Max Bar du Parc. Golf O Max Bar du Parc is a fully licensed brasserie with 2 state-of-the-art Full Swing indoor golf simulators. ]]></description>
			<content:encoded><![CDATA[<p>SilenceIT launched the new website for Golf O Max Bar du Parc November 25th, 2009.  Golf O Max Bar du Parc is a fully licensed brasserie with 2 state-of-the-art Full Swing indoor golf simulators. Their simulators are great for all skills levels &#8211; men and women. Golf O Max Bar du Parc have video poker and they even offer free use of the pools tables.</p>
<p><br class="spacer_" /></p>
<p><img class="aligncenter size-full wp-image-1099" title="Golf O Max Website" src="http://www.silenceit.ca/wordpress/wp-content/uploads/2009/11/screenshot.jpg" alt="Golf O Max Website" width="500" height="362" /></p>
<p><br class="spacer_" /></p>
<p>With easy navigation, the Golf O Max Bar du Parc website provides all the necessary information to get you ready for a great round of golf with friends and enjoy some great food and drink. You can even win great prizes while improving your skills.</p>
<p><br class="spacer_" /></p>
<p>View the <a title="Golf O Max Bar du Parc" href="http://www.golfomaxgatineau.com" target="_blank">Golf O Max Bar du Parc</a> website.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.silenceit.ca%2F2009%2F11%2F25%2Fgolf-o-max-bar-du-parc-website-launched%2F&amp;linkname=Golf%20O%20Max%20Bar%20du%20Parc%20Website%20Launched%21"><img src="http://www.silenceit.ca/wordpress/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.silenceit.ca/2009/11/25/golf-o-max-bar-du-parc-website-launched/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SilenceIT implements new project management software</title>
		<link>http://www.silenceit.ca/2009/11/11/new-project-management-software/</link>
		<comments>http://www.silenceit.ca/2009/11/11/new-project-management-software/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 15:15:06 +0000</pubDate>
		<dc:creator>Cole Jackson</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Customer Service]]></category>
		<category><![CDATA[Project Management Software]]></category>
		<category><![CDATA[SilenceIT]]></category>

		<guid isPermaLink="false">http://www.silenceit.ca/?p=906</guid>
		<description><![CDATA[Several years of experience managing web application design and IT projects has provided us with great insight into what elements make a project successful.  Although there are so many components to success, we&#8217;ve found that a high level of communication across all team members and customers results in a far superior product with shorter turn [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: small;">Several years of experience managing web application design and IT projects has provided us with great insight into what elements make a project successful.  Although there are so many components to success, we&#8217;ve found that a high level of communication across all team members and customers results in a far superior product with shorter turn around.  When it came time for SilenceIT to update its project management system, we placed communication and collaboration at the top of our list of required features. </span></p>
<p><span style="font-size: small;">Our new system will help us provide an even higher level of customer service.  Some of the features include:</span></p>
<ul>
<li><span style="font-size: small;">Collaboration between clients, contractors, suppliers and everybody else we are working with.</span></li>
</ul>
<ul>
<li><span style="font-size: small;">Personalized support email address.</span></li>
<li><span style="font-size: small;">Project wiki and discussions.</span></li>
<li><span style="font-size: small;">Integrated file share for all team members.</span></li>
<li><span style="font-size: small;">Time and task tracking.</span></li>
<li><span style="font-size: small;">Real time project updates available online, via email and RSS feed.</span></li>
<li><span style="font-size: small;">Project calendar.</span></li>
<li><span style="font-size: small;">Project estimates and approvals.</span></li>
<li><span style="font-size: small;">Integration to customer software to offer direct support to your clients.</span></li>
<li><span style="font-size: small;">Meeting can be recorded for easy access.</span></li>
</ul>
<ul>
</ul>
<p><span style="font-size: small;">At SilenceIT, we really believe that this is another step forward in offering a much stronger suite of services to all our clients.   And best of all, it&#8217;s a web application running on our own cloud, thus it&#8217;s right in line with our view that hosted solutions are really the key to business foundations.  If we can do it for ourselves, we can do it for you.</span></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.silenceit.ca%2F2009%2F11%2F11%2Fnew-project-management-software%2F&amp;linkname=SilenceIT%20implements%20new%20project%20management%20software"><img src="http://www.silenceit.ca/wordpress/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.silenceit.ca/2009/11/11/new-project-management-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
