<?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/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">

<channel>
	<title>HidayahTech &#187; Design</title>
	<atom:link href="http://www.basilgohar.com/blog/category/development/design/feed" rel="self" type="application/rss+xml" />
	<link>http://www.basilgohar.com/blog</link>
	<description>Technology, Development, &#38; Interesting Stuph</description>
	<lastBuildDate>Wed, 04 Aug 2010 17:07:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/us/</creativeCommons:license>		<item>
		<title>rTorrent let me down :(</title>
		<link>http://www.basilgohar.com/blog/2008/11/25/rtorrent-let-me-down</link>
		<comments>http://www.basilgohar.com/blog/2008/11/25/rtorrent-let-me-down#comments</comments>
		<pubDate>Wed, 26 Nov 2008 05:06:37 +0000</pubDate>
		<dc:creator>Basil</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.basilgohar.com/blog/?p=280</guid>
		<description><![CDATA[For seeding the Fedora 10 release, I am using rTorrent on albaqarah &#38; aalimraan (my two fastest servers), but I had to fall back to using the standard bittorrent client on alfaatihah because rTorrent isn&#8217;t available for its platform (RHEL3) &#8211; at least, not through yum nor up2date.  rTorrent is great, in general, but it [...]]]></description>
			<content:encoded><![CDATA[<p>For seeding the Fedora 10 release, I am using <a title="rTorrent website" href="http://libtorrent.rakshasa.no/">rTorrent</a> on albaqarah &amp; aalimraan (my two fastest servers), but I had to fall back to using the standard bittorrent client on alfaatihah because rTorrent isn&#8217;t available for its platform (RHEL3) &#8211; at least, not through yum nor up2date.  rTorrent is great, in general, but it really let me down when I was trying to seed on aalimraan, because it kept crashing.</p>
<p><span id="more-280"></span>I had really wanted to seed the initial few hours of the release on my new server because of its great amount of network bandwidth, but that&#8217;s an opportunity I lost because of a crash like this:</p>
<blockquote><p><code>Caught Segmentation fault, dumping stack: KB] [Port: 6924]                                                                                                                                                                                                                   [U 76/0] [D 0/0] [H 0/32] [S 3/86/768] [F 4/128]<br />
0 rtorrent [0x41ea5d]<br />
1 rtorrent [0x421488]<br />
2 /lib64/libc.so.6 [0x3a76a322a0]<br />
3 /usr/lib64/libtorrent.so.10 [0x3a78e4caf4]<br />
4 /usr/lib64/libtorrent.so.10 [0x3a78e50683]<br />
5 /usr/lib64/libtorrent.so.10 [0x3a78e4f704]<br />
6 /usr/lib64/libtorrent.so.10(_ZN7torrent9PollEPoll7performEv+0x5d) [0x3a78e24d55]<br />
7 rtorrent [0x440379]<br />
8 rtorrent [0x41f645]<br />
9 /lib64/libc.so.6(__libc_start_main+0xfa) [0x3a76a1e32a]<br />
10 rtorrent(_ZNSt8ios_base4InitD1Ev+0x49) [0x40cc79]<br />
Aborted</code></p></blockquote>
<p>that kept happening.  Up to this point, I have <em>never</em> had a problem with rTorrent, <em>alhamdulillaah</em>, but still &#8211; that one time you <em>really</em> need it, and it goes?  The worst part is, when searching the problems I was having, it was due to memory consumption.  4GB is not enough to seed a couple of hundred peers?  I could seed almost 100 on my older hardware with only 1GB of RAM, and I never had the mainline client (which is written in Python) give me such problems.  rTorrent is written in C++, which I thought would help with these kinds of cases.  Shouldn&#8217;t, theoretically, a compiled application require less memory than one running within a virtual machine environment &#8212; maybe my understanding on computer science is lacking, but I always thought that was the prevailing wisdom.</p>
<p>Anyway, I didn&#8217;t want to turn this into a rant about rTorrent, but the emotions are strong enough to drive me to at least say <em>something</em>, especially because the crash happened during (my) nighttime, so I couldn&#8217;t restore the seeding until after I woke up and got back from <em>fajr</em> prayer.</p>
<p>If anyone has any recommendations on how to avoid the problem I had with rTorrent or on a better, more stable client that can handle such massive transfers and load, please let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.basilgohar.com/blog/2008/11/25/rtorrent-let-me-down/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blog almost certainly 100% compliant now</title>
		<link>http://www.basilgohar.com/blog/2008/11/25/blog-almost-certainly-100-compliant-now</link>
		<comments>http://www.basilgohar.com/blog/2008/11/25/blog-almost-certainly-100-compliant-now#comments</comments>
		<pubDate>Tue, 25 Nov 2008 12:48:48 +0000</pubDate>
		<dc:creator>Basil</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[X/HTML]]></category>

		<guid isPermaLink="false">http://www.basilgohar.com/blog/?p=277</guid>
		<description><![CDATA[Bismillaahir Rahmaanir Raheem
Alhamdulillaah, after loading up all blog-post pages (i.e., going to the bottom of each page and clicking for the next page), I&#8217;ve fixed all old posts that had HTML errors (according to the HTML Validator Firefox plugin).
This actually is a relief for me because amongst the major reasons I enjoy using WordPress is [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><em>Bismillaahir Rahmaanir Raheem</em></p>
<p style="text-align: left;"><em>Alhamdulillaah</em>, after loading up all blog-post pages (i.e., going to the bottom of each page and clicking for the next page), I&#8217;ve fixed all old posts that had HTML errors (according to the HTML Validator Firefox plugin).</p>
<p style="text-align: left;">This actually is a relief for me because amongst the major reasons I enjoy using WordPress is the work the developers put into it to make it a clean &amp; standards-compliant application.  I&#8217;ve avoided themes that are not.  So, <em>alhamdulillaah</em>, it seems that all the posts are fixed.  I haven&#8217;t bothered with the pages that I&#8217;ve created, though, because I&#8217;m likely going to redo those shortly anyway, <em>in shaaʾ Allaah</em>.</p>
<div style="text-align: left;"><em>Note</em>:  This refers to all pages that list multiple posts.  Apparently there is an error, possibly in the template that I am using, when viewing individual posts or pages.  *sigh*  More work ahead for me, but this is, at least, progress, <em>alhamdulillaah</em>.</div>
<p style="text-align: left;">That is all.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.basilgohar.com/blog/2008/11/25/blog-almost-certainly-100-compliant-now/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Audio Islam now running on lighttpd</title>
		<link>http://www.basilgohar.com/blog/2008/08/16/audio-islam-now-running-on-lighttpd</link>
		<comments>http://www.basilgohar.com/blog/2008/08/16/audio-islam-now-running-on-lighttpd#comments</comments>
		<pubDate>Sun, 17 Aug 2008 04:59:32 +0000</pubDate>
		<dc:creator>Basil</dc:creator>
				<category><![CDATA[Audio Islam]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.basilgohar.com/blog/?p=212</guid>
		<description><![CDATA[Bismillaahir Rahmaanir Raheem
Alhamdulillaah, I&#8217;ve been able to make some major- and sorely-needed-upgrades to Audio Islam.  Interestingly enough, for the vast majority of people, these changes won&#8217;t really be that visible as they are all behind-the scenes.
The desire to upgrade Audio Islam has been around for a long time, and I still have many more changes, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><em>Bismillaahir Rahmaanir Raheem</em></p>
<p><em>Alhamdulillaah</em>, I&#8217;ve been able to make some major- and sorely-needed-upgrades to <a title="Audio Islam website" href="http://www.audioislam.com/"><em>Audio Islam</em></a>.  Interestingly enough, for the vast majority of people, these changes won&#8217;t really be that visible as they are all behind-the scenes.</p>
<p><span id="more-212"></span>The desire to upgrade <em>Audio Islam</em> has been around for a long time, and I still have many more changes, particularly in relation to the code, that are pending.  But I decided to focus on performance due to the vast surge in visitors that will come during the month of Ramadhaan, in shaaʾ Allaah.  Therefore, I had to polish some things, upgrade others, and in some cases, fundamentally change them!</p>
<p>Prior to today, <em>Audio Islam</em> was running a typical <a title="Wikipedia article for &quot;LAMP&quot;" href="http://en.wikipedia.org/wiki/LAMP_(software_bundle)">LAMP</a> setup &#8211; <a title="Red Hat website" href="http://www.redhat.com/">Red Hat</a> <a title="Red Hat Enterprise Linux website (note: this current version as of this writing is 5)" href="http://www.redhat.com/rhel/">Enterprise Linux</a> 4, <a title="Apache Software Foundation website" href="http://www.apache.org/">Apache</a> <a title="Apache HTTP Server website" href="http://httpd.apache.org/">HTTP Server</a>, <a title="MySQL website" href="http://www.mysql.com/">MySQL</a> database server, &amp; <a title="PHP website" href="http://www.php.net/">PHP Hypertext Preprocessor</a>.  Also typically, at the <a title="PHP FAQ entry &quot;Why shouldn't I use Apache2 with a threaded MPM in a production environment?&quot;" href="http://www.php.net/manual/en/faq.installation.php#faq.installation.apache2">behest</a> of the PHP developers, my Apache HTTP server was configured to operate in <a title="Apache MPM prefork" href="http://httpd.apache.org/docs/2.2/mod/prefork.html">prefork</a> mode, which, to put it simply, causes the web server to assign one process per web request.</p>
<p>For a site like <em>Audio Islam</em>, where currently the programming logic is rather limited and the bulk of the action involves downloading of large files, the cautions that call for using the prefork mode, as opposed to the more performant multi-threaded <a title="Apache MPM worker" href="http://httpd.apache.org/docs/2.2/mod/worker.html">worker</a> mode, are less urgent, so I opted for the more efficient mode due to <em>Audio Islam</em>&#8217;s need for very high concurrency on rather modest server hardware.  I&#8217;ve had to set the maximum number of clients in my webserver to over 700 and also offset the more popular mode of download to be FTP just to keep the website accessible, so I am very keen to seek out as much optimization as I can until I can move to another server that will sustain the site as well as this one in terms of bandwidth (currently, 20Mbit/s unmetered is keeping the site afloat, alhamdulillaah).</p>
<p>However, here is where the multi-threaded madness of PHP reared its ugly head.  In truth, I am not entirely sure that I can lay the blame solely on PHP here, but as PHP is not generally multi-threaded enabled and intends to stay that way, I don&#8217;t feel so keen on removing them from the blame completely, either.</p>
<p>Before going further, here&#8217;s a summary of the specific versions of each package (before/after)</p>
<ul>
<li>Apache HTTP Server: 2.2.0/2.2.9</li>
<li>MySQL database server: 5.0.16/5.0.67</li>
<li>PHP Hypertext Preprocessor: 5.1.6/5.2.3</li>
</ul>
<p>As I install all my servers from source on my aging Red Hat platform in order to get the latest versions easily, that means I have the pleasure of compiling all my packages from source (I haven&#8217;t figured-out how to make my own RPMs yet&#8230;).  So, my first step was to compile Apache HTTP server, ensuring I enabled the worker MPM mode to enable multi-threading (a simple mistake I noticed when I saw the config summary included the old prefork MPM).</p>
<p>My configure command was as follows:</p>
<pre>./configure --enable-modules=all --enable-mods-shared=all --with-mpm=worker</pre>
<p>This went along very well.  My next step was to compile MySQL, as I needed access to the client library in order to compile PHP with support for the database backend.  Note that the coming of <a title="Introduction to PHP 5.3 Slides by Ilia Alshanetsky" href="http://ilia.ws/archives/187-Introduction-to-PHP-5.3-Slides.html">PHP 5.3</a> should obviate this as it will feature a <a title="PHP MYSQLND" href="http://forge.mysql.com/wiki/PHP_MYSQLND">native MySQL driver for PHP</a> which shares the same license as PHP, which sparked the whole problem of the <a title="PHP FAQ entry &quot; PHP 5 no longer bundles MySQL client libraries, what does this mean to me? Can I still use MySQL with PHP? I try to use MySQL and get &quot;function undefined&quot; errors, what gives?&quot;" href="http://my.php.net/manual/en/faq.databases.php#faq.databases.mysql.php5">separation between PHP the MySQL client library</a>.</p>
<p>Before I show the MySQL configure command, let me present the PHP one:</p>
<pre>./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --with-zlib --with-bz2 --enable-mbstring --with-mysqli --with-pdo-mysql --enable-zip</pre>
<p>This is a pretty basic PHP configuration script, rather slim, but sufficient for what I needed.  However, the configure script complained about a missing library for MySQL named &#8220;libmysqlclient_r&#8221;.  I looked for it on my system, and while I found it, it was the wrong version.  This is when I realizzed that I had to enable the thread-safe client in MySQL.  So, I did this, using this configure command:</p>
<pre>./configure --enable-thread-safe-client</pre>
<p>After a rather lengthy make &amp; make install process, PHP was <em>still</em> complaining.  I looked for libmysqlclient_r and found it, but PHP still kept complaining that it wasn&#8217;t under &#8220;/usr/local&#8221;.  It didn&#8217;t matter that I explicitly instructed it to look at the install directory of my MySQL installation.</p>
<p>Anyway, after spending several hours trying to figure this out by researching online and trial-and-error, I decided enough was enough, and I was going to follow PHP&#8217;s recommendation of running it under FastCGI.  However, I do not have a lot of experience getting Apache to run under FastCGI.  Morever, as I didn&#8217;t need Apache&#8217;s power &amp; flexibility for <em>Audio Islam</em>, I decided now was the time to go where I&#8217;ve wanted to go for a while &#8211; to host <em>Audio Islam</em> using <a title="lighttpd website" href="http://www.lighttpd.net/">lighttpd</a>.</p>
<p><span title="It's proper name is lower-cased 'lighttpd', so don't bug me about it!">lighttpd</span> (pronounced <em>lighty</em>) is a lightweight yet powerful HTTP server that is designed for low overhead and high performance.  Despite these goals, it still hosts a slew of features that sufficed it to be the backend for <em>Audio Islam</em>, alhamdulillaah.  Once I realized that I was going to go through with it, I stopped all my efforts at getting Apache HTTP working and focused on installing lighttpd.  Amazingly enough, I discovered that the latest stable version, 1.4.19, was already available via yum for RHEL4!  I quickly went ahead and install it and its fastcgi module.  And, a short while later, after some configuration, I had <em>Audio Islam</em> up-and-running on lighttpd!  Alhamdulillaah!  It was rather surprising to see how it worked perfectly out of the box once I redirected it to my newly-fastcgi-compiled PHP.  For reference, here&#8217;s the final configure command I used for compiling PHP to ultimately work on lighttpd:</p>
<pre>./configure --enable-fastcgi --enable-discard-path --enable-force-cgi-redirect --with-mysql --with-zlib --with-bz2 --enable-mbstring --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql/bin/mysql_config --enable-zip</pre>
<p>The first three arguments are from the <a title="lighttpd &amp; PHP tutorial" href="http://trac.lighttpd.net/trac/wiki/TutorialLighttpdAndPHP#Others">lighttpd documentation</a>, and the rest are what I wanted in the first place.</p>
<p>So, there you have it! <em>Audio Islam</em> is now running on top of lighttpd, alhamdulillaah.  In shaaʾ Allaah this setup will enable the server to sail through Ramadhaan far smoother than previous years.  I guess we&#8217;ll find out in a couple of weeks, in shaaʾ Allaah.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.basilgohar.com/blog/2008/08/16/audio-islam-now-running-on-lighttpd/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Message Mastery by Belal Khan</title>
		<link>http://www.basilgohar.com/blog/2008/07/29/message-mastery-by-belal-khan</link>
		<comments>http://www.basilgohar.com/blog/2008/07/29/message-mastery-by-belal-khan#comments</comments>
		<pubDate>Tue, 29 Jul 2008 07:39:44 +0000</pubDate>
		<dc:creator>Basil</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Islam]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.basilgohar.com/blog/?p=208</guid>
		<description><![CDATA[Bismillaahir Rahmaanir Raheem
Alhamdulillaah, my good friend Belal Khan of Leechon Films fame has started (a while back, actually) a program called Message Mastery.  You should get the full explanation from the website, but the basic gist of it is that it is a training seminar focused on developing masterful messages through the medium of video.
He&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><em>Bismillaahir Rahmaanir Raheem</em></p>
<p><em>Alhamdulillaah</em>, my good friend <a title="Belal Khan's website" href="http://belalkhan.com/">Belal Khan</a> of <a title="Website for Leechon Films" href="http://www.leechon.com/">Leechon Films</a> fame has started (a while back, actually) a program called <a title="Message Mastery website" href="http://messagemastery.com/"><em>Message Mastery</em></a>.  You should get the full explanation from the website, but the basic gist of it is that it is a training seminar focused on developing masterful messages through the medium of video.</p>
<p>He&#8217;s released a few videos that are freely available that are samples of what the entire program entails.  I found the one entitled &#8220;<a title="Three POWER Principles of Filmmaking from Message Master" href="http://messagemastery.com/three-power-principles-of-filmmaking-4.htm">Three POWER Principles of Filmmaking</a>&#8221; to be quite refreshing in how simple, yet effective, such techniques can be.  Even more beneficial is that the tips he provides, while framed around the production of video media, are general enough to be beneficial in almost any context.</p>
<p>Give his site a check-out and leave some comments as he&#8217;s very keen on getting &amp; responding-to feedback from his visitors &amp; members of his program.</p>
<p><em>Disclaimer</em>:  Belal is just my friend &#8211; I am neither associated with <em>Message Mastery</em> nor am I enrolled in the program&#8230;<em>yet</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.basilgohar.com/blog/2008/07/29/message-mastery-by-belal-khan/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial series &#8211; X/HTML Design Tips</title>
		<link>http://www.basilgohar.com/blog/2007/03/31/tutorial-series-xhtml-design-tips</link>
		<comments>http://www.basilgohar.com/blog/2007/03/31/tutorial-series-xhtml-design-tips#comments</comments>
		<pubDate>Sat, 31 Mar 2007 13:42:15 +0000</pubDate>
		<dc:creator>Basil</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[X/HTML]]></category>

		<guid isPermaLink="false">http://www.basilgohar.com/blog/2007/03/31/tutorial-series-xhtml-design-tips/</guid>
		<description><![CDATA[Bismillaahir Rahmaanir Raheem
I&#8217;m going to start a new, easy-lifting tutorial series that I&#8217;ve been meaning to do for a while.  It&#8217;s focus will be useful exploitation of the X/HTML standard for marking-up your pages in an elegant yet standards-compliant way.  I will make an attempt to reference other excellent sources that exist throughout [...]]]></description>
			<content:encoded><![CDATA[<p align="center"><em>Bismillaahir Rahmaanir Raheem</em></p>
<p>I&#8217;m going to start a new, easy-lifting tutorial series that I&#8217;ve been meaning to do for a while.  It&#8217;s focus will be useful exploitation of the X/HTML standard for marking-up your pages in an elegant yet standards-compliant way.  I will make an attempt to reference other excellent sources that exist throughout the webiverse wherever appropriate, but for the most part, a lot of these ideas have just come from my own exploration and experimentation with the specification.</p>
<p>Some of the things I will be covering in this tutorial series include (but are not limited to):</p>
<ul>
<li>The usage of lesser-known but fully-supported X/HTML tags for common &amp; useful purposes</li>
<li>Emphasis on a semantic presentation of content</li>
<li>Minimization of unnecessary markup</li>
<li>Strict adherence to both the spirit &amp; the letter of the pertinent standards</li>
<li>Examples of how to exploit the synergy between pertinent standards (e.g., X/HTML, CSS, etc.)</li>
<li>How to avoid using deprecated tags, attributes, and techniques in favor of more sanctioned alternatives</li>
</ul>
<p>Comments, questions, and suggestions <em>related to the topics presented </em>are always welcome, and I will do my best to answer them, but no promises are being made.<span id="more-101"></span></p>
<p>X/HTML is as ubiquitous as a standard can be, yet it is rarely used to its full potential (or correctly, for that matter). There are many aspects of this elegant language that, while fully-supported by nearly <em>all</em> standard browsers (Internet Explorer, Mozilla Firefox, Opera, &amp; Konquerer [and, therefore, more-or-less, Safari]), are extremely under-utilized. This, in fact, leads to a lot of effort to duplicate their functionality through less-appropriate means &#8211; whether via static graphics, Javascript, or even (*shudder*) attempting to mimick their layout through the use of tables. What follows is a brief tutorial introducing these often-neglected tags &amp; practices that can bring with them some tremendous advantages in terms of development time, efficiency, &amp; standards-compliance.</p>
<p>I keep referring to HTML or XHTML as X/HTML simply because, for the most part, the specifications of HTML 4.01 and XHTML 1.0 can more or less be losslessly decomposed into one-another back-and-forth, so there are very few actual differences between the two.  The focus of XHTML 1.0 was to take HTML 4.01 and convert it into a valid XML application.  So, while I will be sticking to XHTML syntax throughout my examples (lower-cased tag &amp; attribute names, all tags must be closed, etc.), all tags and their usages are completely valid between the two specs, should you choose one over the other for any particular reason.</p>
<p>I am looking forward to sharing this joint experience with you guys, and I do hope you&#8217;ll enjoy &amp; benefit from reading it, as I am sure I will  in writing it, <em>in shaa Allaah</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.basilgohar.com/blog/2007/03/31/tutorial-series-xhtml-design-tips/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML Slidy: Slide Shows in XHTML</title>
		<link>http://www.basilgohar.com/blog/2006/07/12/html-slidy-slide-shows-in-xhtml</link>
		<comments>http://www.basilgohar.com/blog/2006/07/12/html-slidy-slide-shows-in-xhtml#comments</comments>
		<pubDate>Thu, 13 Jul 2006 05:26:43 +0000</pubDate>
		<dc:creator>Basil</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://tech.hidayahonline.org/2006/07/12/html-slidy-slide-shows-in-xhtml/</guid>
		<description><![CDATA[Dave Raggett, one of the original developers of the HTML spec (and the one whose guide I first studied to learn HTML), and the original author of HTML Tidy, an HTML cleanup utility, has written a utility called HTML Slidy which is an outstanding tool for creating pure, XHTML standards-compliant &#038; semantic web-based presentations.
His XTech [...]]]></description>
			<content:encoded><![CDATA[<p><a title="http://www.w3.org/People/Raggett/" href="http://www.w3.org/People/Raggett/">Dave Raggett</a>, one of the original developers of the HTML spec (and the one whose <a title="Dave Raggett's Introduction to HTML" href="http://www.w3.org/MarkUp/Guide/">guide</a> I first studied to learn HTML), and the original author of <a title="HTML Tidy sourceforge page" href="http://tidy.sourceforge.net/">HTML Tidy</a>, an HTML cleanup utility, has written a utility called <a title="HTML Slidy presentation" href="http://www.w3.org/Talks/Tools/Slidy">HTML Slidy</a> which is an outstanding tool for creating pure, XHTML standards-compliant &#038; semantic web-based presentations.<span id="more-42"></span></p>
<p>His <a title="Dave Ragget's XTech 2006 presentation" href="http://www.w3.org/2006/05/Slidy-XTech/slidy-xtech06-dsr.pdf">XTech 2006 presentation</a> (warning: PDF file) provides a few more details as well as some information of a browser-based slide editor (not as interesting to me&#8230;).  What is most excellent about Slidy is the fact that it uses the best practices of web design (standards compliance, semantics, &#038; browser compatibility) to provide a truly intuitive web-base slide presentation tool.  It&#8217;s usability cannot be overstated.  Its features include:</p>
<ul>
<li>Move forward &#038; backward through pages using right- &#038; left-arrow keys, along with page down &#038; page up</li>
<li>It supports incremental displays</li>
<li>It supports linking to individual pages within the presentation without losing any of the forward/backward features</li>
<li>All content is stored in <strong>one</strong> XHTML file</li>
<li>All presentational elements are executed via CSS</li>
<li>All features are available in all browsers, or at least degrade gracefully (requires some additional user work, such as providing a bitmap alternative to an SVG image)</li>
<li>All dynamic code is contained in <strong>one</strong> Javascript file (Slidy.js)</li>
<li>All Slidy-related materials (code, examples, etc.) are available via the WC3&#8217;s <a title="W3C software license" href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">Software</a> &#038; <a title="W3C document license" href="http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231">Document</a> licenses (The W3C Software license is said to be <a title="GNU compatible licenses" href="http://www.gnu.org/licenses/license-list.html">GNU compatible</a>)</li>
</ul>
<p>I&#8217;m really looking forward to seeing this standard used more &#038; more.  Considering it is pretty much free from incompatibilities, I intend to start using it ASAP for any presentations I need to make.  The best part is that, because it is based on XHTML Strict, it is also a valid XML document, and so it should easily losslessly convert to other media without too much difficulty, while also because pretty future proof.  XML doesn&#8217;t seem to be fading out anytime soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.basilgohar.com/blog/2006/07/12/html-slidy-slide-shows-in-xhtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Outstanding CSS Zen Garden page</title>
		<link>http://www.basilgohar.com/blog/2006/06/19/outstanding-css-zen-garden-page</link>
		<comments>http://www.basilgohar.com/blog/2006/06/19/outstanding-css-zen-garden-page#comments</comments>
		<pubDate>Mon, 19 Jun 2006 20:39:28 +0000</pubDate>
		<dc:creator>Basil</dc:creator>
				<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://tech.hidayahonline.org/2006/06/19/outstanding-css-zen-garden-page/</guid>
		<description><![CDATA[While at work &#8220;working&#8221; today, I came across what I feel is arguably the most beautiful design yet for the CSS Zen Garden demonstration site.
It may not be immediately obvious, but I am a staunch advocate of standards compliance, the semantic web, &#038; the separation of content from presentation.  The most vivid examples of [...]]]></description>
			<content:encoded><![CDATA[<p>While at work &#8220;working&#8221; today, I came across what I feel is arguably the <a title="Beautiful beach-themed CSS design" href="http://www.csszengarden.com/?cssfile=/163/163.css&#038;page=3">most beautiful design yet</a> for the <a title="CSS Zen Garden website" href="http://www.csszengarden.com/">CSS Zen Garden</a> demonstration site.<span id="more-40"></span></p>
<p>It may not be immediately obvious, but I am a staunch advocate of standards compliance, the <a title="Semantic web page at W3" href="http://www.w3.org/2001/sw/">semantic web</a>, &#038; the separation of content from presentation.  The most vivid examples of all three of these is utilizing XHTML to semantically markup what it is you wish to present, share, or demonstrate, while utilizing <a title="Wikipedia entry for Cascading Style Sheets" href="http://en.wikipedia.org/wiki/Cascading_Style_Sheets">CSS</a> to style it.  Properly implemented, these concepts will yield:</p>
<ul>
<li>Low maintenance websites &#038; pages</li>
<li>Vastly easier restyling in the future</li>
<li>Sites that are much more optimized for search engines</li>
<li>Greater accessibility for alternative media formats (screen, print, audio)</li>
<li>Warm-fuzzy feelings knowing you&#8217;ve designed for the future, rather than the here-&#038;-now</li>
</ul>
<p>I have a few articles queued-up in my ever-lengthening post backlog that address several of the issues mentioned above (some more obviously related than others).  Maybe some comments might pull me out of my production slump (work-induced, I assure you) and get me back on track.  ; )</p>
]]></content:encoded>
			<wfw:commentRss>http://www.basilgohar.com/blog/2006/06/19/outstanding-css-zen-garden-page/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
