<?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>Nongraphical.com &#187; Articles</title>
	<atom:link href="http://nongraphical.com/category/articles/feed/" rel="self" type="application/rss+xml" />
	<link>http://nongraphical.com</link>
	<description>A dynamic trapeze of web design, programming, and randomness.</description>
	<lastBuildDate>Wed, 09 Jun 2010 18:15:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Problems with the Linux desktop</title>
		<link>http://nongraphical.com/2009/01/problems-with-the-linux-desktop/</link>
		<comments>http://nongraphical.com/2009/01/problems-with-the-linux-desktop/#comments</comments>
		<pubDate>Fri, 02 Jan 2009 17:04:13 +0000</pubDate>
		<dc:creator>fyhuang</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[economics]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://nongraphical.com/?p=193</guid>
		<description><![CDATA[(Up&#173;date: in ret&#173;ro&#173;spect, I have re&#173;al&#173;ized that this ar&#173;ti&#173;cle is per&#173;haps not so well writ&#173;ten. Ex&#173;pect some&#173;thing more use&#173;ful and co&#173;her&#173;ent soon!)

Lin&#173;ux seems like the per&#173;fect so&#173;lu&#173;tion for the new brand of portable PCs, net&#173;books. It&#8217;s ef&#173;fi&#173;cient, re&#173;quires few re&#173;sources, and can run most if not all of the pro&#173;grams one usu&#173;al&#173;ly runs on such [...]]]></description>
			<content:encoded><![CDATA[<p><em>(Up&shy;date: in ret&shy;ro&shy;spect, I have re&shy;al&shy;ized that this ar&shy;ti&shy;cle is per&shy;haps not so well writ&shy;ten. Ex&shy;pect some&shy;thing more use&shy;ful and co&shy;her&shy;ent soon!)</em></p>

<p>Lin&shy;ux seems like the per&shy;fect so&shy;lu&shy;tion for the new brand of portable PCs, net&shy;books. It&#8217;s ef&shy;fi&shy;cient, re&shy;quires few re&shy;sources, and can run most if not all of the pro&shy;grams one usu&shy;al&shy;ly runs on such small com&shy;put&shy;ers - word pro&shy;cess&shy;ing, email, web brows&shy;ing, and so on. Large, com&shy;plex soft&shy;ware pack&shy;ages that re&shy;quire Win&shy;dows to run per&shy;form abysmal&shy;ly on low-pow&shy;er com&shy;put&shy;ers like net&shy;books, so ef&shy;fec&shy;tive&shy;ly the need to run Win&shy;dows is nul&shy;li&shy;fied.</p>

<p>Why, then, do con&shy;sumers (and re&shy;view&shy;ers!) choose Win&shy;dows over Lin&shy;ux for net&shy;books?
<span id="more-193"></span></p>

<p><em>(In the re&shy;main&shy;der of this ar&shy;ti&shy;cle, I will refer to &#8220;Lin&shy;ux&#8221; when I some&shy;times mean &#8220;the Lin&shy;ux com&shy;mu&shy;ni&shy;ty&#8221; and oc&shy;ca&shy;sion&shy;al&shy;ly &#8220;the open-source com&shy;mu&shy;ni&shy;ty at large&#8221;.)</em></p>

<h3>User In&shy;ter&shy;face</h3>

<p>I think the prob&shy;lem is two-fold. First, Lin&shy;ux&#8217;s user-in&shy;ter&shy;face is still not up to par with that of Win&shy;dows, even Win&shy;dows XP. GNOME&#8217;s user-in&shy;ter&shy;face has not been tru&shy;ly up&shy;dat&shy;ed for years, and the ba&shy;sic com&shy;po&shy;nents of a Lin&shy;ux UI - the file man&shy;ager (Nau&shy;tilus), the web browser (Fire&shy;fox) sim&shy;ply don&#8217;t run as well as their Win&shy;dows coun&shy;ter&shy;parts. By some trick or sleight of hand, Win&shy;dows Ex&shy;plor&shy;er and Fire&shy;fox on Win&shy;dows sim&shy;ply run faster than on Lin&shy;ux. No, it&#8217;s not mea&shy;sured in raw per&shy;for&shy;mance - if any&shy;thing, web page ren&shy;der rates on Lin&shy;ux should be faster. When the user clicks a but&shy;ton in Win&shy;dows, or dou&shy;ble-clicks a file fold&shy;er, or any&shy;thing of the sort, the com&shy;put&shy;er sim&shy;ply re&shy;sponds faster. Espe&shy;cial&shy;ly if the com&shy;put&shy;er is new, com&shy;put&shy;er re&shy;spon&shy;se time in Win&shy;dows is al&shy;most in&shy;stant.</p>

<p>This is not true with Lin&shy;ux. Even though Win&shy;dows tends to slow down far past the level of Lin&shy;ux with time, and Lin&shy;ux more con&shy;sis&shy;tent&shy;ly main&shy;tains re&shy;spon&shy;se time, that first im&shy;pres&shy;sion of the Win&shy;dows in&shy;stant re&shy;spon&shy;se is pow&shy;er&shy;ful. I can&#8217;t put my fin&shy;ger on what caus&shy;es it right now, but cer&shy;tain op&shy;tions in the Lin&shy;ux ker&shy;nel con&shy;fig seem to help. On the whole though, the Lin&shy;ux sys&shy;tem is tuned more for con&shy;sis&shy;tent per&shy;for&shy;mance than in&shy;stant&shy;ly over&shy;rid&shy;able user re&shy;spon&shy;se.</p>

<p>This is ev&shy;i&shy;dent when run&shy;ning mul&shy;ti&shy;ple, in&shy;ten&shy;sive tasks at on&shy;ce. Lin&shy;ux slows down, but ev&shy;ery&shy;thing in the GUI is still click&shy;able. Win&shy;dows, how&shy;ev&shy;er, is much less ca&shy;pable at han&shy;dling com&shy;plex mul&shy;ti&shy;task&shy;ing. Un&shy;for&shy;tu&shy;nate&shy;ly, the or&shy;di&shy;nary user doesn&#8217;t care.</p>

<p>Over&shy;all, Win&shy;dows is just more pleas&shy;ant to use. This is a com&shy;bi&shy;na&shy;tion of the above-de&shy;tailed re&shy;spon&shy;se time ef&shy;fect, and al&shy;so be&shy;cause Lin&shy;ux&#8217;s in&shy;creased flex&shy;i&shy;bil&shy;i&shy;ty, al&shy;so per&shy;tain&shy;ing to the UI, hin&shy;ders us&shy;abil&shy;i&shy;ty. Sim&shy;ply put, the Lin&shy;ux UI needs to be bet&shy;ter de&shy;signed, for <em>or&shy;di&shy;nary users</em> and not for de&shy;vel&shy;op&shy;ers or hack&shy;ers or pow&shy;er users.</p>

<h3>Eco&shy;nomics</h3>

<p>The sec&shy;ond prob&shy;lem is one of eco&shy;nomics. There are two types of goods in a sim&shy;ple eco&shy;nomic anal&shy;y&shy;sis - nor&shy;mal goods and in&shy;fe&shy;ri&shy;or goods. Nor&shy;mal goods are those that you buy more of as your in&shy;come in&shy;creas&shy;es. In&shy;fe&shy;ri&shy;or goods, on the other hand, are goods that you buy on&shy;ly when your in&shy;come is very low. A com&shy;mon ex&shy;am&shy;ple in eco&shy;nomics is sin&shy;gle-ply toi&shy;let pa&shy;per - nor&shy;mal&shy;ly, peo&shy;ple on&shy;ly buy cheap toi&shy;let pa&shy;per when they have a great need to save money. Wealth&shy;ier in&shy;di&shy;vid&shy;u&shy;als avoid the pro&shy;duct al&shy;to&shy;geth&shy;er.</p>

<p>My propo&shy;si&shy;tion is that Lin&shy;ux is cur&shy;rent&shy;ly be&shy;ing seen as an in&shy;fe&shy;ri&shy;or good. <a href="http://blogs.zdnet.com/BTL/?p=11141&amp;tag=nl.e539">This ZD&shy;net blog post</a> ex&shy;plains the si&shy;t&shy;u&shy;a&shy;tion per&shy;tain&shy;ing to Lin&shy;ux in Africa. Ra&shy;dio sta&shy;tions, an im&shy;por&shy;tant tool for com&shy;mu&shy;ni&shy;ca&shy;tion in Africa, prefer to use pi&shy;rat&shy;ed ver&shy;sions of Win&shy;dows in&shy;stead of le&shy;gal&shy;ly ob&shy;tained copies of Lin&shy;ux. The Lin&shy;ux dis&shy;tri&shy;bu&shy;tions pro&shy;posed are specif&shy;i&shy;cal&shy;ly de&shy;signed for their broad&shy;cast&shy;ing pur&shy;pos&shy;es, and in ba&shy;si&shy;cal&shy;ly all re&shy;spects have <em>bet&shy;ter-de&shy;signed</em> UIs (for broad&shy;cast&shy;ing) than Win&shy;dows. In this case, Lin&shy;ux is ob&shy;jec&shy;tive&shy;ly more suit&shy;ed for their pur&shy;pos&shy;es, so why do the ra&shy;dio op&shy;er&shy;a&shy;tors prefer Win&shy;dows?</p>

<p>Ac&shy;cord&shy;ing to that post, Win&shy;dows is seen as a &#8220;first world stan&shy;dard&#8221;, and to the ra&shy;dio sta&shy;tions, en&shy;cour&shy;ag&shy;ing them to use Lin&shy;ux seems like try&shy;ing to &#8220;cheat lo&shy;cal peo&shy;ple out of get&shy;ting the same qual&shy;i&shy;ty of soft&shy;ware that is used in the de&shy;vel&shy;oped world&#8221;. In this case, Lin&shy;ux is seen as the in&shy;fe&shy;ri&shy;or good. It is seen as the pro&shy;duct that one choos&shy;es to use <em>on&shy;ly when one does not have the eco&shy;nomic re&shy;sources to use a &#8220;bet&shy;ter&#8221; pro&shy;duct</em>, like Win&shy;dows.</p>

<p>Part&shy;ly, I blame pre&shy;vi&shy;ous (and in some cas&shy;es still on&shy;go&shy;ing) ad&shy;ver&shy;tis&shy;ing and pub&shy;lic&shy;i&shy;ty for Lin&shy;ux as a &#8220;low-cost al&shy;ter&shy;na&shy;tive&#8221; to Win&shy;dows. The use of both those terms have cre&shy;at&shy;ed huge prob&shy;lems for Lin&shy;ux&#8217;s im&shy;age to&shy;day. It is seen as be&shy;ing the cheap&shy;er &#8220;ver&shy;sion&#8221; of Win&shy;dows - that which one would buy on&shy;ly if they lacked the abil&shy;i&shy;ty to pay for Win&shy;dows. It is al&shy;so paint&shy;ed as an &#8220;al&shy;ter&shy;na&shy;tive&#8221;, and com&shy;bined with the ef&shy;forts (well-placed!) of such pro&shy;jects as wine and OpenOf&shy;fice.org to en&shy;sure Win&shy;dows com&shy;pat&shy;i&shy;bil&shy;i&shy;ty, cre&shy;ates again an im&shy;pres&shy;sion that Lin&shy;ux is try&shy;ing to live up to Win&shy;dows, and should on&shy;ly be used when one has no other choice. In&shy;stead of cre&shy;at&shy;ing choice, Lin&shy;ux seems to have in a way lim&shy;it&shy;ed it.</p>

<h3>So&shy;lu&shy;tions?</h3>

<p><img src="http://nongraphical.com/blog/wp-content/uploads/2009/01/ubuntulozengestraplogo.png" alt="ubuntulozengestraplogo" title="ubuntulozengestraplogo" width="450" height="138" class="alignnone size-full wp-image-202" /></p>

<p>I hon&shy;est&shy;ly don&#8217;t think very many peo&shy;ple, if any&shy;one, has a so&shy;lu&shy;tion to Lin&shy;ux&#8217;s per&shy;sis&shy;tent im&shy;age and mar&shy;ket pen&shy;e&shy;tra&shy;tion prob&shy;lems. I think Ubun&shy;tu, my pre&shy;ferred and fa&shy;vorite Lin&shy;ux dis&shy;tro, is the on&shy;ly dis&shy;tri&shy;bu&shy;tion so far to even come close to a us&shy;able, well-re&shy;spect&shy;ed Lin&shy;ux dis&shy;tri&shy;bu&shy;tion. (In my opin&shy;ion, it&#8217;s more well-re&shy;spect&shy;ed than us&shy;able.) I don&#8217;t claim to have the an&shy;swers ei&shy;ther. How&shy;ev&shy;er, I do think that Lin&shy;ux needs to <strong>stop copy&shy;ing Win&shy;dows</strong>. I don&#8217;t think that Mi&shy;crosoft&#8217;s UI is nec&shy;es&shy;sar&shy;i&shy;ly the best ei&shy;ther. OpenOf&shy;fice.org doesn&#8217;t have to look <em>ex&shy;act&shy;ly</em> like Mi&shy;crosoft Of&shy;fice 2003. More UI in&shy;no&shy;va&shy;tion from with&shy;in the open-source com&shy;mu&shy;ni&shy;ty, and al&shy;so more open-source UI de&shy;sign&shy;ers, are need&shy;ed. Lin&shy;ux should be aim&shy;ing for in&shy;creased us&shy;abil&shy;i&shy;ty, not sim&shy;ply look-alike Win&shy;dows func&shy;tion&shy;al&shy;i&shy;ty. UIs for pro&shy;grams need to be de&shy;signed, re&shy;viewed, and test&shy;ed, with third-par&shy;ty test sub&shy;jects, if pos&shy;si&shy;ble.</p>

<p>I do not con&shy;done, how&shy;ev&shy;er, de&shy;creased Win&shy;dows com&shy;pat&shy;i&shy;bil&shy;i&shy;ty. Lin&shy;ux needs to work flaw&shy;less&shy;ly with Win&shy;dows file for&shy;mats and net&shy;works (and, to some ex&shy;tent, Win&shy;dows ap&shy;pli&shy;ca&shy;tions) in order to be com&shy;pet&shy;i&shy;tive. De&shy;vel&shy;op&shy;ment al&shy;so needs to be easier on Lin&shy;ux. Face it friends, au&shy;to&shy;conf and au&shy;tomake are out&shy;dat&shy;ed and clum&shy;sy. Make&shy;files are out&shy;dat&shy;ed. IDEs, such as KDe&shy;vel&shy;op (in all other re&shy;spects an ex&shy;cel&shy;lent IDE!), that re&shy;quire the use of au&shy;to&shy;conf and au&shy;tomake are, by ex&shy;ten&shy;sion, out&shy;dat&shy;ed. Soft&shy;ware de&shy;vel&shy;op&shy;ment is too slow and clum&shy;sy right now on Lin&shy;ux. This is not to say that Lin&shy;ux-based soft&shy;ware de&shy;vel&shy;op&shy;ment tech&shy;nolo&shy;gies are bad! Sub&shy;ver&shy;sion, for ex&shy;am&shy;ple, is an ex&shy;cel&shy;lent ver&shy;sion con&shy;trol sys&shy;tem. Un&shy;for&shy;tu&shy;nate&shy;ly, it&#8217;s most easi&shy;ly used in con&shy;junc&shy;tion with a Win&shy;dows-based IDE. Soft&shy;ware de&shy;vel&shy;op&shy;ment needs to be re&shy;moved from the do&shy;main of the text-based ed&shy;i&shy;tors and com&shy;mand-line hack&shy;ers, and in&shy;to the do&shy;main of easy, rapid, com&shy;mer&shy;cial (and vol&shy;un&shy;teer) de&shy;vel&shy;op&shy;ment. User-in&shy;ter&shy;face de&shy;vel&shy;op&shy;ment, for ex&shy;am&shy;ple, is ex&shy;treme&shy;ly easy on Win&shy;dows due to Mi&shy;crosoft&#8217;s well-de&shy;signed tools for UI de&shy;vel&shy;op&shy;ment. Sure, Qt De&shy;sign&shy;er fills the same shoes, but Mi&shy;crosoft&#8217;s tools are bet&shy;ter-made, and more flex&shy;i&shy;ble with&shy;out sac&shy;ri&shy;ficing us&shy;abil&shy;i&shy;ty. If Lin&shy;ux could adopt a con&shy;sis&shy;tent pol&shy;i&shy;cy on which UI toolk&shy;it to use, and then make that UI toolk&shy;it very easy to pro&shy;gram with, I&#8217;m cer&shy;tain that ap&shy;pli&shy;ca&shy;tion de&shy;vel&shy;op&shy;ment on Lin&shy;ux would blos&shy;som.</p>

<p>Ob&shy;vi&shy;ous&shy;ly the open-source de&shy;vel&shy;op&shy;ment mod&shy;el has been rel&shy;a&shy;tive&shy;ly suc&shy;cess&shy;ful up to this point. Its free flow of in&shy;for&shy;ma&shy;tion and code en&shy;cour&shy;ages it&shy;er&shy;a&shy;tive de&shy;vel&shy;op&shy;ment and widens the net for pro&shy;gram&shy;ming tal&shy;ent. Un&shy;for&shy;tu&shy;nate&shy;ly, it still has a long way to go. Lin&shy;ux&#8217;s rep&shy;u&shy;ta&shy;tion can&shy;not be fixed by more ef&shy;fec&shy;tive cod&shy;ing alone. The user-in&shy;ter&shy;face prob&shy;lems that many Lin&shy;ux pro&shy;grams face can&shy;not be fixed with&shy;out a more com&shy;mer&shy;cial-like de&shy;vel&shy;op&shy;ment mod&shy;el, or more full-time (may&shy;be paid!) work&shy;ers. Un&shy;til that hap&shy;pens, Lin&shy;ux is like&shy;ly to re&shy;main an in&shy;fe&shy;ri&shy;or pro&shy;duct in the eyes of the pub&shy;lic.</p>
]]></content:encoded>
			<wfw:commentRss>http://nongraphical.com/2009/01/problems-with-the-linux-desktop/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Causes of video game piracy</title>
		<link>http://nongraphical.com/2008/12/causes-of-video-game-piracy/</link>
		<comments>http://nongraphical.com/2008/12/causes-of-video-game-piracy/#comments</comments>
		<pubDate>Sat, 27 Dec 2008 19:03:06 +0000</pubDate>
		<dc:creator>fyhuang</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[anti-consumer]]></category>
		<category><![CDATA[drm]]></category>
		<category><![CDATA[pc gaming]]></category>
		<category><![CDATA[piracy]]></category>
		<category><![CDATA[realism]]></category>
		<category><![CDATA[steam]]></category>
		<category><![CDATA[valve]]></category>

		<guid isPermaLink="false">http://nongraphical.com/?p=180</guid>
		<description><![CDATA[

There&#8217;s been a lot of talk re&#173;cent&#173;ly about why PC gam&#173;ing is &#8220;doomed&#8221;, main&#173;ly be&#173;cause of the ev&#173;er-grow&#173;ing amount of PC game pi&#173;ra&#173;cy. I don&#8217;t nec&#173;es&#173;sar&#173;i&#173;ly think that PC gam&#173;ing is doomed at all, although I do think there will be a sig&#173;nif&#173;i&#173;cant shift in the way the PC game mar&#173;ket works - to&#173;wards a [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://nongraphical.com/blog/wp-content/uploads/2008/12/tpb.jpg" alt="" title="tpb" width="275" height="295" class="alignnone size-full wp-image-181" /></p>

<p>There&#8217;s been a lot of talk re&shy;cent&shy;ly about why PC gam&shy;ing is &#8220;doomed&#8221;, main&shy;ly be&shy;cause of the ev&shy;er-grow&shy;ing amount of PC game pira&shy;cy. I don&#8217;t nec&shy;es&shy;sar&shy;i&shy;ly think that PC gam&shy;ing is doomed at all, although I do think there will be a sig&shy;nif&shy;i&shy;cant shift in the way the PC game mar&shy;ket works - to&shy;wards a more con&shy;trolled dis&shy;tri&shy;bu&shy;tion mod&shy;el, per&shy;haps, like Steam.</p>

<p>This is what I think about pira&shy;cy, how&shy;ev&shy;er. It&#8217;s a self-sus&shy;tain&shy;ing cy&shy;cle, in a way: high video game prices en&shy;cour&shy;age gamers to pi&shy;rate games in&shy;stead of buy&shy;ing them, &#8220;forc&shy;ing&#8221; video game man&shy;u&shy;fac&shy;tur&shy;ers to raise prices or keep prices high in order to not lose rev&shy;enue. Those high prices in turn con&shy;tin&shy;ue to en&shy;cour&shy;age pira&shy;cy. This loop is not nec&shy;es&shy;sar&shy;i&shy;ly un&shy;break&shy;able, though there are sev&shy;er&shy;al fac&shy;tors that, in my opin&shy;ion, con&shy;tribute to its sus&shy;te&shy;nance:
<span id="more-180"></span></p>

<ol>
<li><p><strong>Too much push for re&shy;al&shy;ism.</strong> High qual&shy;i&shy;ty graph&shy;ics is not nec&shy;es&shy;sar&shy;i&shy;ly pho&shy;to&shy;re&shy;al&shy;ism, but the ob&shy;ses&shy;sion with pho&shy;to&shy;re&shy;al&shy;ism ba&shy;si&shy;cal&shy;ly en&shy;sures that de&shy;vel&shy;op&shy;ers and pub&shy;lish&shy;ers spend enor&shy;mous amounts of money on game de&shy;vel&shy;op&shy;ment, and are sub&shy;se&shy;quent&shy;ly ex&shy;treme&shy;ly afraid of &#8220;lost&#8221; rev&shy;enue. This keeps game prices high. I think per&shy;haps a bet&shy;ter &#8220;mar&shy;ket&shy;ing catch&shy;phrase&#8221; would be <strong>be&shy;liev&shy;abil&shy;i&shy;ty</strong>. Most games are not re&shy;al&shy;is&shy;tic at all in any way ex&shy;cept for graph&shy;ics - after all, why play a game if you could do the same thing in re&shy;al life? Games are, al&shy;most by def&shy;i&shy;ni&shy;tion, un&shy;re&shy;al&shy;is&shy;tic. That&#8217;s what makes them fun. Games do, how&shy;ev&shy;er, need to be be&shy;liev&shy;able. They need to pro&shy;duce sus&shy;pen&shy;sion of dis&shy;be&shy;lief in the gamer, just like a good movie.</p></li>
<li><p><strong>An&shy;ti-con&shy;sumer poli&shy;cies.</strong> This in&shy;cludes schemes such as DRM and copy pro&shy;tec&shy;tion. It is help&shy;ful here to cat&shy;e&shy;go&shy;rize pira&shy;cy in&shy;to two groups - &#8220;dis&shy;tri&shy;bu&shy;tion&#8221; pira&shy;cy and &#8220;con&shy;sump&shy;tion&#8221; pira&shy;cy. Pira&shy;cy con&shy;sumers are often some&shy;what ig&shy;no&shy;rant of their ac&shy;tions - they are sim&shy;ply look&shy;ing for a cheap&shy;er way to play a game. Con&shy;sumers are not nec&shy;es&shy;sar&shy;i&shy;ly skilled at ma&shy;nip&shy;u&shy;lat&shy;ing com&shy;put&shy;ers or games. Pi&shy;rate dis&shy;trib&shy;u&shy;tors are com&shy;plete&shy;ly aware of their ac&shy;tions, and are usu&shy;al&shy;ly the ones who break the en&shy;cryp&shy;tion schemes on most games. They are usu&shy;al&shy;ly very com&shy;put&shy;er-saavy.</p>

<p>Which group is tar&shy;get&shy;ed by game copy pro&shy;tec&shy;tion schemes? Pub&shy;lish&shy;ers would like to think the con&shy;sumers. Copy pro&shy;tec&shy;tion pre&shy;vents &#8220;ca&shy;su&shy;al pira&shy;cy&#8221;, they say. How&shy;ev&shy;er, in my opin&shy;ion the re&shy;al&shy;i&shy;ty is, &#8220;ca&shy;su&shy;al pira&shy;cy&#8221; oc&shy;curs when a pira&shy;cy con&shy;sumer un&shy;know&shy;ing&shy;ly down&shy;loads a pi&shy;rat&shy;ed pro&shy;duct from the In&shy;ter&shy;net, that <em>al&shy;ready has the copy pro&shy;tec&shy;tion re&shy;moved</em>. I&#8217;m pret&shy;ty sure that pub&shy;lish&shy;ers lose much more money from widespread In&shy;ter&shy;net dis&shy;tri&shy;bu&shy;tion of pi&shy;rat&shy;ed games than they do from, say, Joe&shy;Bob giv&shy;ing his bud&shy;dies a copy of the game so they can all play to&shy;geth&shy;er. Copy pro&shy;tec&shy;tion re&shy;al&shy;ly tar&shy;gets pi&shy;rate dis&shy;trib&shy;u&shy;tors - it sup&shy;pos&shy;ed&shy;ly makes it hard&shy;er for them to dis&shy;tribute games il&shy;le&shy;gal&shy;ly. Does it? Def&shy;i&shy;nite&shy;ly not. Cur&shy;rent in&shy;dus&shy;try copy pro&shy;tec&shy;tion schemes (Se&shy;curom, Safedisc, etc.) are easi&shy;ly bro&shy;ken by pi&shy;rates. &#8220;No-CD cracks&#8221; for games are re&shy;leased by pi&shy;raters some&shy;times even be&shy;fore the game is re&shy;leased. Worst of all, **copy pro&shy;tec&shy;tion schemes con&shy;vince pi&shy;rate dis&shy;trib&shy;u&shy;tors that the game pub&shy;lish&shy;ers are evil and greedy and don&#8217;t de&shy;serve the prof&shy;its from video game sales. This leads them to con&shy;tin&shy;ue pi&shy;rat&shy;ing video games.</p>

<p>What&#8217;s the lesson here? Copy pro&shy;tec&shy;tion doesn&#8217;t work, it&#8217;s easi&shy;ly bro&shy;ken, and all it does is make things worse.</p></li>
</ol>

<p>Some so&shy;lu&shy;tions have been pro&shy;posed to the&shy;se prob&shy;lems. Cen&shy;tral&shy;ized con&shy;tent dis&shy;tri&shy;bu&shy;tion sys&shy;tems, like Steam, pro&shy;pose a seem&shy;ing&shy;ly al&shy;most-per&shy;fect way to con&shy;trol the&shy;se fac&shy;tors. The built-in &#8220;ac&shy;ti&shy;va&shy;tion&#8221; sys&shy;tem pre&shy;vents gamers from in&shy;stalling games that they do not own (as long as those games are Steam-ex&shy;clu&shy;sive), giv&shy;ing pub&shy;lish&shy;ers peace of mind in know&shy;ing that their prod&shy;ucts will have to bring in rev&shy;enue to be played. How&shy;ev&shy;er, Steam is in&shy;stal&shy;lable on as many com&shy;put&shy;ers as the user wants, along with its games, so it does not pre&shy;clude small groups of friends from play&shy;ing a game to&shy;geth&shy;er. (Its ac&shy;ti&shy;va&shy;tion sys&shy;tem pre&shy;vents mul&shy;ti&shy;ple copies of a game to be played on&shy;line si&shy;mul&shy;ta&shy;ne&shy;ous&shy;ly.) The na&shy;ture of hav&shy;ing an ac&shy;count with a user&shy;name and pass&shy;word makes many peo&shy;ple he&shy;si&shy;tant to freely give away their cre&shy;den&shy;tials, mak&shy;ing ram&shy;pant pira&shy;cy much less ap&shy;peal&shy;ing.</p>

<p>Its on&shy;ly flaws are this. One is pure&shy;ly tech&shy;ni&shy;cal - Steam does not work through proxy servers, mak&shy;ing life ex&shy;treme&shy;ly dif&shy;fi&shy;cult for some gamers be&shy;hind prox&shy;ies. This can sure&shy;ly be re&shy;solved, easi&shy;ly, through some fu&shy;ture Steam up&shy;date. The other is some&shy;thing of a mar&shy;ket flaw - Steam on&shy;ly al&shy;lows games to be pur&shy;chased new, then kept or gift&shy;ed. There is no &#8220;used games&#8221; mar&shy;ket on Steam. Some gamers (in&shy;clud&shy;ing my&shy;self) buy most games used, which is cheap&shy;er and very ap&shy;peal&shy;ing for those will&shy;ing to wait for a pe&shy;ri&shy;od after a game&#8217;s re&shy;lease. eBay prices for many old games are ex&shy;ceed&shy;ing&shy;ly af&shy;ford&shy;able. How&shy;ev&shy;er, be&shy;cause of Steam&#8217;s lack of a used game mar&shy;ket, all game pur&shy;chas&shy;es on Steam are at some&shy;what in&shy;flat&shy;ed prices. A game that one could buy on eBay for less than $10 might still sell for $40 on Steam. Gamers who no longer wish to play some game do not have the op&shy;tion to re&shy;cov&shy;er some of their ex&shy;pens&shy;es in pur&shy;chas&shy;ing it - their on&shy;ly op&shy;tion is to give the game away to an&shy;oth&shy;er Steam user. This means that sec&shy;ond-hand trans&shy;fers of games on Steam is very lim&shy;it&shy;ed.</p>

<p>I think, with the res&shy;o&shy;lu&shy;tion of the&shy;se mi&shy;nor is&shy;sues, plat&shy;forms like Steam will be&shy;come the ubiq&shy;ui&shy;tous method of dis&shy;tribut&shy;ing games on the PC. Lest de&shy;vel&shy;op&shy;ers feel that con&shy;sole dis&shy;tri&shy;bu&shy;tion is the on&shy;ly way to go, let me put forth my opin&shy;ion that con&shy;sole gam&shy;ing is even more an&shy;ti-con&shy;sumer: it forces the con&shy;sumer to buy en&shy;tire&shy;ly new, un&shy;flex&shy;i&shy;ble hard&shy;ware if some game is ex&shy;clu&shy;sive to one par&shy;tic&shy;u&shy;lar con&shy;sole. There are cur&shy;rent&shy;ly no such things as cross-con&shy;sole stan&shy;dards. And do not think that con&shy;sole games can&shy;not be pi&shy;rat&shy;ed. Sim&shy;ple en&shy;cryp&shy;tion schemes and spe&shy;cial&shy;ized me&shy;dia do not pre&shy;vent con&shy;sole games and em&shy;u&shy;la&shy;tors from be&shy;ing dis&shy;tribut&shy;ed wide&shy;ly on the In&shy;ter&shy;net, as they are even now.</p>
]]></content:encoded>
			<wfw:commentRss>http://nongraphical.com/2008/12/causes-of-video-game-piracy/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Firefox bookmark shortcuts</title>
		<link>http://nongraphical.com/2008/12/firefox-bookmark-shortcuts/</link>
		<comments>http://nongraphical.com/2008/12/firefox-bookmark-shortcuts/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 03:49:49 +0000</pubDate>
		<dc:creator>fyhuang</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://nongraphical.com/?p=175</guid>
		<description><![CDATA[This is a neat trick I found in Fire&#173;fox. This works at least in Fire&#173;fox 3 and may al&#173;so work in Fire&#173;fox 2; I do, how&#173;ev&#173;er, en&#173;cour&#173;age you to up&#173;grade if you&#8217;re still us&#173;ing Fire&#173;fox 2, as the third re&#173;lease brings about many need&#173;ed en&#173;hance&#173;ments in per&#173;for&#173;mance and mem&#173;o&#173;ry usage. Us&#173;ing a book&#173;mark, one can [...]]]></description>
			<content:encoded><![CDATA[<p>This is a neat trick I found in Fire&shy;fox. This works at least in Fire&shy;fox 3 and may al&shy;so work in Fire&shy;fox 2; I do, how&shy;ev&shy;er, en&shy;cour&shy;age you to up&shy;grade if you&#8217;re still us&shy;ing Fire&shy;fox 2, as the third re&shy;lease brings about many need&shy;ed en&shy;hance&shy;ments in per&shy;for&shy;mance and mem&shy;o&shy;ry usage. Us&shy;ing a book&shy;mark, one can turn the lo&shy;ca&shy;tion bar in&shy;to a sort-of com&shy;mand parser, there&shy;by cre&shy;at&shy;ing a sort of &#8220;key&shy;board short&shy;cut&#8221; for that book&shy;mark. This in ef&shy;fect al&shy;lows you to cre&shy;ate your own cus&shy;tom &#8220;key&shy;board short&shy;cuts&#8221; or &#8220;lo&shy;ca&shy;tion bar com&shy;mands&#8221;. Here&#8217;s an ex&shy;am&shy;ple of how it works. Say I want to cre&shy;ate a short&shy;cut for Google Im&shy;age Search. I can go to the Im&shy;age Search page, and right click the box, and se&shy;lect &#8220;Add a key&shy;word for this search&#8221;:</p>

<p><img src="http://nongraphical.com/blog/wp-content/uploads/2008/12/quicksearch.png" alt="" title="quicksearch" width="500" height="306" class="alignnone size-full wp-image-176" /></p>

<p>En&shy;ter some name for your search; the name doesn&#8217;t mat&shy;ter. <em>(Al&shy;ter&shy;na&shy;tive&shy;ly, you could sim&shy;ply cre&shy;ate a new book&shy;mark; its tar&shy;get (&#8220;lo&shy;ca&shy;tion&#8221;) should be some&shy;thing like <code>http://www.google.com/search?q=%s</code>, where <code>%s</code> rep&shy;re&shy;sents what will be searched on. Right-click the book&shy;mark you just cre&shy;at&shy;ed and click &#8220;prop&shy;er&shy;ties&#8221;.)</em> This di&shy;alog box will pop up:</p>

<p><img src="http://nongraphical.com/blog/wp-content/uploads/2008/12/quicksearch2.png" alt="" title="quicksearch2" width="377" height="176" class="alignnone size-full wp-image-177" /></p>

<p>In &#8220;key&shy;word&#8221;, type the &#8220;com&shy;mand&#8221; that you wish to use to ac&shy;cess this short&shy;cut. In this case, I would use some&shy;thing like &#8220;imgs&#8221; or &#8220;is&#8221;. One-let&shy;ter key&shy;words do not seem to work very well. On&shy;ce you have en&shy;tered the key&shy;word and closed the di&shy;alog, you can type in the lo&shy;ca&shy;tion bar (press CTRL+L to get there quick&shy;ly):</p>

<pre><code>imgs cute pup&shy;pies
</code></pre>

<p>Press en&shy;ter, and be&shy;hold your search un&shy;fold&shy;ing be&shy;fore your eyes.</p>
]]></content:encoded>
			<wfw:commentRss>http://nongraphical.com/2008/12/firefox-bookmark-shortcuts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updated Squid 3 configuration</title>
		<link>http://nongraphical.com/2008/11/updated-squid-3-configuration/</link>
		<comments>http://nongraphical.com/2008/11/updated-squid-3-configuration/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 03:54:51 +0000</pubDate>
		<dc:creator>fyhuang</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[squid3-chain]]></category>

		<guid isPermaLink="false">http://nongraphical.com/?p=130</guid>
		<description><![CDATA[Here is the up&#173;dat&#173;ed ver&#173;sion of my pre&#173;vi&#173;ous au&#173;then&#173;ti&#173;cat&#173;ing/for&#173;ward&#173;ing Squid 3 con&#173;fig. It adds some things and fix&#173;es some things. In par&#173;tic&#173;u&#173;lar, the peer ex&#173;clu&#173;sion rules from the pre&#173;vi&#173;ous con&#173;fig were not work&#173;ing - this one should cor&#173;rect&#173;ly not use the par&#173;ent prox&#173;ies when query&#173;ing &#8220;lo&#173;cal ad&#173;dress&#173;es&#8221;. As be&#173;fore, the con&#173;fig&#173;u&#173;ra&#173;tion file con&#173;tains two proxy [...]]]></description>
			<content:encoded><![CDATA[<p>Here is the up&shy;dat&shy;ed ver&shy;sion of my <a href="http://nongraphical.com/2008/09/squid-3-proxy-chaining/">pre&shy;vi&shy;ous au&shy;then&shy;ti&shy;cat&shy;ing/for&shy;ward&shy;ing Squid 3 con&shy;fig</a>. It adds some things and fix&shy;es some things. In par&shy;tic&shy;u&shy;lar, the peer ex&shy;clu&shy;sion rules from the pre&shy;vi&shy;ous con&shy;fig were not work&shy;ing - this one should cor&shy;rect&shy;ly <em>not use</em> the par&shy;ent prox&shy;ies when query&shy;ing &#8220;lo&shy;cal ad&shy;dress&shy;es&#8221;. As be&shy;fore, the con&shy;fig&shy;u&shy;ra&shy;tion file con&shy;tains two proxy servers for load bal&shy;anc&shy;ing; it can be ex&shy;tend&shy;ed easi&shy;ly to in&shy;clude more.<span id="more-130"></span> Here it is for your en&shy;joy&shy;ment:</p>

<pre><code>cache_ef&shy;fec&shy;tive_user proxy
cache_ef&shy;fec&shy;tive_group proxy

http_port 3128
http_ac&shy;cess al&shy;low all

acl lo&shy;cal_ips dst 127.0.0.0/8 192.168.0.0/24 10.10.0.0/16
acl lo&shy;cal_servers dst&shy;do&shy;main lo&shy;cal&shy;host my.lo&shy;cal.do&shy;main
nev&shy;er_di&shy;rect al&shy;low all
al&shy;ways_di&shy;rect al&shy;low lo&shy;cal_ips
al&shy;ways_di&shy;rect al&shy;low lo&shy;cal_servers

acl http-on&shy;ly port 80
cache_peer first&shy;Proxy.site.com par&shy;ent 3128 3190 no-query proxy-on&shy;ly login=User&shy;name:Pass&shy;word name=prx1
cache_peer sec&shy;ond&shy;Proxy.site.com par&shy;ent 3128 3190 no-query proxy-on&shy;ly login=User&shy;name:Pass&shy;word de&shy;fault name=prx2

# This makes on&shy;ly HTTP load bal&shy;anced
cache_peer_ac&shy;cess prx1 deny all
cache_peer_ac&shy;cess prx1 al&shy;low http-on&shy;ly
cache_peer_ac&shy;cess prx2 al&shy;low all

# Re&shy;in&shy;force&shy;ment of di&shy;rect rules
cache_peer_ac&shy;cess prx1 deny lo&shy;cal_ips
cache_peer_ac&shy;cess prx1 deny lo&shy;cal_servers
cache_peer_ac&shy;cess prx2 deny lo&shy;cal_ips
cache_peer_ac&shy;cess prx2 deny lo&shy;cal_servers

# Some time&shy;outs
con&shy;nect_time&shy;out 8 sec&shy;onds
peer_con&shy;nect_time&shy;out 3 sec&shy;onds

hier&shy;ar&shy;chy_sto&shy;plist cgi-bin ?

cache_mem 64 MB
max&shy;i&shy;mum_ob&shy;ject_size_in_mem&shy;o&shy;ry 64 KB

cache_re&shy;place&shy;ment_pol&shy;i&shy;cy heap GDSF
cache_dir aufs /var/spool/squid3 6000 16 256  # Make sure to check this path
max&shy;i&shy;mum_ob&shy;ject_size 16384 KB

ac&shy;cess_log /var/log/squid3/ac&shy;cess.log squid  # Make sure to check this path

shut&shy;down_life&shy;time 3 sec&shy;onds

de&shy;bug_op&shy;tions ALL,1
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://nongraphical.com/2008/11/updated-squid-3-configuration/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Social gaming? Try HoMM 3!</title>
		<link>http://nongraphical.com/2008/11/social-gaming-try-homm-3/</link>
		<comments>http://nongraphical.com/2008/11/social-gaming-try-homm-3/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 17:13:56 +0000</pubDate>
		<dc:creator>fyhuang</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[casual]]></category>
		<category><![CDATA[homm3]]></category>
		<category><![CDATA[pc]]></category>
		<category><![CDATA[social-gaming]]></category>

		<guid isPermaLink="false">http://nongraphical.com/?p=125</guid>
		<description><![CDATA[Last time I wrote about try&#173;ing to find ca&#173;su&#173;al games for medi&#173;um/large-group so&#173;cial events. We can split mul&#173;ti&#173;play&#173;er video gam&#173;ing in&#173;to a cou&#173;ple of vague&#173;ly-de&#173;fined cat&#173;e&#173;gories; I&#8217;m go&#173;ing to use the term &#8220;ca&#173;su&#173;al&#8221; or &#8220;so&#173;cial gam&#173;ing&#8221; to refer to medi&#173;um-scale so&#173;cial gath&#173;er&#173;ings that in&#173;volve video gam&#173;ing; hard&#173;core gam&#173;ing, of course, is all about the game; [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://nongraphical.com/2008/09/casual-games-for-the-pc/">Last time</a> I wrote about try&shy;ing to find ca&shy;su&shy;al games for medi&shy;um/large-group so&shy;cial events. We can split mul&shy;ti&shy;play&shy;er video gam&shy;ing in&shy;to a cou&shy;ple of vague&shy;ly-de&shy;fined cat&shy;e&shy;gories; I&#8217;m go&shy;ing to use the term &#8220;ca&shy;su&shy;al&#8221; or &#8220;so&shy;cial gam&shy;ing&#8221; to refer to medi&shy;um-scale so&shy;cial gath&shy;er&shy;ings that in&shy;volve video gam&shy;ing; hard&shy;core gam&shy;ing, of course, is all about the game; and we might per&shy;haps call the last group &#8220;LAN par&shy;ty gam&shy;ing&#8221; to indi&shy;cate a mid&shy;dle ground be&shy;tween ca&shy;su&shy;al gam&shy;ing and su&shy;per-in&shy;tense gam&shy;ing.</p>

<p><a href="http://nongraphical.com/blog/wp-content/uploads/2008/11/homm3_1.png"><img src="http://nongraphical.com/blog/wp-content/uploads/2008/11/homm3_1-450x337.png" alt="" title="homm3_1" class="postImage size-medium wp-image-147" /></a></p>

<p>It is for the first cat&shy;e&shy;go&shy;ry, so&shy;cial gam&shy;ing, that I sug&shy;gest a game to&shy;day: <a href="http://en.wikipedia.org/wiki/Heroes_of_Might_and_Magic_III">Heroes of Might and Mag&shy;ic III</a>.<span id="more-125"></span> It&#8217;s kind of an old game - it was re&shy;leased in 1999, but the graph&shy;ics cer&shy;tain&shy;ly don&#8217;t show it. If you look close&shy;ly (and use the map ed&shy;i&shy;tor a lot), you&#8217;ll no&shy;tice that an in&shy;cred&shy;i&shy;ble amount of time was put in&shy;to mak&shy;ing the art&shy;work for the game. Even at the measly 800x600 or what&shy;ev&shy;er res&shy;o&shy;lu&shy;tion the game us&shy;es, the forests and moun&shy;tains and ev&shy;ery&shy;thing are in&shy;cred&shy;i&shy;bly de&shy;tailed.</p>

<p>What is most in&shy;ter&shy;est&shy;ing about the game, how&shy;ev&shy;er, is its po&shy;ten&shy;tial for so&shy;cial gam&shy;ing to&shy;day. It has two in&shy;her&shy;ent ad&shy;van&shy;tages. Old games tend to use disk space much more ef&shy;fi&shy;cient&shy;ly (as a ne&shy;ces&shy;si&shy;ty), and this one is no ex&shy;cep&shy;tion. The en&shy;tire in&shy;stalled foot&shy;print of HoMM 3 Com&shy;plete (the orig&shy;i&shy;nal and two ex&shy;pan&shy;sion packs) is on&shy;ly about 300&#160;MB. I can com&shy;press this in&shy;to an archive and put it on other com&shy;put&shy;ers, and get this - HoMM 3 al&shy;lows you to join mul&shy;ti&shy;play&shy;er games with&shy;out hav&shy;ing a CD in&shy;sert&shy;ed! You can copy this game to all your friends&#8217; com&shy;put&shy;ers and have them join your game with ex&shy;cep&shy;tion&shy;al ease. It&#8217;s sec&shy;ond ad&shy;van&shy;tage is its turn-based na&shy;ture: since you can&shy;not do any&shy;thing when it&#8217;s not your turn (be&shy;sides look&shy;ing around and in&shy;spect&shy;ing your al&shy;lies&#8217; heroes), there is a lot of room in-be&shy;tween turns for con&shy;ver&shy;sa&shy;tion and so&shy;cial&shy;iz&shy;ing. It&#8217;s not nec&shy;es&shy;sary to be in a fren&shy;zied, in&shy;tense state the en&shy;tire time one is play&shy;ing this game.</p>

[Sin&shy;glePic not found]

<p>HoMM 3 games do take a long time to com&shy;plete (on the order of many, many re&shy;al-life hours), but mul&shy;ti&shy;play&shy;er games can be saved and restart&shy;ed at any time. Sav&shy;ing is al&shy;most in&shy;stan&shy;ta&shy;neous and ba&shy;si&shy;cal&shy;ly ef&shy;fort&shy;less. I have been try&shy;ing it out with my friends, and HoMM 3 does in&shy;deed make an ex&shy;cel&shy;lent so&shy;cial game!</p>

<p>Un&shy;for&shy;tu&shy;nate&shy;ly, HoMM 3 is no longer pub&shy;lished, but you can still buy HoMM 3 Com&shy;plete (which works, very well, on Vis&shy;ta!) very cheap&shy;ly at <a href="http://www.mastertronic.com/productPcGamer.asp?pid=331&amp;productLabelID=1">some sites</a>. It might be worth&shy;while to pick one up soon, espe&shy;cial&shy;ly if you&#8217;re in&shy;ter&shy;est&shy;ing in so&shy;cial gam&shy;ing, as I&#8217;m not sure you will even still be able to buy this game in a cou&shy;ple of years.</p>

[Sin&shy;glePic not found]
]]></content:encoded>
			<wfw:commentRss>http://nongraphical.com/2008/11/social-gaming-try-homm-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Squid 3 authenticating proxy chaining</title>
		<link>http://nongraphical.com/2008/09/squid-3-proxy-chaining/</link>
		<comments>http://nongraphical.com/2008/09/squid-3-proxy-chaining/#comments</comments>
		<pubDate>Sun, 14 Sep 2008 02:41:36 +0000</pubDate>
		<dc:creator>fyhuang</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[squid3-chain]]></category>

		<guid isPermaLink="false">http://blog.nongraphical.com/?p=69</guid>
		<description><![CDATA[My school us&#173;es an NTLM-au&#173;then&#173;ti&#173;cat&#173;ing proxy server, and this caus&#173;es prob&#173;lems with lots of ap&#173;pli&#173;ca&#173;tions which don&#8217;t sup&#173;port proxy servers. Many, many so&#173;lu&#173;tions have been pro&#173;posed to this prob&#173;lem, but I&#8217;ll fo&#173;cus on one that I find par&#173;tic&#173;u&#173;lar&#173;ly ap&#173;peal&#173;ing: set&#173;ting up a non-au&#173;then&#173;ti&#173;cat&#173;ing per&#173;son&#173;al proxy server which for&#173;wards re&#173;quests to the main proxy server.

Up&#173;date: use [...]]]></description>
			<content:encoded><![CDATA[<p>My school us&shy;es an NTLM-au&shy;then&shy;ti&shy;cat&shy;ing proxy server, and this caus&shy;es prob&shy;lems with lots of ap&shy;pli&shy;ca&shy;tions which don&#8217;t sup&shy;port proxy servers. Many, many so&shy;lu&shy;tions have been pro&shy;posed to this prob&shy;lem, but I&#8217;ll fo&shy;cus on one that I find par&shy;tic&shy;u&shy;lar&shy;ly ap&shy;peal&shy;ing: set&shy;ting up a non-au&shy;then&shy;ti&shy;cat&shy;ing per&shy;son&shy;al proxy server which for&shy;wards re&shy;quests to the main proxy server.</p>

<p><strong>Up&shy;date: use the <a href="http://nongraphical.com/2008/11/updated-squid-3-configuration/">new ver&shy;sion of this con&shy;fig file</a> - it works bet&shy;ter.</strong>
<span id="more-69"></span></p>

<p>Here&#8217;s why this so&shy;lu&shy;tion is op&shy;ti&shy;mal, or at least bet&shy;ter than other cur&shy;rent&shy;ly-avail&shy;able so&shy;lu&shy;tions. Con&shy;sid&shy;er one method of forc&shy;ing pro&shy;grams to use the proxy (un&shy;der Lin&shy;ux), which is set&shy;ting the http_proxy and ftp_proxy en&shy;vi&shy;ron&shy;ment vari&shy;ables. Pro&shy;grams that <em>sup&shy;port</em> proxy servers <strong>and</strong> that sup&shy;port proxy <em>au&shy;then&shy;ti&shy;ca&shy;tion</em> (be&shy;cause my school us&shy;es an au&shy;then&shy;ti&shy;cat&shy;ing proxy), no&shy;tably apt-get, wget, and lynx, will use those en&shy;vi&shy;ron&shy;ment vari&shy;ables to con&shy;nect through the proxy server. Pro&shy;grams that don&#8217;t, or those that don&#8217;t read the en&shy;vi&shy;ron&shy;ment vari&shy;ables (biggest of&shy;fend&shy;ers: most GNOME pro&shy;grams), won&#8217;t.</p>

<p>The biggest prob&shy;lem with this method is its in&shy;con&shy;sis&shy;ten&shy;cy - it&#8217;s im&shy;pos&shy;si&shy;ble to know nec&shy;es&shy;sar&shy;i&shy;ly which pro&shy;grams work, and which pro&shy;grams sup&shy;port proxy au&shy;then&shy;ti&shy;ca&shy;tion; and in ad&shy;di&shy;tion, one needs to re-en&shy;ter one&#8217;s proxy set&shy;tings in the en&shy;vi&shy;ron&shy;ment vari&shy;ables (bashrc, prob&shy;a&shy;bly), in the GNOME set&shy;tings, and prob&shy;a&shy;bly in&shy;di&shy;vid&shy;u&shy;al&shy;ly for some pro&shy;grams too. On top of that, many GNOME pro&shy;grams don&#8217;t (or didn&#8217;t) sup&shy;port proxy au&shy;then&shy;ti&shy;ca&shy;tion&#8230; fi&shy;nal&shy;ly, it is im&shy;pos&shy;si&shy;ble in the en&shy;vi&shy;ron&shy;ment vari&shy;able to spec&shy;i&shy;fy which con&shy;nec&shy;tions (like those to the lo&shy;cal net&shy;work) should be di&shy;rect, and which should be through the proxy.</p>

<p>Con&shy;sid&shy;er a slight&shy;ly bet&shy;ter method, which is <code>proxychains</code>. In order to use prox&shy;y&shy;chains, one must type com&shy;mands like so:</p>

<pre><code># In&shy;stead of writ&shy;ing
su&shy;do apt-get in&shy;stall ubun&shy;tu-desk&shy;top
# One must write
su&shy;do prox&shy;y&shy;chains apt-get in&shy;stall ubun&shy;tu-desk&shy;top
</code></pre>

<p>Okay, so that&#8217;s not too bad, if a lit&shy;tle bit in&shy;con&shy;ve&shy;nient. The good thing about this method is that prox&shy;y&shy;chains can &#8220;prox&shy;i&shy;fy&#8221; pro&shy;grams that don&#8217;t sup&shy;port proxy servers na&shy;tive&shy;ly. The proxy au&shy;then&shy;ti&shy;ca&shy;tion user&shy;name and pass&shy;word are al&shy;so stored in one place on&shy;ly: the prox&shy;y&shy;chains con&shy;fig&shy;u&shy;ra&shy;tion file. The on&shy;ly two prob&shy;lems with this method? 1. Typ&shy;ing <code>prox&shy;y&shy;chains</code> be&shy;fore ev&shy;ery com&shy;mand, and 2. The in&shy;abil&shy;i&shy;ty of <code>prox&shy;y&shy;chains</code> (at least the most re&shy;cent ver&shy;sion) to make some con&shy;nec&shy;tions di&shy;rect (i.e. those on the lo&shy;cal net&shy;work) and some to go through the proxy, just like the pre&shy;vi&shy;ous method.</p>

<p>Fine, so those meth&shy;ods aren&#8217;t ide&shy;al. What makes the Squid 3 method bet&shy;ter? Well, on the sur&shy;face it solves most, if not all, the prob&shy;lems that the pre&shy;vi&shy;ous meth&shy;ods had. It doesn&#8217;t re&shy;quire au&shy;then&shy;ti&shy;ca&shy;tion (that is han&shy;dled trans&shy;par&shy;ent&shy;ly by the per&shy;son&shy;al proxy) and au&shy;then&shy;ti&shy;ca&shy;tion in&shy;for&shy;ma&shy;tion is stored in one place on&shy;ly (the squid.conf). This alone makes many pro&shy;grams work much bet&shy;ter. You can cache far more per&shy;son&shy;al&shy;ized web data (the school&#8217;s proxy serv&shy;ing hun&shy;dreds of stu&shy;dents prob&shy;a&shy;bly won&#8217;t cache data that <em>you, per&shy;son&shy;al&shy;ly</em> fre&shy;quent&shy;ly use), and sav&shy;ing proxy in&shy;for&shy;ma&shy;tion in many dif&shy;fer&shy;ent places is okay, be&shy;cause if your user&shy;name and pass&shy;word change, you don&#8217;t need to change it in all those dif&shy;fer&shy;ent places. Fi&shy;nal&shy;ly, one can still use prox&shy;y&shy;chains to prox&shy;i&shy;fy mis&shy;be&shy;hav&shy;ing pro&shy;grams, be&shy;cause Squid can be con&shy;fig&shy;ured to con&shy;nect to some ad&shy;dress&shy;es di&shy;rect&shy;ly in&shy;stead of prox&shy;y&shy;ing through the par&shy;ent proxy. Its biggest prob&shy;lem is that run&shy;ning Squid more or less re&shy;quires Lin&shy;ux.</p>

<p>Okay, enough ban&shy;ter. Let&#8217;s learn how to do this thing. I&#8217;m us&shy;ing Ubun&shy;tu 8.04 server (on a vir&shy;tu&shy;al ma&shy;chine), so the&shy;se in&shy;struc&shy;tions may or may not be Ubun&shy;tu-speci&shy;fic. Here&#8217;s my con&shy;fig file:</p>

<pre><code>cache_ef&shy;fec&shy;tive_user proxy # Ubun&shy;tu-speci&shy;fic?
cache_ef&shy;fec&shy;tive_group proxy # Ubun&shy;tu-speci&shy;fic?

http_port 3128
http_ac&shy;cess al&shy;low all

cache_peer prx1 par&shy;ent 3128 3190 no-query login=user&shy;name:pass
cache_peer prx2 par&shy;ent 3128 3190 no-query login=user&shy;name:pass
cache_peer_ac&shy;cess prx1 al&shy;low all
cache_peer_ac&shy;cess prx2 al&shy;low all

hier&shy;ar&shy;chy_sto&shy;plist cgi-bin ?

cache_mem 64 MB # How much mem&shy;o&shy;ry Squid us&shy;es for cache.
                # Make low&shy;er if you have less mem&shy;o&shy;ry
max&shy;i&shy;mum_ob&shy;ject_size_in_mem&shy;o&shy;ry 64 KB # Make low&shy;er if you have less mem&shy;o&shy;ry

cache_re&shy;place&shy;ment_pol&shy;i&shy;cy heap LFU&shy;DA
cache_dir aufs /var/spool/squid3 6000 16 256
max&shy;i&shy;mum_ob&shy;ject_size 16384 KB

ac&shy;cess_log /var/log/squid3/ac&shy;cess.log squid

shut&shy;down_life&shy;time 1 sec&shy;ond

acl lo&shy;cal-servers dst 127.0.0.1 192.168.1.0/24
nev&shy;er_di&shy;rect deny lo&shy;cal-servers
nev&shy;er_di&shy;rect al&shy;low all
</code></pre>

<p>There are two &#8220;par&shy;ent&#8221; prox&shy;ies in this file which this per&shy;son&shy;al proxy can ac&shy;cess. Ob&shy;vi&shy;ous&shy;ly, re&shy;place <code>user&shy;name</code> and <code>pass&shy;word</code> with your own au&shy;then&shy;ti&shy;ca&shy;tion in&shy;for&shy;ma&shy;tion. Al&shy;so, don&#8217;t for&shy;get to change <code>cache_ef&shy;fec&shy;tive_user</code> and <code>cache_ef&shy;fec&shy;tive_group</code> to your lik&shy;ing or your dis&shy;tro. Change the <code>cache_re&shy;place&shy;ment_pol&shy;i&shy;cy</code> to fit your caching needs, and fi&shy;nal&shy;ly, make sure to ed&shy;it the <code>acl lo&shy;cal-servers</code> to spec&shy;i&shy;fy which servers you do not want to proxy.</p>

<p>After do&shy;ing this, you should be able to restart Squid and have ev&shy;ery&shy;thing work&shy;ing! Next up: trans&shy;par&shy;ent prox&shy;y&shy;ing with ipt&shy;a&shy;bles.</p>
]]></content:encoded>
			<wfw:commentRss>http://nongraphical.com/2008/09/squid-3-proxy-chaining/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Call of Duty 2 problems on Windows Vista 32-bit</title>
		<link>http://nongraphical.com/2008/09/call-of-duty-2-on-windows-vista-32-bit/</link>
		<comments>http://nongraphical.com/2008/09/call-of-duty-2-on-windows-vista-32-bit/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 18:42:37 +0000</pubDate>
		<dc:creator>fyhuang</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[vista]]></category>

		<guid isPermaLink="false">http://blog.nongraphical.com/?p=67</guid>
		<description><![CDATA[I found to&#173;day that I was hav&#173;ing prob&#173;lems launch&#173;ing Call of Du&#173;ty 2 on Win&#173;dows Vis&#173;ta. I could not start ei&#173;ther the sin&#173;gle or mul&#173;ti&#173;play&#173;er: both would crash and the Vis&#173;ta &#8220;this pro&#173;gram has stopped work&#173;ing&#8221; di&#173;alog box would pop up. A quick search on the In&#173;ter&#173;nets told me that this was def&#173;i&#173;nite&#173;ly a com&#173;mon [...]]]></description>
			<content:encoded><![CDATA[<p>I found to&shy;day that I was hav&shy;ing prob&shy;lems launch&shy;ing Call of Du&shy;ty 2 on Win&shy;dows Vis&shy;ta. I could not start ei&shy;ther the sin&shy;gle or mul&shy;ti&shy;play&shy;er: both would crash and the Vis&shy;ta &#8220;this pro&shy;gram has stopped work&shy;ing&#8221; di&shy;alog box would pop up. A quick search on the In&shy;ter&shy;nets told me that this was def&shy;i&shy;nite&shy;ly a com&shy;mon prob&shy;lem, and with the help of some pret&shy;ty ob&shy;scure fo&shy;rum posts, I fi&shy;nal&shy;ly fig&shy;ured it out. I&#8217;m go&shy;ing to sum&shy;ma&shy;rize my so&shy;lu&shy;tion here for fu&shy;ture ref&shy;er&shy;ence:</p>

<p><strong>Sys&shy;tem en&shy;vi&shy;ron&shy;ment:</strong></p>

<ul>
<li>nVidia graph&shy;ics card</li>
<li>Win&shy;dows Vis&shy;ta Home Premi&shy;um 32-bit</li>
<li>2&#160;GB RAM</li>
<li>In&shy;te&shy;grat&shy;ed &#8220;HD&#8221; au&shy;dio</li>
</ul>

<p><strong>The so&shy;lu&shy;tion for me:</strong></p>

<ol>
<li><strong>Re&shy;mem&shy;ber to set CoD2 to com&shy;pat&shy;i&shy;bil&shy;i&shy;ty mode with Win&shy;dows XP SP2!</strong> You can do this by right-click&shy;ing the short&shy;cut and se&shy;lect&shy;ing &#8220;Prop&shy;er&shy;ties&#8221;, then open&shy;ing the &#8220;Com&shy;pat&shy;i&shy;bil&shy;i&shy;ty&#8221; tab at the top.</li>
<li>First tried up&shy;dat&shy;ing Di&shy;rec&shy;tX 9. Vis&shy;ta users should note that Di&shy;rec&shy;tX 9 and Di&shy;rec&shy;tX 10, while both com&shy;ing pre-in&shy;stalled on Vis&shy;ta, are <em>sep&shy;a&shy;rate com&shy;po&shy;nents</em>. You should still up&shy;date to the lat&shy;est Di&shy;rec&shy;tX 9 even if you have Di&shy;rec&shy;tX 10. Un&shy;for&shy;tu&shy;nate&shy;ly, while a good first step, this didn&#8217;t work for me.</li>
<li>Then, added &#8220;+set com_in&shy;tro&shy;played 1&#8221; to the end of the short&shy;cuts. You can do this by open&shy;ing the short&shy;cut prop&shy;er&shy;ties (see step 0) and adding those char&shy;ac&shy;ters, with&shy;out quotes, to the end of the &#8220;Tar&shy;get:&#8221; box, so that the full line looks like:
 &#8220;C:\Pro&shy;gram Files\Ac&shy;tivi&shy;sion\Call of Du&shy;ty 2\cod2sp_s.exe&#8221; +set com_in&shy;tro&shy;played 1
This fixed the sin&shy;gle-play&shy;er for me, but I still could not open mul&shy;ti&shy;play&shy;er.</li>
<li>I found on <a href="http://www.ntcompatible.com/Call_Of_Duty_2_c12762.html">NT&shy;com&shy;pat&shy;i&shy;ble.com</a> a seem&shy;ing&shy;ly-ridicu&shy;lous lit&shy;tle propo&shy;si&shy;tion. The poster sug&shy;gest&shy;ed that, to run CoD2 mul&shy;ti&shy;play&shy;er, one should <strong>plug some&shy;thing in to the mi&shy;cro&shy;phone jack</strong>. So, I did, and lo and be&shy;hold, it worked! Rather a strange so&shy;lu&shy;tion, I do say. It like&shy;ly has some&shy;thing to do with the in&shy;ter&shy;ac&shy;tion be&shy;tween my in&shy;te&shy;grat&shy;ed au&shy;dio and the voice chat fea&shy;tures of CoD2, so turn&shy;ing off voice chat might al&shy;low it to run with&shy;out a mi&shy;cro&shy;phone plugged in.</li>
</ol>

<p>Any&shy;ways, that&#8217;s how <em>I</em> got this game to work on Vis&shy;ta; hope it helps some&shy;body else too!</p>
]]></content:encoded>
			<wfw:commentRss>http://nongraphical.com/2008/09/call-of-duty-2-on-windows-vista-32-bit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 3.470 seconds -->
