<?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>devazero</title>
	<atom:link href="http://deva0.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://deva0.net</link>
	<description>The personal homepage of Jesse Dhillon</description>
	<lastBuildDate>Sun, 07 Feb 2010 04:46:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Avoid ShareBuilder</title>
		<link>http://deva0.net/blog/2010/02/avoid-sharebuilder/</link>
		<comments>http://deva0.net/blog/2010/02/avoid-sharebuilder/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 20:48:22 +0000</pubDate>
		<dc:creator>Jesse Dhillon</dc:creator>
				<category><![CDATA[Investment]]></category>
		<category><![CDATA[incompetence]]></category>
		<category><![CDATA[money]]></category>

		<guid isPermaLink="false">http://deva0.net/?p=270</guid>
		<description><![CDATA[<p>A few weeks ago, I sold about $4,000 in stocks that I had been holding for a little over a year. It was quite a significant profit, as the cost basis of these shares was $1,700. Let me tell you how ShareBuilder ruined the party, and why I am not going to be investing any new money with them ever again.</p>]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago, I sold about $4,000 in stocks that I had been holding for a little over a year. It was quite a significant profit, as the cost basis of these shares was $1,700. Let me tell you how ShareBuilder ruined my party and why I will never invest a single penny with them ever again.</p>

<p>The primary method of investing in ShareBuilder is to define an investment strategy: given X dollars, invest a certain portion in ABC, a certain portion in DEF and so on. This is called an automatic investment plan, and as soon as you have X dollars transferred into your account, the application will execute your plan on the following Tuesday. This allows you to dollar-cost average into a portfolio consistently over time, and makes it very simple to do so. It&#8217;s not a very important feature if you are interested in taking a more proactive role in your investment, and it&#8217;s not the reason why I used them. The reason why I use them is that, because they are owned by ING Direct, I can transfer money between my investment and checking account instantly. I can execute trades without having had to pre-fund the investment account because of this, which makes a big difference if you need to carry out large trades on the spot.</p>

<p>Now, having sold about $4,000 in those shares I mentioned earlier, I was ready to withdraw that money and put it to a different use. However, I had to wait three business days before I could transfer that money back into my checking account. The sale took place on a Friday, so this meant that I had to wait until at least Wednesday. Not a problem.</p>

<p>Or so I thought.</p>

<p>Remember that automatic investment plan which kicks in on Tuesday? Well guess what, ShareBuilder will reinvest your money into the <em>the very shares you sold</em>, <strong>automatically and without warning</strong>, and <strong>before you can have a chance to withdraw it!</strong> That&#8217;s right, even though the money isn&#8217;t available to be withdrawn because I have to wait for the trade to &#8220;settle&#8221; (whatever the fuck that means), apparently money from unsettled trades are available for ShareBuilder&#8217;s automatic investment plan to reinvest in the shares I had just sold out of. From my net proceeds, they took $870 &mdash; about 20% &mdash; and put it back into the companies I had just profited from!</p>

<p>Now, not only do I have to wait until those shares rise <em>back</em> above the price that I sold them, but I have to pay regular income tax on any of the profit I make from those sales.</p>

<p>Their customer service form claims that any queries will be responded to within 48 hours, but apparently that&#8217;s not the case if you&#8217;re complaining about their automatic investment program stealing your money and investing it before you have a chance to withdraw it. I wrote them more than a week ago and haven&#8217;t heard shit from them.</p>

<p>I opened up an account with <a href="http://scottrade.com">Scottrade</a> today and will be doing all of my future investment with them. ShareBuilder and its too-clever automatic investor can go to hell.</p>]]></content:encoded>
			<wfw:commentRss>http://deva0.net/blog/2010/02/avoid-sharebuilder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>#define talent</title>
		<link>http://deva0.net/blog/2010/02/define-talent/</link>
		<comments>http://deva0.net/blog/2010/02/define-talent/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 23:37:21 +0000</pubDate>
		<dc:creator>Jesse Dhillon</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[great programmers]]></category>
		<category><![CDATA[incompetence]]></category>
		<category><![CDATA[skill]]></category>

		<guid isPermaLink="false">http://deva0.net/?p=255</guid>
		<description><![CDATA[<p>Recently I contributed to a discussion on a PHP mailing list about how to identify great programming skill. A lot of the discussion centered around previous experience, organizational ability and accomplishments. You can tell a lot from these, but I chimed in with a different take. In my experience, the programmers who I think are great have invariably had the traits I described in my post.</p>]]></description>
			<content:encoded><![CDATA[<p>Recently I contributed to a discussion on a PHP mailing list about how to identify great programming skill. A lot of the discussion centered around previous experience, organizational ability and accomplishments. You can tell a lot from these, but I chimed in with a different take. In my experience, the programmers who I think are great have invariably had the traits I described in my post. I&#8217;m including a slightly modified version below.</p>

<hr/>

<p>In my experience the key distinctions between a mediocre and a great programmer are very difficult to define, although there have been some great comments previously that get at the distinction. <em>But</em>, I would add that there are definitely some aspects of a great programmer that do not necessarily come with time. That is, there are some aspects of an excellent programmer he or she has from the beginning, or which have been consciously cultivated.</p>

<p>When hiring in the past, these are the three criteria that I have looked for in a programmer,</p>

<h3>Curious</h3>
<p>I have met programmers with 10+ years who are not as curious, and consequently have not branched out as much, as some classmates I had in college. I knew a guy who wanted to program an OpenGL demo using Lisp, just because there were bindings in the language for it. That kind of curiosity is invaluable and isn&#8217;t readily apparent on a resume. In my opinion, a curious programmer will be one who writes programs for purposes that are not related to their job, and are outside of their core discipline. E.g., a web developer who takes a stab at improving MySQL, or graphics programming, or just something other than web development.</p>

<p>The kind of cross-fertilization that occurs when a programmer does that is something that improves them by informing them of how different people in different domains solve both similar and different problems. Sadly, most job-seekers are trained to omit from their resum&eacute;s any information about side projects, hobby programming or anything else that is not professional experience. I admit that, as the person who is looking over candidate profiles, I tend to scoff at amateur experience on a resum&eacute;. I do think a winning strategy, however, is to display your hobby or side accomplishments on a website and include the address on your resum&eacute;.</p>

<p>Curiosity in a programmer is important to me because it means that this person views programming as an important skill in their life and one that needs to be honed and refined. If programming is only a skill for finding a job and earning money then, in my opinion, his or her skills tend only to be as good as necessary, but not better.</p>

<h3>Precise</h3>
<p>A good programmer is also interested in being precise, by which I mean that a great programmer knows that for every challenge there are solutions that are different levels of correct. Although I can&#8217;t think of an example off the top of my head, anyone who has had to refactor a code base knows that there is a sense that programmers have for how to identify groups of code and organize them in a way that optimizes the code&#8217;s readability, accessibility and maintainability. Don&#8217;t take that skill for granted, not everyone has it.<p>

<p>Precision in a programmer also manifests itself in his or her other habits. A precise programmer speaks about technology and programming in precise terms, and they know what those terms are. Mediocre programmers speak loosely about technical concepts and of programming because they haven&#8217;t bothered to learn the terminology. When comparing different programming languages, for example, a great programmer would know and use the proper terms for different features. They would know the terms because they are curious and they would use them because using imprecise language is ambiguous and potentially confusing, which is a less-than-correct application of words.</p>

<p>For example, a programmer who knows what closures are is, in my experience, likely to know how to use them correctly and to have had made all the head-scratching mistakes that creates valuable experience. A guy who comes in and doesn&#8217;t know what a closure is, referring to that language feature instead as some imprecise description like &#8220;assigning functions to variables&#8221; (a definition which omits the ability to enclose an environment) is not as likely to be as knowledgeable about them, although they might be. I have to wonder how a great programmer would have become so great without having had their curiosity piqued and reading up enough to learn the correct terminology.</p>

<p>For a good example of this, listen to some technical talks given by programmers you think are respectable. In my experience they don&#8217;t use terms loosely or use the wrong words to describe different concepts. That&#8217;s attention to detail and it shows that this person cares about doing things correctly.</p>

<p>This is important to me because there are many decisions in programming where the difference between the Right and the Wrong solution exists, but is difficult to articulate. Someone who has cultivated an appreciation for the concept of Rightness in programming is someone who has taken on enough problems in their career to discover that some ways work better than others, and they have cultivated a sense for distinguishing better ways from worse ways.</p>

<h3>Dispassionate</h3>
<p>In my experience, the best programmers are like scientists, meaning that their interest is to follow the evidence. In programming that means NOT becoming attached to any particular code or pattern, but instead always being ready to rewrite because a better way became apparent. It may not always be feasible to do that, and a great programmer will know when other constraints prevent total improvement, but they will always trend towards choices that move the code closer to an improved version.</p>

<p>One good example comes from the .NET framework design guidelines. The author describes an earlier version of the framework where different graphics functions adhered to different naming conventions. If I recall correctly, in one place a method was called <span class="code">GetAsRGBA()</span> and in another it was called <span class="code">StoreAsRGBAlpha()</span>.</p>

<p>The author lamented the fact that the methods did not adhere to a consistent naming convention. He also knew that, because existing applications depended on these methods, changing their names and breaking backwards compatibility was out of the question. Still, he developed a convention and future additions to that API do conform to it. In my experience, mediocre programmers do not recognize or care for this level of analysis or consistency, possibly because they do not have the experience or interest in developing good, usable programming interfaces.</p>

<p>This is important to me because I want to know that my colleagues and I can reach agreement on the idea that the code&#8217;s most correct form exists and is achievable. We can discuss what it should look like and what it would take to get there, and we can then make decisions about which measures we can implement to get there and which would be too costly or impractical.</p>

<hr/>

<p>One last word I would say about great programming skills: none of these require someone to be able to perform particular feats of great magnitude. A programmer who has these attributes will, in my opinion, be able to successfully complete many difficult programming challenges. A programmer without these attributes might also be able to complete such challenges, but that doesn&#8217;t mean that they are a great programmer, just good at producing certain solutions. A great programmer has the aforementioned attributes which, to me, indicate their capacity to grow as a programmer.</p>

<p>However, if you are looking for a great programmer I suggest you get a few such programmers together and ask them to assemble a set of challenging questions for interviewees. These questions should be a mix of closed-form challenges (i.e. those with one or a few discrete solutions) and open-form challenges that expose their understanding of concepts underlying the challenge. It should include questions that ask for criticisms of different proposed schemata for a particular situation, that ask for the interviewee to generate their own schema for a given purpose, that ask about the suitability of different data structures for a situation, and also some questions which ask the interviewee to assess the strengths and weaknesses of a proposal with an eye toward security.</p>

<p>If you have technical staff, a technical interview is absolutely necessary. Interviewees need to be interviewed by their potential teammates, and they need to be interviewed thoroughly. At a previous position, my department was bound by some politically-motivated decisions of upper management to have a panel interview where representatives of <em>every</em> department were present. This allowed room for about two technical questions, and because the entire panel had to be able to understand the question, the most difficult such question was something along the lines of &#8220;What is a right join?&#8221;</p>

<p>The result: an incredible waste of time, as the technical abilities of these different candidates had to be evaluated on a very small glimpse. The lesson here is simple: be kind to your technical employees, let them develop a thorough process for screening their potential workmates. The most enjoyable interviews I&#8217;ve had were a series of three or four one-on-one sitdowns with different members of the technical staff. It creates a valuable opportunity to know more about a person than whether or not they know a little SQL.</p>]]></content:encoded>
			<wfw:commentRss>http://deva0.net/blog/2010/02/define-talent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Care For Some Artificial Saliva?</title>
		<link>http://deva0.net/blog/2010/01/care-for-some-artificial-saliva/</link>
		<comments>http://deva0.net/blog/2010/01/care-for-some-artificial-saliva/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 11:30:29 +0000</pubDate>
		<dc:creator>Jesse Dhillon</dc:creator>
				<category><![CDATA[Food]]></category>

		<guid isPermaLink="false">http://deva0.net/?p=245</guid>
		<description><![CDATA[<p>I love those commercials sponsored by the corn industry. One person is eating or offering food that is sweetened by corn syrup. Another person makes a comment along the lines of, You know what they say about high-fructose corn syrup, right? Then, the first person lays the smack down and exposes the troublemaker for the shallow follower that they are, by asking what they say about corn syrup. The second person is completely dumbfounded, they simply hadn't conceived of the possibility of a followup question.</p>]]></description>
			<content:encoded><![CDATA[<p>I love those commercials sponsored by the corn industry. One person is eating or offering food that is sweetened by corn syrup. Another person makes a comment along the lines of, You know what they say about high-fructose corn syrup, right? Then, the first person lays the smack down and exposes the troublemaker for the shallow follower that they are, by asking what they say about corn syrup. The second person is completely dumbfounded; apparently they simply hadn&#8217;t anticipated the possibility of a followup question.</p>

<p>Then, the syrup lover fires back with some very natural sounding points about corn syrup.</p>
<ul>
  <li>Did you know it&#8217;s fine <em>in moderation?</em></li>
  <li>Or that it has the same calories as sugar?</li>
</ul>
<p>After this barrage, the original questioner withers and submits to the urges of their suddenly ravenous appetite for maize.</p>

<p>Here&#8217;s a little ammo for that first guy:</p>
<ul>
  <li><p>What about the fact that it tastes like shit and makes your soda a goopy mess, coating the back of your throat like a dose of Robitussin?</p><p>Seriously, go get a bottle of Mexican Coca-Cola &mdash; you can get one at many Mexican restaurants &mdash; and try it. Put it next to a can of the American version and see if you can&#8217;t tell the difference. Mexican Coke has real sugar in it because it&#8217;s cheaper in Mexico to use sugar than it is corn syrup.</p></li>
  <li><p>Or that the only reason it exists is to create demand for corn, justifying obscene subsidies given by the federal government to very wealthy agricultural giants? That&#8217;s the same reason why it&#8217;s in nearly everything, and why it&#8217;s so cheap: you pay for it with your taxes whether you like it or not!</p><p>We all pay to have our food sweetened with mediocre crap</p></li>
  <li><p>Hey, did you know that it&#8217;s made by taking corn starch, soaking it in artificial saliva and then fermenting it in a fungus vat? <em>Yum!</em></p></li>
</ul>

<p>One of the most frustrating things about food in this country is that people demand garbage and they want to pay the lowest price for it. The monotonous flavor, inferior ingredients, made by horribly irresponsible conglomerates who know more about chemical synthesis than they do food production.</p>

<p><em>People are giving to the lowest bidder the job of providing them sustenance!</em> To paraphrase Oscar Wilde: the American eater knows the price of everything and the value of nothing.</p>]]></content:encoded>
			<wfw:commentRss>http://deva0.net/blog/2010/01/care-for-some-artificial-saliva/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gamestepper</title>
		<link>http://deva0.net/blog/2009/09/gamestepper/</link>
		<comments>http://deva0.net/blog/2009/09/gamestepper/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 19:52:25 +0000</pubDate>
		<dc:creator>Jesse Dhillon</dc:creator>
				<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://deva0.net/?p=229</guid>
		<description><![CDATA[<p>Gamestepper is an upcoming social network for art and design students. It focuses on organizing users around their art and accomplishments, and on creating local communities. I was approached by Gamestepper to draw up a set of features that would comprise an excellent application. I then made some mockups to show how various features would work together. Gamestepper is an ambitious project, involving forums, content management and light social networking features.</p>]]></description>
			<content:encoded><![CDATA[<h3>The Solution</h3>
<p>The work at Gamestepper is ongoing. My design for the interface and the server side technology call for a Symfony application to drive a frontend built on the lightweight <a href="http://www.extjs.com/products/extcore/">Ext Core framework</a>. The client&#8217;s wishes here are for a subdued interface without a lot of flashy features. Instead, a few slick, well-executed interfaces for navigating art and the users behind that art will keep the emphasis on user-created content instead of shiny interfaces.</p>]]></content:encoded>
			<wfw:commentRss>http://deva0.net/blog/2009/09/gamestepper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>National Writing Project</title>
		<link>http://deva0.net/blog/2009/09/national-writing-project/</link>
		<comments>http://deva0.net/blog/2009/09/national-writing-project/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 18:59:51 +0000</pubDate>
		<dc:creator>Jesse Dhillon</dc:creator>
				<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://deva0.net/?p=224</guid>
		<description><![CDATA[<p>The National Writing Project is a national non-profit that facilitates the professional development of teachers in order to increase access to high-quality writing education for all learners. This is done through the disbursement of funds to satellite organizations nationwide, and then tracking the activities of those organizations over the course of the year.</p>
<p>Critical to any mission-oriented organization is high-quality data, from which decision makers can ascertain to what extent the mission is being completed. For NWP, the Site Profile System is the key reporting application from which the organization can draw its understanding of the current state of its mission. <em>The Site Profile System is critical to the NWP.</em></p>]]></description>
			<content:encoded><![CDATA[<p>When I began working with NWP, the Site Profile System was implemented in an outdated Perl framework called Community Servers; this framework is proprietary and has not seen a new version in many years. I persuaded the IS unit to implement the future Site Profile using a modern framework, and to give the frontend an overhaul.<p>

<h3>The Solution</h3>
<ul>
  <li><h4>Rapid Prototyping</h4>
        <p>The Site Profile System is critical to the National Writing Project, and is therefore subject to input from many different units within the organization. In cases such as this, many decision makers will have to be convinced of a particular vision. It was crucial to make sure that all participants feel that their input is heard, so my process included near-immediate turnaround on as many design requests as possible.</p>
        <p>Rapid turnaround gave the key decision makers a tangible sense of the impact various design decisions would have. Accordingly, the management team was able to arrive an optimized and mutually agreed upon set of mockups that best captured the focus and intent of the application.</p>
  </li>
  <li><h4>Symfony</h4>
        <p>I pushed for the Symfony framework, which we ended up using for the project. Symfony&#8217;s <abbr title="Model-View-Controller design pattern">MVC</abbr> approach to web design enabled us to focus on individual layers within the application. This layered focus allowed us to test pieces of the application individually and to compartmentalize changes for maximum impact with fewer side effects.</p>
        <p>Symfony is an object-oriented framework, which enabled good encapsulation of various functionality into distinct objects and modules. We were able to implement access control, database abstraction and other server-side functionality in a piecemeal fashion because of the object-oriented design of Symfony.</p>
  </li>
  <li><h4>ExtJS</h4>
        <p>The interface for the previous implementation of the Site Profile System used JavaScript sparingly and often with inconsistent results across browsers. Frequently, the previous interface reinvented functionality found in many JavaScript frameworks. For the new interface, I deployed the high-quality <a href="http://www.extjs.com/products/extjs/">ExtJS JavaScript framework</a>.</p>
        <p>Unlike Prototype or jQuery, ExtJS contains reusable and extensible user interface controls. ExtJS has a class system which improves greatly upon the JavaScript prototype-based object model, allowing me to extend many of the standard controls for specific purposes within the Site Profile System. The final product is quick, responsive and dynamic web application which organizes, presents and collects a very complex set of data in a user-friendly way.</p>
  </li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://deva0.net/blog/2009/09/national-writing-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Click Group, Inc.</title>
		<link>http://deva0.net/blog/2009/09/click-group-inc/</link>
		<comments>http://deva0.net/blog/2009/09/click-group-inc/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 07:02:59 +0000</pubDate>
		<dc:creator>Jesse Dhillon</dc:creator>
				<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://deva0.net/?p=208</guid>
		<description><![CDATA[<p>Click Group is a leader in online advertising and a premiere Yahoo Paid Inclusion partner. I worked at Click Group for more than one year, primarily on a client management application which enabled account managers to control the deployment of advertisements across multiple traffic channels.</p>
<p>When I came to Click Group, the existing system was stretched beyond all usefulness and was in need of a modern replacement. We upgraded from PHP4 to PHP5, which enabled us to use Object-Oriented Programming.</p>]]></description>
			<content:encoded><![CDATA[<h3>The Solution</h3>
<ul>
  <li><h4>Symfony</h4>
    <p>I introduced the Click Group team to the Symfony framework for PHP. The existing schema was unwieldy and had outgrown its usefulness; it had been created originally for one person to navigate conveniently from the command line.</p>
    <p>The new schema is a normalized database designed with scalability and future growth in mind. Symfony helped us write reusable backend logic encapsulated in a layer of business objects. Additionally, the controllers make it very easy to facilitate Ajax frontends.</p>
  </li>

  <li><h4>Prototype &amp; Scriptaulous</h4>
    <p>The application&#8217;s frontend is a JavaScript-heavy single page application. List items can expand to show related items and figures. Modal windows open to add and edit objects, and forms dynamically hide and show different fields depending on their values. The JavaScript interface enabled us to sensibly organize and collect the interrelated data which comprised the <a href="http://en.wikipedia.org/wiki/Problem_domain" target="_blank">problem domain</a>.</p>
  </li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://deva0.net/blog/2009/09/click-group-inc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unnamed Client</title>
		<link>http://deva0.net/blog/2009/09/unnamed-client/</link>
		<comments>http://deva0.net/blog/2009/09/unnamed-client/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 22:52:52 +0000</pubDate>
		<dc:creator>Jesse Dhillon</dc:creator>
				<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://deva0.net/blog/2009/09/symbol-capital-llc/</guid>
		<description><![CDATA[<p>The client is a San Francisco-based private equity firm who requested their name to be withheld out of regulatory concern. I was approached by the client with a theme, but not a specific vision, for a website. The client wanted to convey a sense of establishment and stability by using some key elements: a pyramid-centered presentation to match the company logo, along with taupe, brown and similar tones.</p>

<p>The client also had some site management requirements: Client needed to restrict access only to fund members and other authorized users, and to be able to update the site content easily using DreamWeaver.</p>]]></description>
			<content:encoded><![CDATA[<h3>The Solution</h3>
<ul>
  <li><strong>Elegant Appearance</strong>
        <p>I developed a theme in accordance with the client&#8217;s wishes. A pyramid motif was constructed from stock photography and combined with shades of brown to create a sophisticated, understated appearance. Straight lines, subtle shadows and watermark add nuance to the theme created for this site. Images of the Louvre and ancient pyramids give the sense of permanence and endurance.</p></li>
  <li><h4>User and Content Management</h4>
        <p>Because the client&#8217;s hosting plan was very simple and did not include database access, I wrote a very straightforward management interface for managing users, files and content. This lightweight <abbr title="Content Management System">CMS</abbr> has met the client&#8217;s needs well.</p></li>
  <li><h4>Simple Updates</h4>
        <p>A backend management interface was created for the site. I used the built-in <abbr title="eXtensible Stylesheet Language Transformation">XSLT</abbr> libraries in PHP to meet the client&#8217;s requirement to use DreamWeaver to update the site. The client uses DreamWeaver to make a validated, unstyled document containing the content of the update. The document is uploaded to the server and then transformed into a styled document in line with the site&#8217;s theme using an XSLT I wrote.</p>
<p>The client can also use the interface to upload documents &mdash; such as press releases and periodic statements &mdash; and then link them from or insert them into pages on the site.</p></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://deva0.net/blog/2009/09/unnamed-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review: Prince of Persia</title>
		<link>http://deva0.net/blog/2009/06/review-prince-of-persia/</link>
		<comments>http://deva0.net/blog/2009/06/review-prince-of-persia/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 15:48:22 +0000</pubDate>
		<dc:creator>Jesse Dhillon</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[prince of persia]]></category>
		<category><![CDATA[storytelling]]></category>
		<category><![CDATA[ubisoft]]></category>

		<guid isPermaLink="false">http://deva0.net/?p=173</guid>
		<description><![CDATA[<p>I've been playing <em>Prince of Persia</em> for Xbox 360 for the past week or so, and I've noticed a few things. The premise of this game is that fate has joined you, the unnamed Prince, with the magical princess Elika to stop the <a href="http://en.wikipedia.org/wiki/Ahriman">destructive spirit Ahriman</a> from regaining control over what is presumably Persia. See, he's contained in a temple, and adjoining the temple are various interconnected caverns which each contain a vast, uninhabited, corrupted land.</p>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing <em>Prince of Persia</em> for Xbox 360 for the past week or so, and I&#8217;ve noticed a few things. The premise of this game is that fate has joined you, the unnamed Prince in search of his treasure-ladden donkey, with the magical princess Elika to stop the <a href="http://en.wikipedia.org/wiki/Ahriman">destructive spirit Ahriman</a> from regaining control over what is presumably Persia. See, he&#8217;s contained in a temple, and adjoining the temple are various interconnected caverns which each contain a vast, uninhabited, corrupted land.</p>

<p>In addition to needing healing, each land could use plenty of TLC from a team of urban planners. These lands are only accessible to the most acrobatic among us, and even then only if you are partnered with magical flying princesses. No wonder these places are empty!</p>

  <ul>
    <li><strong class="uppercase">Guy 1&gt;</strong> I&#8217;m hungry, is there a Sbarro around here?</li>
    <li><strong class="uppercase">Guy 2&gt;</strong> Yeah it&#8217;s just down the wall. Swing on this pole over to that decrepit wooden beam. Climb up about half way, jump to the other wall and then run across it for about 3 seconds. Now you&#8217;re gonna come to a corner with a ring on it. What you wanna do is grab that ring and swing around to the other side, then keep running along the wall until you get to the power plate. Not the first one, but the second plate takes you straight there.</li>
    <li><strong class="uppercase">Guy 1&gt;</strong> Are you talking about <em>this</em> corner ring or <em>that</em> one?</li>
    <li><strong class="uppercase">Guy 2&gt;</strong> No <em>that&#8217;s</em> a ceiling hook. You don&#8217;t want to take that one after dark, it goes to the bad part of the wall.</li>
  </ul>

<p>So what did I notice?</p>

<p>Well, I did notice the implausible level design as mentioned above. But so what? I mean it&#8217;s a game, there has to be some kind of challenge built in and kudos to Ubisoft for managing to at least dress it up in he trappings of an ancient something or other.</p>

<p>I did also notice the Disney-esque music that plays throughout the game. <strong>Especially</strong> after a land has been healed. I am not sure, but I would guess that not a single, authentic Middle Eastern instrument can be heard on this game&#8217;s soundtrack. The &#8220;healed land&#8221; theme sounds more appropriate for a Scottish glen than a restored Zoroastrian holy land.</p>

<p>There is one thing I did not notice: a Persian accent from any of the main characters. There was one guard in the beginning of the game, a bad guy, who spoke in an affected Middle-Eastern-or-perhaps-Mexican accent. At this point I feel that it&#8217;s fair to point out that Ubisoft is based out of Paris. Although this game is from Ubisoft Montreal, there should have been plenty of Persians available to lend their voice or writing talent, to this game. The titular Prince and his sidekick Elika &mdash; I guess a real Persian name like <em>Elnaz</em> didn&#8217;t sound authentic enough for Ubisoft &mdash; are voiced without the slightest hint of a Persian accent whatsoever.</p>

<p>Which fucking infuriates me.</p>

<p>Why is this game called <em>Prince of Persia</em>? Because it puts you in the middle of an anonymous desert, throws in a couple of key concepts from Zoroastrianism, and gives you a tan? This has about as much to do with Persia as <a href="http://www.imdb.com/title/tt0103639/">Disney&#8217;s Aladdin</a> has to do with anything Arabian (yes, the comparison to Aladdin is intentional.) This is the equivalent of writing a script about America like this:</p>
<ul>
  <li><strong class="uppercase">Title,</strong> Lady of Liberty</li>
  <li><strong class="uppercase">Setting,</strong> a cornfield somewhere between the Atlantic and the Pacific, south of Canada and north of Mexico. Approximately 17th-20th century.</li>
  <li><strong class="uppercase">Protagonist,</strong> the Statue of Liberty.</li>
  <li><strong class="uppercase">Antagonist,</strong> an unholy alliance between Native Americans and the Soviet Union.</li>
  <li><strong class="uppercase">Plot,</strong> armed only with a John Deere combine, the Statue of Liberty must defend America from Geronimo and the KGB. Her sidekick, Talvinder Singh, is an all-American type whose family has been here since the Mayflower landing. His father was the President until he allied himself with the Soviet Union. The story culminates in the defense of the Alamo against a Soviet invasion during the space race, when the Soviet Union attempted to capture NASA headquarters in Texas.</li>
</ul>

<p>Hilarious? Maybe. Lazy? Yes.</p>

<p>There are some shining moments in this game. Despite the lack of any sort of authenticity in the dialog, and the occasional melodrama, there are some gems that warmed me up to the Prince and his sidekick. But without an authentic context &mdash; neither with history nor with a strong emotional story &mdash; the game exists in a vacuum of sorts: I play it, and when I&#8217;m done the only thing that&#8217;s changed is that I have lost about 10 hours.</p>
<p>It could have been an enlightening experience about Persian history and culture. It could have used Farsi words and names, taken place in real places, and used real Persian voices. It&#8217;s not like there aren&#8217;t already a lot of cool places in Iran, like the <a href="http://en.wikipedia.org/wiki/Arg-%C3%A9_Bam">Arg-é Bam</a>, to provide a backdrop for an historical Persian game.</p>
<p>Without any of this, <em>Prince of Persia</em> amounts to jumping around and hunting for collectibles in a Middle Eastern themed <a href="http://en.wikipedia.org/wiki/Epcot_Center#World_Showcase">Epcot center</a>. It should have been called <em>A Vagabond Travels Through A Land That Is Vaguely Reminiscent Of What You May Think Persia Is</em>.</p>]]></content:encoded>
			<wfw:commentRss>http://deva0.net/blog/2009/06/review-prince-of-persia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nine Answers for Dennis Prager</title>
		<link>http://deva0.net/blog/2009/04/nine-answers-for-dennis-prager/</link>
		<comments>http://deva0.net/blog/2009/04/nine-answers-for-dennis-prager/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 13:52:34 +0000</pubDate>
		<dc:creator>Jesse Dhillon</dc:creator>
				<category><![CDATA[Politics]]></category>
		<category><![CDATA[conservative]]></category>
		<category><![CDATA[talk radio]]></category>
		<category><![CDATA[terrorism]]></category>
		<category><![CDATA[torture]]></category>

		<guid isPermaLink="false">http://deva0.net/?p=135</guid>
		<description><![CDATA[What's got me all pissed off today is a post by Dennis Prager, a radio talk show host who thinks he's trapped torture opponents between accepting the use of torture and admitting that they place ideology above American lives.]]></description>
			<content:encoded><![CDATA[<style type="text/css">
ol li ol {
  margin: 12px 0;
}
</style>

<p>I have a pet peeve: assholes who use bad reasoning to make themselves look clever. My disdain is not limited to one end of the political spectrum, as I have in the past and will continue to point out the ridiculous logic people use to support their points, regardless of political orientation. It really is next to demagoguery when these people trot out their fallacious thinking.</p>

<p>What&#8217;s got me all pissed off today is a post by Dennis Prager, a radio talk show host who <a title="Dennis Prager: Nine Questions the Left Needs to Answer About Torture" href="http://dennisprager.townhall.com/columnists/DennisPrager/2009/04/28/nine_questions_the_left_needs_to_answer_about_torture?page=1" target="_blank">thinks he&#8217;s trapped torture opponents</a> between accepting the use of torture and admitting that they place ideology above American lives. What&#8217;s really got me pissed is the faux-sincerity with which these questions are posed: the patronizing voice, the nominal homage to intellectual inquest and the beguiling presentation of the points in the form of an argument when truly this is just another piece of fluff.</p>

<p>Well Mr.Prager, I&#8217;ve got some answers for you, as well as some questions in return,</p>

<ol>
<li><blockquote><p>Given how much you rightly hate torture, why did you oppose the removal of Saddam Hussein, whose prisons engaged in far more hideous tortures, on thousands of times more people, than America did &#8212; all of whom, moreover, were individuals and families who either did nothing or simply opposed tyranny? One assumes, furthermore, that all those Iraqi innocents Saddam had put into shredding machines or whose tongues were cut out and other hideous tortures would have begged to be waterboarded.</p></blockquote>
<p>First, I challenge the premise that someone vocally opposed the specific goal of ending Saddam Hussein&#8217;s torture, i.e. someone was prompted with the goal of closing a torture chamber and responded negatively. Rather, the goal of closing a torture chamber was folded into a larger goal of occupation and regime change, which entails other consequences, e.g. American deaths, blowback, and humanitarian concerns. The opposition was to the consequences of the larger goals, not to their smaller features.</p><p>Second, it is neither the responsibility of America nor within its capability to end human rights abuses everywhere in the world. Given our limited resources and our goal of spreading and defending freedom across the world, we must apply ourselves in a way that most effectively utilizes our political, military and economic capabilities. There can be no doubt that the invasion of Iraq was a failure in this regard.</p>
<p>Lastly, your characterization of waterboarding would be laughable in other circumstances. Your silent assertion that waterboarding is not really torture &mdash; because more heinous forms of torture exist &mdash; is as stupid as trying to ascertain the desires of people whose tongues are being cut out.</p></li>

<li><blockquote><p>Are all forms of painful pressure equally morally objectionable? In other words, are you willing to acknowledge that there are gradations of torture as, for example, there are gradations of burns, with a third-degree burn considerably more injurious and painful than a first-degree burn? Or is all painful treatment to be considered torture? Just as you, correctly, ask proponents of waterboarding where they draw their line, you, too, must explain where you draw your line.</p></blockquote>
<p>The Eighth Amendment to the Constitution defines a limit: &#8220;&#8230;nor cruel and unusual punishments inflicted.&#8221; Furman v. Georgia provides the definition for such punishments:</p>
<ol>
  <li>The &#8220;essential predicate&#8221; is &#8220;that a punishment must not by its severity be degrading to human dignity,&#8221; especially torture.</li>
  <li>&#8220;A severe punishment that is obviously inflicted in wholly arbitrary fashion.&#8221;</li>
  <li>&#8220;A severe punishment that is clearly and totally rejected throughout society.&#8221;</li>
  <li>&#8220;A severe punishment that is patently unnecessary.&#8221;</li>
</ol>
<p>I think your best argument is to challenge tenets 2 &#038; 4. Another tactic is to attempt to distinguish between interrogation and punishment, &agrave; la Antonin Scalia.</p></li>

<li><blockquote><p>Is any maltreatment of anyone at any time &#8212; even a high-level terrorist with knowledge that would likely save innocents’ lives &#8212; wrong? If there is no question about the identity of a terror suspect , and he can provide information on al-Qaida &#8212; for the sake of clarity, let us imagine that Osama Bin Laden himself were captured &#8212; could America do any form of enhanced interrogation involving pain and/or deprivation to him that you would consider moral and therefore support?</p></blockquote>
<p>Unless someone can demonstrate for me a place and time when these conditions existed, I will regard this as an imaginary and irrelevant question. So my counter to you is, do you advocate the consumption of the meat of purple dragons even though studies have shown that pink panda chops add fewer calories?</p></li>

<li><blockquote><p>If lawyers will be prosecuted for giving legal advice to an administration that you consider immoral and illegal, do you concede that this might inhibit lawyers in the future from giving unpopular but sincerely argued advice to the government in any sensitive area? They will, after all, know that if the next administration disapproves of their work, they will be vilified by the media and prosecuted by the government.</p></blockquote>
<p>Am I worried about whether or not lawyers will shy away from advising the President that he can carry out what may be illegal interrogations? Not really.</p>
<p>First, if laws were broken, the responsibility lies with our leaders who asked these lawyers to formulate legal defenses against acts which they &#8212; our leaders &#8212; might have known were illegal and/or unconstitutional. What other explanation can there be for the preemptive preparation of legal defenses? That said, to paraphrase George W. Bush, it can offer no defense to say that one was simply following orders.</p></li>

<li><blockquote><p>Presumably you would acknowledge that the release of the classified reports on the handling of high-level, post-Sept. 11 terror suspects would inflame passions in many parts of the Muslim world. If innocents were murdered because nonviolent cartoons of Muhammad were published in a Danish newspaper, presumably far more innocents will be tortured and murdered with the release of these reports and photos. Do you accept any moral responsibility for any ensuing violence against American and other civilians?</p></blockquote>
<p>Is it the responsibility of our press to reveal the truth and inform our population, or to placate those who hate us? How and why would I or any American accept responsibility for the actions of belligerent terrorists?</p>
<p>Should Israel accept responsibility for Palestinian suicide bombing, since the existence of Israel is a provocation in the minds of these terrorists? Should George H.W. Bush accept responsibility for the 9/11 attacks, since the presence of American troops in Saudi Arabia is specifically listed as <em>casus belli</em> by Osama bin Laden?</p></li>

<li><blockquote><p>Many members of the intelligence community now feel betrayed and believe that the intelligence community will be weakened in their ability to fight the most vicious organized groups in the world. As reported in the Washington Post, former intelligence officer “(Mark) Lowenthal said that fear has paralyzed agents on the ground. Apparently, many of those in the know are certain that life-saving information was gleaned from high level terror suspects who were waterboarded. As Mike Scheuer, former head of the CIA unit in charge of tracking Osama bin Laden, said, ”We were very certain that the interrogation procedures procured information that was worth having.” If, then, the intelligence community has been adversely affected, do you believe it can still do the work necessary to protect tens, perhaps hundreds, of thousands of people from death and maiming?</p></blockquote>
<p>Yes, I am comfortable that our intelligence services can return to a time not too long ago when they were bound to obey the law. Again, what is the evidence that their efficacy has improved through, for example, the 180+ instances of waterboarding interrogation inflicted against Khaled Sheikh Mohammed?</p></li>

<li><blockquote><p>Will you seek to prosecute members of Congress such as House Speaker Nancy Pelosi, D-Calif., who were made aware of the waterboarding of high-level suspects and voiced no objections?</p></blockquote>
<p>Again, concerning the evidence of the breadth and depth of their knowledge and their failure to act: let it be produced.</p></li>

<li><blockquote><p>Would you agree to releasing the photos of the treatment of Islamic terrorists only if accompanied by photos of what their terror has done to thousands of innocent people around the world? Would you agree to photos &#8212; or at least photo re-enactments &#8212; of, let us say, Iraqi children whose faces were torn off with piano wire by Islamists in Iraq? If not, why not? Isn’t context of some significance here?</p></blockquote>
<p>Who is hiding such photos or preventing them from being released? To my knowledge you are free to produce such photos at this moment! However, you seem to imply that one justifies the other, to which I ask: do two wrongs make a right?</p></li>

<li><blockquote><p>You say that America’s treatment of terror suspects will cause terrorists to treat their captives, especially Americans, more cruelly. On what grounds do you assert this? Did America’s far more moral treatment of Japanese prisoners than Japan’s treatment of American prisoners in World War II have any impact on how the Japanese treated American and other prisoners of war? Do you think that evil people care how morally pure America is?</p></blockquote>
<p>Let us return to the premise of your question #5, where you claim that provocateurs have a responsibility for the acts carried out in response to their provocations.</p>
<p>Therefore, let me put the question to you: if an American is harmed and the specific cited cause is the mistreatment of Arab terrorists will you, as an advocate of such mistreatment, allow yourself to be held responsible for that American&#8217;s life?</p>
<p>If the standard of obedience to the Geneva Convention is weakened, if a precedent of non-conformity is set and followed by other member nations in the same manner that we have skirted our obligations, then yes, I will consider that the responsibility for the weakening of that precedent falls on the Bush Administration. However, the responsibility for the specific violations of course will always fall upon the violator.</p></li>

<blockquote><p>If you do not address these questions, it would appear that you care less about morality and torture than about vengeance against the Bush administration.</p></blockquote>
<p>You have not at all established that any of these questions are relevant to the issue of whether or not potential crimes of the previous administration ought to be investigated and their perpetrators prosecuted.</p>]]></content:encoded>
			<wfw:commentRss>http://deva0.net/blog/2009/04/nine-answers-for-dennis-prager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fridays in Jerusalem</title>
		<link>http://deva0.net/blog/2009/04/fridays-in-jerusalem/</link>
		<comments>http://deva0.net/blog/2009/04/fridays-in-jerusalem/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 15:05:05 +0000</pubDate>
		<dc:creator>Jesse Dhillon</dc:creator>
				<category><![CDATA[Comics]]></category>
		<category><![CDATA[Fridays in Jersualem]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[bar lev]]></category>
		<category><![CDATA[fiction]]></category>
		<category><![CDATA[golan heights]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[israel]]></category>
		<category><![CDATA[sinai]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://deva0.net/?p=113</guid>
		<description><![CDATA[<p>Unknown to most of my friends is the fact that, in addition to Computer Science, I also majored in Political Science while at U.C. Berkeley. I was never interested in pursuing a career in the field, but I just loved politics — and still do — so much that I wanted to take in all I could about the subject. I think that all good stories teach people something about the world around them, and politics is an obvious way to do that, if you can do it well.</p>]]></description>
			<content:encoded><![CDATA[<p>Unknown to most of my friends is the fact that, in addition to Computer Science, I also majored in Political Science while at U.C. Berkeley. I was never interested in pursuing a career in the field, but I just loved politics — and still do — so much that I wanted to take in all I could about the subject. I think that all good stories teach people something about the world around them, and politics is an obvious way to do that, if you can do it well.</p>

<p><em>Fridays in Jerusalem</em> looks at the obscure, untold stories of the Arab-Israeli conflict in a new way: by asking &#8220;What if?&#8221; <em>Fridays</em> will be a collection of short stories — written by me and illustrated by professional comic artists — each of which takes place in different alternate history universes where the history of the Middle East has deviated from our current history at some branching off point. The purpose of each story is to illuminate the conflict by changing an obscure or seemingly minor detail of our current history, then explore its impact by examining how things could have been different. The compelling dramas are intended to reveal the hopes, desires, emotions and concerns behind the simple labels which for too many represent the entire depth of their understanding of this conflict.</p>

<p>My hope is that through reading these stories readers will be connected, and in some cases reconnected, to the humanity of the people caught on both sides of the conflict. In a conflict such as the Arab-Israeli conflict, the highest stakes are at risk for the people involved, and too often this means that perspectives become polarized and immovable. Nothing is a bigger impediment to resolution than having people sitting around with their arms folded, each insisting that the other side see their point before any concessions can be made. My purpose in writing <em>Fridays in Jerusalem</em> is to give honest brokers on both sides some leverage in breaking that deadlock.</p>


<div id="attachment_114" class="wp-caption aligncenter" style="width: 430px"><a href="http://www.flickr.com/photos/lapidim/48733847/"><img src="http://deva0.net/wp-content/uploads/2009/04/jerusalem.jpg" alt="Tower of David, Jerusalem (Old City). Image &copy; 2009 Flickr user lapidim" title="Jerusalem of Gold" width="420" height="281" class="size-full wp-image-114" /></a><p class="wp-caption-text">Tower of David, Jerusalem (Old City). Image &copy; 2009 Flickr user lapidim</p></div>

<p>The first story, currently being written, explores the significance of the Golan Heights battle in the Yom Kippur war by asking what would have changed if the Israelis had both evacuated Nafekh and lost the battle at the Valley of Tears. The main protagonist is a conscript manning the Bar Lev line in the Sinai, on the opposite end of the war. At the outset of the war, he is forced to withdraw his position in the face of an overwhelming Egyptian advance. As news of the Syrian advance in the Golan reaches him, his concern turns away from his country to his family at home, situated on Israel&#8217;s northern border. I intend for this story to be a suspenseful drama and an intense political thriller, about the size of one comic book issue.</p>

<p>A key challenge in this project will be getting the illustration done. I want the art to be of the highest quality, and from what I can tell at the moment, this means upward of $150 per page. The entire project will have 5 stories, each about 22-28 pages, raising the production costs above $20,000. At the moment I don&#8217;t have this kind of funding, so I am focused on writing, which only costs me time.</p>

<p>Keep watching this space for updates and releases.</p>

<h3 class="update">Update</h3>
<small class="timestamp meta">Friday 29 January 2010</small>
<p>I spent an incredible amount of time doing research about the Arab-Israeli conflict in 2009. It was great and I learned a great deal about military tactics, nuclear weapons programmes, espionage, foreign relations and the Roman Empire. At this point I&#8217;ve decided that it would be an interesting project to do, but it&#8217;s not my top priority. I wrote a few rough and final drafts, but again, finding a suitable artist is too expensive.</p>]]></content:encoded>
			<wfw:commentRss>http://deva0.net/blog/2009/04/fridays-in-jerusalem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
