<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
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/"
> <channel><title>Comments for Yet Another Eliot Blog</title> <atom:link href="http://blog.eliotpearson.com/comments/feed" rel="self" type="application/rss+xml" /><link>http://blog.eliotpearson.com</link> <description>Gaming,Programming,and Everything Else</description> <lastBuildDate>Mon, 06 Feb 2012 13:01:31 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Comment on My Take on Lag Compensation in MW3 by Eliot</title><link>http://blog.eliotpearson.com/my-take-on-lag-compensation-in-mw3/comment-page-1#comment-3537</link> <dc:creator>Eliot</dc:creator> <pubDate>Mon, 06 Feb 2012 13:01:31 +0000</pubDate> <guid
isPermaLink="false">http://blog.eliotpearson.com/?p=803#comment-3537</guid> <description>Thanks for clearing that up.  I was focusing on the handicap added to Black Ops and MW3.  It was slightly noticeable on Black Ops but I feel its really apparent on MW3.  I really appreciate the old school tie into Quake.  I will definitely have a read.</description> <content:encoded><![CDATA[<p>Thanks for clearing that up.  I was focusing on the handicap added to Black Ops and MW3.  It was slightly noticeable on Black Ops but I feel its really apparent on MW3.  I really appreciate the old school tie into Quake.  I will definitely have a read.</p> ]]></content:encoded> </item> <item><title>Comment on My Take on Lag Compensation in MW3 by Furyhunter</title><link>http://blog.eliotpearson.com/my-take-on-lag-compensation-in-mw3/comment-page-1#comment-3512</link> <dc:creator>Furyhunter</dc:creator> <pubDate>Fri, 03 Feb 2012 05:29:20 +0000</pubDate> <guid
isPermaLink="false">http://blog.eliotpearson.com/?p=803#comment-3512</guid> <description>I&#039;m beginning to think &quot;lag compensation&quot; is a misnomer for this particular problem in the game. The concept of lag compensation, I believe, came around the time of Half-Life. The server keeps a temporary storage of game states from previous server ticks (up to about half a second in the Delagged Quake 3 mod, iirc) and, when calculating hits from guns, it &quot;rewinds&quot; the game state to a point where it compensates for the time it took for the player&#039;s shot to reach the server, using that cache. As a result, the server is calculating the player&#039;s hit close to where it would have appeared on the player&#039;s screen as opposed to when the server heard of the player&#039;s shot.
This kind of compensation was implemented in Call of Duty in as early as the first game, however I can&#039;t be sure which game -- all I know is that it exists in CoD2 and beyond. If it wasn&#039;t in the game, it&#039;d be hard as hell to play the game in high latency environments on the console (as is common in matchmaking).
The &quot;lag compensation&quot; put in with Black Ops and MW3 is actually a sort of handicap that the server imposes, and instead of sending the most recent game state deltas, it sends one from a previous point, to create artificial &quot;latency&quot; on the client. The client still has a low &quot;true&quot; latency, but it&#039;s getting data that is older then what is being sent to the other clients. As a result, the client is sending player state data to the server in its &quot;future&quot; where it only sees the past -- and other players see the &quot;future&quot; that the lagged player is sending as the present, allowing them to see you before you see them.
This article explains a bit about Quake 3 networking (what CoD is built on), to make it easier to understand just how the deltas might be generated to create the &quot;compensation&quot;. http://trac.bookofhook.com/bookofhook/trac.cgi/wiki/Quake3Networking</description> <content:encoded><![CDATA[<p>I&#8217;m beginning to think &#8220;lag compensation&#8221; is a misnomer for this particular problem in the game. The concept of lag compensation, I believe, came around the time of Half-Life. The server keeps a temporary storage of game states from previous server ticks (up to about half a second in the Delagged Quake 3 mod, iirc) and, when calculating hits from guns, it &#8220;rewinds&#8221; the game state to a point where it compensates for the time it took for the player&#8217;s shot to reach the server, using that cache. As a result, the server is calculating the player&#8217;s hit close to where it would have appeared on the player&#8217;s screen as opposed to when the server heard of the player&#8217;s shot.</p><p>This kind of compensation was implemented in Call of Duty in as early as the first game, however I can&#8217;t be sure which game &#8212; all I know is that it exists in CoD2 and beyond. If it wasn&#8217;t in the game, it&#8217;d be hard as hell to play the game in high latency environments on the console (as is common in matchmaking).</p><p>The &#8220;lag compensation&#8221; put in with Black Ops and MW3 is actually a sort of handicap that the server imposes, and instead of sending the most recent game state deltas, it sends one from a previous point, to create artificial &#8220;latency&#8221; on the client. The client still has a low &#8220;true&#8221; latency, but it&#8217;s getting data that is older then what is being sent to the other clients. As a result, the client is sending player state data to the server in its &#8220;future&#8221; where it only sees the past &#8212; and other players see the &#8220;future&#8221; that the lagged player is sending as the present, allowing them to see you before you see them.</p><p>This article explains a bit about Quake 3 networking (what CoD is built on), to make it easier to understand just how the deltas might be generated to create the &#8220;compensation&#8221;. <a
href="http://trac.bookofhook.com/bookofhook/trac.cgi/wiki/Quake3Networking">http://trac.bookofhook.com/bookofhook/trac.cgi/wiki/Quake3Networking</a></p> ]]></content:encoded> </item> <item><title>Comment on Using the Jackson Maven Plugin by Eliot</title><link>http://blog.eliotpearson.com/using-the-jackson-maven-plugin/comment-page-1#comment-3416</link> <dc:creator>Eliot</dc:creator> <pubDate>Wed, 25 Jan 2012 23:31:08 +0000</pubDate> <guid
isPermaLink="false">http://blog.eliotpearson.com/?p=253#comment-3416</guid> <description>Hi Joe,
You are right.  It should read Using the Jackson Maven Artifact.  I think long tail keyword research got the best of me.</description> <content:encoded><![CDATA[<p>Hi Joe,</p><p>You are right.  It should read Using the Jackson Maven Artifact.  I think long tail keyword research got the best of me.</p> ]]></content:encoded> </item> <item><title>Comment on Using the Jackson Maven Plugin by Joe</title><link>http://blog.eliotpearson.com/using-the-jackson-maven-plugin/comment-page-1#comment-3311</link> <dc:creator>Joe</dc:creator> <pubDate>Sun, 15 Jan 2012 11:56:17 +0000</pubDate> <guid
isPermaLink="false">http://blog.eliotpearson.com/?p=253#comment-3311</guid> <description>Hi,
Thanks for the writeup but I&#039;m not really seeing any jackson plugin here. Maybe you meant to say jackson library? The thing is maven plugins are something very different.
Cheers.</description> <content:encoded><![CDATA[<p>Hi,<br
/> Thanks for the writeup but I&#8217;m not really seeing any jackson plugin here. Maybe you meant to say jackson library? The thing is maven plugins are something very different.<br
/> Cheers.</p> ]]></content:encoded> </item> <item><title>Comment on Jack Human&#8230; WTH?!? by Eliot</title><link>http://blog.eliotpearson.com/jack-human-wth/comment-page-1#comment-3269</link> <dc:creator>Eliot</dc:creator> <pubDate>Thu, 12 Jan 2012 13:02:42 +0000</pubDate> <guid
isPermaLink="false">http://blog.eliotpearson.com/?p=172#comment-3269</guid> <description>Hi Sadensy,
Which search engine is FireFox&#039;s search set to?  You should see an icon to the left of where you type in text for a search.  If you hover your mouse over the icon it will tell you what engine you are using.</description> <content:encoded><![CDATA[<p>Hi Sadensy,</p><p>Which search engine is FireFox&#8217;s search set to?  You should see an icon to the left of where you type in text for a search.  If you hover your mouse over the icon it will tell you what engine you are using.</p> ]]></content:encoded> </item> <item><title>Comment on Jack Human&#8230; WTH?!? by alfiesaden</title><link>http://blog.eliotpearson.com/jack-human-wth/comment-page-1#comment-3169</link> <dc:creator>alfiesaden</dc:creator> <pubDate>Wed, 04 Jan 2012 11:05:01 +0000</pubDate> <guid
isPermaLink="false">http://blog.eliotpearson.com/?p=172#comment-3169</guid> <description>hello - is it just me !! can any one explain why  when i type in the firefox  browser &quot;blog.eliotpearson.com&quot;  i get a different site yet whe i type it in google its ok? could this be a bug in my system or is any one else having same probs ?
sadensy</description> <content:encoded><![CDATA[<p>hello &#8211; is it just me !! can any one explain why  when i type in the firefox  browser &#8220;blog.eliotpearson.com&#8221;  i get a different site yet whe i type it in google its ok? could this be a bug in my system or is any one else having same probs ?<br
/> sadensy</p> ]]></content:encoded> </item> <item><title>Comment on Project Euler Problem 1 Revisited by Eliot</title><link>http://blog.eliotpearson.com/project-euler-problem-1-revisited/comment-page-1#comment-2956</link> <dc:creator>Eliot</dc:creator> <pubDate>Thu, 15 Dec 2011 16:09:15 +0000</pubDate> <guid
isPermaLink="false">http://blog.eliotpearson.com/?p=767#comment-2956</guid> <description>Yes, I posted it on Reddit.  You are completely right.  Lines 15 - 17 can be:
val ceiling = args.head.toLong
val factors = args.tail.map(s =&gt; s.toLong).toList
That is one less val and a great example of using head and tail.  Thanks for pointing me in the right direction.:)</description> <content:encoded><![CDATA[<p>Yes, I posted it on Reddit.  You are completely right.  Lines 15 &#8211; 17 can be:</p><p>val ceiling = args.head.toLong<br
/> val factors = args.tail.map(s => s.toLong).toList</p><p>That is one less val and a great example of using head and tail.  Thanks for pointing me in the right direction.:)</p> ]]></content:encoded> </item> <item><title>Comment on Project Euler Problem 1 Revisited by dbcfd</title><link>http://blog.eliotpearson.com/project-euler-problem-1-revisited/comment-page-1#comment-2954</link> <dc:creator>dbcfd</dc:creator> <pubDate>Thu, 15 Dec 2011 14:34:53 +0000</pubDate> <guid
isPermaLink="false">http://blog.eliotpearson.com/?p=767#comment-2954</guid> <description>Not sure if you&#039;ll post this on reddit, but you&#039;ll want to check out List head/tail. That will eliminate your usage of args(0) and argList.slice. ceiling is equivalent to argList.head, while factors becomes argList.tail.map(s=&gt; s.toLong)</description> <content:encoded><![CDATA[<p>Not sure if you&#8217;ll post this on reddit, but you&#8217;ll want to check out List head/tail. That will eliminate your usage of args(0) and argList.slice. ceiling is equivalent to argList.head, while factors becomes argList.tail.map(s=&gt; s.toLong)</p> ]]></content:encoded> </item> <item><title>Comment on Project Euler Problem 1 by Eliot</title><link>http://blog.eliotpearson.com/project-euler-problem-1/comment-page-1#comment-2953</link> <dc:creator>Eliot</dc:creator> <pubDate>Thu, 15 Dec 2011 13:23:45 +0000</pubDate> <guid
isPermaLink="false">http://blog.eliotpearson.com/?p=755#comment-2953</guid> <description>Very good point brute force is not needed for this one.  Thanks for the explanation.</description> <content:encoded><![CDATA[<p>Very good point brute force is not needed for this one.  Thanks for the explanation.</p> ]]></content:encoded> </item> <item><title>Comment on Project Euler Problem 1 by Xavier</title><link>http://blog.eliotpearson.com/project-euler-problem-1/comment-page-1#comment-2946</link> <dc:creator>Xavier</dc:creator> <pubDate>Thu, 15 Dec 2011 06:57:58 +0000</pubDate> <guid
isPermaLink="false">http://blog.eliotpearson.com/?p=755#comment-2946</guid> <description>Well, you don&#039;t need Scala or any other programming language, good old math can do it for you :-)
solution
= sum of multiples of 3 &lt; 1000
+ sum of multiples of 5 &lt; 1000
- sum of multiples of 15 &lt; 1000 (because multiples of 15 are added twice)
sum of n first numbers = n*(n+1)/2
sum of n first multiples of x = x*n*(n+1)/2
there are 333 multiples of 3 &lt; 1000 (last one is 333 * 3 = 999)
there are 199 multiples of 5 &lt; 1000 (last one is 199 * 5 = 995)
there are 66 multiples of 15 &lt; 1000 (last one is 66 * 15 = 990)
I know that many people with coding skills will try to brute-force every project-euler problems... but some of those problems actually don&#039;t need to be brute-forced.</description> <content:encoded><![CDATA[<p>Well, you don&#8217;t need Scala or any other programming language, good old math can do it for you <img
src='http://blog.eliotpearson.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><p>solution<br
/> = sum of multiples of 3 &lt; 1000<br
/> + sum of multiples of 5 &lt; 1000<br
/> - sum of multiples of 15 &lt; 1000 (because multiples of 15 are added twice)</p><p>sum of n first numbers = n*(n+1)/2<br
/> sum of n first multiples of x = x*n*(n+1)/2</p><p>there are 333 multiples of 3 &lt; 1000 (last one is 333 * 3 = 999)<br
/> there are 199 multiples of 5 &lt; 1000 (last one is 199 * 5 = 995)<br
/> there are 66 multiples of 15 &lt; 1000 (last one is 66 * 15 = 990)</p><p>I know that many people with coding skills will try to brute-force every project-euler problems&#8230; but some of those problems actually don&#039;t need to be brute-forced.</p> ]]></content:encoded> </item> </channel> </rss>
