<?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>The Hines57 Blog &#187; Bubba&#8217;s Update</title>
	<atom:link href="http://blog.hines57.com/category/bubbas-update/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hines57.com</link>
	<description>The Hines Family Web Log</description>
	<lastBuildDate>Fri, 23 Sep 2011 17:08:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>From the Desk of @Jinksto</title>
		<link>http://blog.hines57.com/2011/06/24/from-the-desk-of-jinksto/</link>
		<comments>http://blog.hines57.com/2011/06/24/from-the-desk-of-jinksto/#comments</comments>
		<pubDate>Fri, 24 Jun 2011 18:17:46 +0000</pubDate>
		<dc:creator>Bubba</dc:creator>
				<category><![CDATA[Bubba's Update]]></category>
		<category><![CDATA[Family News]]></category>

		<guid isPermaLink="false">http://blog.hines57.com/2011/06/24/from-the-desk-of-jinksto/</guid>
		<description><![CDATA[Tommy cracks me up … but that is a nice picture. For those of you who can’t quite read the text, click on the image to enlarge it.]]></description>
			<content:encoded><![CDATA[<p><a href="http://photos.hines57.com/images/37ff83f91e6b_C8B4/image.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://photos.hines57.com/images/37ff83f91e6b_C8B4/image_thumb.png" width="389" height="351"></a></p>
<p>Tommy cracks me up … but that is a nice picture. For those of you who can’t quite read the text, click on the image to enlarge it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hines57.com/2011/06/24/from-the-desk-of-jinksto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Notes: Children as Gifts</title>
		<link>http://blog.hines57.com/2011/06/03/notes-children-as-gifts/</link>
		<comments>http://blog.hines57.com/2011/06/03/notes-children-as-gifts/#comments</comments>
		<pubDate>Fri, 03 Jun 2011 15:28:21 +0000</pubDate>
		<dc:creator>Bubba</dc:creator>
				<category><![CDATA[Bubba's Update]]></category>

		<guid isPermaLink="false">http://blog.hines57.com/2011/06/03/notes-children-as-gifts/</guid>
		<description><![CDATA[Jeremiah 1:5 &#8211; God knows each before they are even formed in the womb.Ephesians 2:1 &#8211; Our lives, actions, works, have been prepared for us beforehand by God Himself.Psalm 95:6 ...]]></description>
			<content:encoded><![CDATA[<p>Jeremiah 1:5 &#8211; God knows each before they are even formed in the womb.<br />Ephesians 2:1 &#8211; Our lives, actions, works, have been prepared for us beforehand by God Himself.<br />Psalm 95:6 &#8211; worship, bowdown, kneel before the Lord, our Maker.<br />Jeremiah 29:6&nbsp; &#8211; Marry and have sons and daughters; take wives for your sons, and give your daughters in marriage, that they may bear sons and daughters; multiply there, and do not decrease.<br />Jeremiah 29:11 &#8211; God has plan for your future and hope<br />Jeremiah 31:17 &#8211; Hope for the future, children<br />Ruth 4:13b &#8211; The Lord gives conception.<br />1 Peter 3:12 &#8211; God hears our prayers</p>
<p>Psalm 127:3-5 &#8211; children are a heritage from the LORD, the fruit of the womb a reward. </p>
<p>Martin Luther comments on this verse, &#8220;Genesis 9:1 leads us to believe that children are a gift of God and come solely through the blessing of God, just as Psalm 127:3 shows. The heathen, who have not been instructed by the Word of God, believe that the propagation of the human race happens partly by nature, partly by accident, especially since those who are regarded as most suited for procreation often fail to have children. Therefore the heathen do not thank God for this gift, nor do they receive their children as the gift of God.&#8221;</p>
<p>Genesis 33:5 &#8211; God graciously gives children<br />Deuteronomy 7:13 &#8211; Blessings through children<br />Genesis 49:25 &#8211; Blessing on the fruit of the womb.<br />Deuteronomy 28:4 / 30:9 &#8211; Blessing on the fruit of the womb.</p>
<p>Matthew 7:9-11 &#8211; God gives good gifts.<br />James 1:17 &#8211; Good/Perfect gifts are from God.</p>
<p>James 4:15-17 &#8211; Pursue the Lords will, know &#8220;the right thing&#8221; and do it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hines57.com/2011/06/03/notes-children-as-gifts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Status Updates is Hard</title>
		<link>http://blog.hines57.com/2011/05/26/status-updates-is-hard/</link>
		<comments>http://blog.hines57.com/2011/05/26/status-updates-is-hard/#comments</comments>
		<pubDate>Thu, 26 May 2011 14:41:54 +0000</pubDate>
		<dc:creator>Bubba</dc:creator>
				<category><![CDATA[Bubba's Update]]></category>
		<category><![CDATA[status update words difficult read]]></category>

		<guid isPermaLink="false">http://blog.hines57.com/2011/05/26/status-updates-is-hard/</guid>
		<description><![CDATA[Back in 2004, our family was much smaller (myself, Tracey, Samantha, and Bethany) and we could fit into a 2001 Ford Focus easily. On one particular trip, Tracey, Samantha and ...]]></description>
			<content:encoded><![CDATA[<p>Back in 2004, our family was much smaller (myself, Tracey, Samantha, and Bethany) and we could fit into a 2001 Ford Focus easily. On one particular trip, Tracey, Samantha and Bethany were all reading novels as I drove towards our destination, and it had been quite some time since anyone had spoken. I had <a href="http://en.wikipedia.org/wiki/Led_Zeppelin_Boxed_Set">Led Zeppelins Boxed Set</a> jamming, and life was good as the family took to the open road. Suddenly, from the rear of the car, Bethany exclaimed, “I hate the tone of her voice!”</p>
<p align="left">Bethany was somewhere between eight and nine at this point, so I had a number of years to accustom myself to her particular personality. (<a href="http://www.youtube.com/watch?v=cQb84PNxu5A&amp;feature=player_detailpage#t=22s">See this, and insert “butterfly” at the appropriate time.</a>) However, it took me a moment to work through all the possible voices in the vehicle, of which there were none, to come to the conclusion that she was referring to the voice of a character in her book. Tracey beat me to the punch and began a conversation with Beth that lead down the road of self realization, to the point that Beth suddenly grasped that <strong>she</strong> controls the character’s voices in her <em>own</em> imagination. It was entertaining to watch the eight year old work through that; because at the beginning of the conversation Beth was adamant that the author wrote the book, and thus she (Beth) had no control. The moment she grasped the concept that the author only supplied the words, and perhaps a few pointers in the description of the context for those words, she began to consciously have fun choosing and assigning voices to her characters (read <a href="http://en.wikipedia.org/wiki/The_Lord_of_the_Rings">Lord of the Rings</a> sometime and give <a href="http://en.wikipedia.org/wiki/John_Wayne">John Wayne’s</a> voice to <a href="http://en.wikipedia.org/wiki/Gandalf">Gandalf</a> and <a href="http://en.wikipedia.org/wiki/Clint_Eastwood">Clint Eastwood</a>’s to <a href="http://en.wikipedia.org/wiki/Aragorn">Strider</a>!), and avoiding voices of which she might exclaim “I hate the tone of that voice!”</p>
<p align="left">Many of us will affirm having stepped off the cliff in an email storm, resulting in someone getting their feelings hurt. It has been a maxim for some time now that you simply do not carry on emotionally fired communication via email; it<strong> never</strong> turns out well. It would have invariable worked out much better had a face to face conversation taken place. I was once having lunch with a good friend, and over the course of the meal, we began discussing communication over <a href="http://en.wikipedia.org/wiki/Social_network">Social Networks</a>, particularly <a href="http://twitter.com/">Twitter</a> and <a href="http://www.facebook.com/">Facebook</a>. I expected the course of our conversation to move along the classic discourse regarding email. To be fair, we did start out there, both affirming that there are some things (particularly those things that carry intrinsic emotional responses to) that should not be stated between individuals over this medium. </p>
<p align="left">However, the conversation took a sharp introspective turn as we began discussing our own propensity to “read into” the short status updates that we see others post. I invariably tend toward believing that when you post anything that I might possibly construe as to be about me, then you have clearly posted it about me. If I can take your post and make it personal, then I do.&nbsp; With a relatively modest number of Facebook Friends and Twitter Followers coming to a sum of roughly 400, I can <em>almost</em> guarantee that any given post that <strong>you</strong> aren’t identified in, isn’t about you. I can also safely assume, that you have more friends/followers than I do, certainly not less, and the idea that you are specifically posting an update about me is, well, somewhat ridiculous if you didn’t put my handle in the post.</p>
<p align="left">It turns out that there were a handful of messages that I tweeted, and my friend wanted to know if perhaps I was taking some sort of passive aggressive stance in communicating a message <em>his direction</em>. To which I responded, “Well, yeah. You know how I hate being blunt and how hard I attempt to avoid open conflict!” We both laughed, and I assured him that this was not the case. Then, I asked him the same question. Because, as I have already confessed, I have a tendency to think it is all about me. Case in point, my friend and I had this conversation on a Wednesday and the following Monday he tweeted a message that I thought might be about me, and I immediately asked him if he was trying to tell me something. He wasn’t, go figure, it isn’t all about me.</p>
<p align="left">However, it was ever so easy for me to come to the conclusion that is, relentlessly, about me. I take a little context (of my own choosing), I add a little tone (of my own choosing), and I associate your status update with desperate other data points that you are likely completely ignorant of, and I come to the conclusion that it is all about me. I’m confident in that conclusion, sometimes, I’m confident enough to go to war and nothing you have to say will dissuade me that my interpretation of your status update isn’t the correct one. Even when you explicitly tell me otherwise. Why? Well, for whatever reason, I’m already inclined to believe you are&nbsp; &lt;<em>pick one or add your own</em> &gt;(confrontational, a bully, prideful, mean spirited, non-confrontational, sly, arrogant, etc.), so I have already assigned you <em>a tone of voice</em>.</p>
<p align="left">Perhaps Bethany’s story can be turned toward our own enlightenment, and we can take more responsibility for what we add to the spaces between the authors words. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hines57.com/2011/05/26/status-updates-is-hard/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>J. I. Packer Introduces C. H. Spurgeon</title>
		<link>http://blog.hines57.com/2011/05/09/j-i-packer-introduces-c-h-spurgeon/</link>
		<comments>http://blog.hines57.com/2011/05/09/j-i-packer-introduces-c-h-spurgeon/#comments</comments>
		<pubDate>Mon, 09 May 2011 13:20:31 +0000</pubDate>
		<dc:creator>Bubba</dc:creator>
				<category><![CDATA[Book Reviews]]></category>
		<category><![CDATA[Bubba's Update]]></category>
		<category><![CDATA[packer spurgeon gout cigars pain psalms]]></category>

		<guid isPermaLink="false">http://blog.hines57.com/2011/05/09/j-i-packer-introduces-c-h-spurgeon/</guid>
		<description><![CDATA[I love Spurgeon. I have an extensive collection of his sermons and various other writings. As well, I fancy I share a number of things in common with the man. ...]]></description>
			<content:encoded><![CDATA[<p>I love Spurgeon. I have an <a title="The sermons of Charles Haddon Spurgeon were the pinnacle of preaching in mid-nineteenth-century England. They are still powerful and widely influential today. This five-volume set is a compilation of Spurgeon's best sermons, covering topics from Israel in Egypt and confession of sin to justification by grace and Paul's first prayer. Originally published in ten volumes in 1883, this collection was printed in five volumes by Baker in 1996 and is now back in print." href="http://www.amazon.com/Spurgeons-Sermons-5-Vol-Set/dp/0801011132">extensive collection of his sermons</a> and various other writings. As well, I fancy I share a number of things in common with the man. We both love to pursue Christ, enjoy fine cigars, suffer the pain of gout, neither have attained a college education, are overly familiar with depression, and the list could go on and on. Most importantly to me Spurgeon knew unbelievable physical pain and would glorify God through that.</p>
<p>His first attack of gout came in 1869 at the age of 35 (mine at age 30). It became progressively worse so that &#8220;<em>approximately one third of the last twenty-two years of his ministry was spent out of the Tabernacle pulpit, either suffering, or convalescing, or taking precautions against the return of the illness.</em>&#8221; In a letter to a friend he wrote, &#8220;I thought a cobra had bitten me, and filled my veins with poison; but it was worse,-it was gout.” For over half his ministry Spurgeon dealt with ever increasingly recurrent pain in his joints that cut him down from the pulpit and from his labors again and again. The diseases (gout, rheumatism and Bright&#8217;s disease) finally took his life at age 57 while he was convalescing in Mentone, France.</p>
<p>When my own gout threatens to undo me, I turn to Spurgeon who points me towards Christ. I was reading Spurgeon this morning, and so enjoyed Packer’s introduction to him that I would share it with you all, and encourage you to <a title="John Piper - Adapted from a 1995 paper delivered at the Bethlehem Conference for Pastors" href="http://www.founders.org/journal/fj23/article1.html">get to know the Prince of Preachers yourself</a>.</p>
<blockquote><p>In C. H. Spurgeon’s own day he was not thought of as a scholarly man. Because he was a popular preacher, fulfilling a marvelous evangelistic and nurturing ministry to ordinary people; because his writings, too, were addressed to ordinary people rather than academics; because he was a Dissenter, belonging to a minority culture in Anglican-dominated England; because the stereotype of a Dissenter was of an uncultured boor, whose forthrightness betokened crudity of mind; because Spurgeon himself had never attended a university or theological college; and because he resisted supposedly enlightened and progressive trends (the acceptance of Darwinism and the fallibility of the Bible; the denial of penal atonement and the eternal punishment of the lost), he was often dismissed, even by admirers of his preaching, as a brash upstart for challenging the wisdom of the learned and as a myopic dinosaur for proffering the old paths.</p>
<p>Yet he was a bookworm from childhood, and a diligent student all his life. He was an amazingly rapid reader, with a photographic memory, virtually total recall, and as he put it “a shelf in my mind” for storing every fact with a view to it’s future use. Each week he would work his way through a number of books – major treatments of scientific, historical, and philosophical questions. He had 30,000 volumes of every kind (save fiction) in his personal library, and claimed to know the contents of them all. The stereotypes of Spurgeon as a brash ignoramus cannot be sustained either from his lifestyle or his words. His limped, thought-laden rhetoric came from a shrewd, mature, extremely well stocked mind.</p>
<p>&#8211; JI Packer, Psalms Volume II Introduction</p>
</blockquote>
<p><font color="#777777"></font></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hines57.com/2011/05/09/j-i-packer-introduces-c-h-spurgeon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bubba&#8217;s Notes: Magmaw</title>
		<link>http://blog.hines57.com/2011/04/18/bubbas-notes-magmaw/</link>
		<comments>http://blog.hines57.com/2011/04/18/bubbas-notes-magmaw/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 01:22:00 +0000</pubDate>
		<dc:creator>Bubba</dc:creator>
				<category><![CDATA[Bubba's Update]]></category>
		<category><![CDATA[World of Warcraft]]></category>
		<category><![CDATA[Raid]]></category>
		<category><![CDATA[Raid Leader]]></category>
		<category><![CDATA[Raiding]]></category>

		<guid isPermaLink="false">http://blog.hines57.com/2011/04/18/bubbas-notes-magmaw/</guid>
		<description><![CDATA[Things to Remember Requires two tanks to get to him, but only one to tank him. Mangle automatically kills the tank if not broken within 30 seconds. It is exceptionally ...]]></description>
			<content:encoded><![CDATA[<h2>Things to Remember</h2>
<ol>
<li>Requires two tanks to get to him, but only one to tank him.
<li><a href="http://www.wowhead.com/spell=89773">Mangle</a> automatically kills the tank if not broken within 30 seconds.
<li>It is exceptionally easy for a hunter to accidentally begin auto-shots on <a href="http://www.wowhead.com/npc=41570">Magmaw</a> simply by moving and turning in the room with right-mouse-button. This happens because as of 4.0.3, the entire floor of the room for ~20 yards in front of <a href="http://www.wowhead.com/npc=41570">Magmaw</a> is considered targeting his lower body.
<li>So long as there is at least 1 player within melee range of <a href="http://www.wowhead.com/npc=41570">Magmaw</a>, he won’t become buffed with <a href="http://www.wowhead.com/?spell=78403">Molten Tantrum</a>.
<li><a href="http://www.wowhead.com/?spell=91928">Magma Spit</a> &#8211; Every 5 seconds or so, balls of lava arc out from the boss and hit random raid members, dealing a hefty amount of damage. This ability targets 3 people per cast in the 10 player raid. This ability cannot be avoided; healers must simply counter the damage.
<li><a href="http://www.wowhead.com/?spell=91932">Lava Spew</a> – This ability will be used every 25 seconds to hit everyone in the raid with a very large amount of fire damage. It will tick each second for 3 seconds, with each tick doing ~30k fire damage.
<li><a href="http://www.wowhead.com/?spell=78006">Pillar of Flame</a> &#8211; Prefers ranged over melee targets. As soon as <a href="http://www.wowhead.com/npc=41570">Magmaw</a> chooses a target, a pulsing animation that looks like a ring of lava will appear at the spot, warning players to move away. Approximately 2 seconds later, a fountain of lava will shoot up out of the ground in the center of the ring, knocking all players within ~6 yards into the air while hitting them for a significant amount of fire damage. The fountain will persist for around 5 seconds as it releases a pack of Lava Parasites.
<li>8 <a href="http://www.wowhead.com/npc=42321">Lava Parasites</a> &#8211; ~120K hit points each, total of 960K total health.
<li>If a player gets <a href="http://www.wowhead.com/?spell=91913">Parasitic Infection</a>, they must get away from other players before<a href="http://www.wowhead.com/?spell=91923"> Infectious Vomit</a> occurs, as it will deal 40,000 damage to allies within 8 yards, as well as spawn more Parasites.</li>
</ol>
<h2>Priorities</h2>
<h3>Phase 1</h3>
<ol>
<li>Ranged DPS prioritize <b>Lava Parasites</b> over <a href="http://www.wowhead.com/npc=41570">Magmaw</a>
<li>Melee DPS prioritize <i>Lava Parasites <b>in the group</b></i> over <a href="http://www.wowhead.com/npc=41570">Magmaw</a>
<li>All adds must be down prior to Mangle</li>
</ol>
<h3>Transition 1 -&gt; 2</h3>
<ol>
<li><a href="http://www.wowhead.com/npc=41570">Magmaw</a> covers half the room in fire (<a href="http://www.wowhead.com/?spell=92118">Ignition</a>). Don&#8217;t stand in it. The fiery area is also where he will slump down shortly, stunning and damaging people straggling behind.
<li>Cool downs can be used while Mangled. and Blessing of Protection does Negate the damage. Heal the tank being mangled.
<li>When &#8220;<a href="http://www.wowhead.com/npc=41570">Magmaw</a> slumps forward, exposing his pincers!&#8221;, two melee players pin the head down (using chains) quickly. To do this, right-click <a href="http://www.wowhead.com/npc=41570">Magmaw</a> as if entering a vehicle. One action will be available, which causes a targeting circle to appear on the ground below the cursor. Target the spike in the middle of the floor to attach the chain to the spike and pull <a href="http://www.wowhead.com/npc=41570">Magmaw</a> down onto it. You have 30 seconds, or the tank dies.</li>
</ol>
<h3>Phase 2</h3>
<ol>
<li>DPS <a href="http://www.wowhead.com/npc=41570">Magmaw</a>&#8216;s Head
<li>Healers regain mana</li>
</ol>
<h3>Transition 2 -&gt; 1</h3>
<ol>
<li>Agro resets completely! Stop all DPS and Heals.
<li>Get in position, once tank establishes new agro, go to phase 1.</li>
</ol>
<h2>Common Mistakes Made</h2>
<ul>
<li>Designated Constricting Chain operators get anxious and stand too close to <a href="http://www.wowhead.com/npc=41570">Magmaw</a>&#8216;s head for the slump, resulting in one or both of them getting stunned.
<li>Adds do not get prioritized, DPS think it is more important to be hitting <a href="http://www.wowhead.com/npc=41570">Magmaw</a>. 90% of the damage done to <a href="http://www.wowhead.com/npc=41570">Magmaw</a> is done when his head is down, don&#8217;t screw that up.
<li>Raid does not bring enough ranged DPS to handle the Lava Parasites. You need 3 ranged DPS capable of repeatedly sustaining a cumulative 31K DPS on the Parasites. 3 Dudes that can do 10Kdps will only get you 30K DPS, it simply is not enough &#8211; the raid will fail.
<li>Have the hunter spawn the Lava Parasites as far from the raid, every time, as possible. More space == more time.</li>
</ul>
<h2>More DPS</h2>
<p>When <a href="http://www.wowhead.com/npc=41570">Magmaw</a>&#8216;s head is exposed it will be attack-able for slightly less than 30 seconds (26-28 seconds). You really want to set up all your DoTs immediately, then refresh all of the DoTs just before he raises his head again. Why? Because the DoT&#8217;s have the Double Damage modifier set when they are applied to the head, so even after he raises up, all of your DoT&#8217;s will continue ticking for double damage until they fall off or are refreshed.</p>
<p>This also means that the timing of <a href="http://www.wowhead.com/spell=32182">Heroism</a>/<a href="http://www.wowhead.com/spell=80353">Timewarp</a> is pretty critical as well. Heroism lasts 40 seconds, you can only DPS the head for less than 30 seconds. In a perfect world, heroism goes off 5 seconds before the head becomes attack-able, and then as soon as the head is attack-able everyone immediately (re)applies their DoT&#8217;s, then launch into their direct damage rotations, then just before (5-1 seconds) the he lifts his head, everyone re-applies their DoT&#8217;s. This nets additional uber increased damage after he has raised his head and is no longer attack-able.</p>
<p>It also means you need to make sure you are not in Melee range before the tank taunts/gets control. <img src='http://blog.hines57.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h2>Miscellaneous</h2>
<p>One the questions I am most often asked is this, &#8220;<em>Why don&#8217;t we have <a href="http://www.wowhead.com/npc=41570">Magmaw</a> on Farm Status yet? Shouldn&#8217;t we be able to go in and kill him anytime we want by now?&#8221;</em></p>
<p>The short answer is that we simply don&#8217;t have the raiders to put <a href="http://www.wowhead.com/npc=41570">Magmaw</a> on farm status as a guild. We could choose 10 people, and those ten could farm <a href="http://www.wowhead.com/npc=41570">Magmaw</a> every week &#8211; but as a guild, we don&#8217;t have enough geared healers and geared ranged DPS to farm <a href="http://www.wowhead.com/npc=41570">Magmaw</a>.<br />Keep in mind that there is a significant amount of damage in this raid. Every 25 seconds, everyone in the raid takes ~30K damage every second for three seconds. Effectively, the entire raid takes ~90K damage per person, or 900K for the whole raid, every 25 seconds. At the same time, your healers are keeping up a kiter who is keeping the Lava Parasites busy as well as healing a tank who is taking a beating. Raid healing is a hard thing in <a href="http://www.wowpedia.org/World_of_Warcraft:_Cataclysm">Cataclysm</a>, and most of <a href="http://www.wowpedia.org/Wrath_of_the_lich_king">Wrath of the Lich King</a> healers turned in their healing kit in frustration. We don&#8217;t have a lot of healers around. Of the healers around, only a handful are &#8220;raid ready&#8221;, and of the ones that are &#8220;raid ready&#8221; a smaller portion are so ready that they could be involved in &#8220;farming&#8221; <a href="http://www.wowhead.com/npc=41570">Magmaw</a>.</p>
<p>We also tend to have a lot of melee DPS raiders. The short story is that this causes us problems, particularly when the mechanics of the encounter are expressly Ranged DPS only. Most raid leaders shoot for a balanced 3 melee / 3 ranged / 3 heals / 1 tank raid composition, and one of the 3 melee can double as off-tank when/as needed. Over the past month, I have consistently seen 3 ranged DPS fail to put out enough to kill the <a href="http://www.wowhead.com/npc=42321">Lava Parasites</a> &#8211; to the point that it seems worthless to even go into <a href="http://www.wowhead.com/npc=41570">Magmaw</a> if you do not have 4 ranged DPS, one of which I would want to be a Hunter and another a Frost Mage.</p>
<p>Once we get to the point that that we have more healers that can heal the entire fight AND we have enough ranged DPS such that it only takes two ranged DPS to dispose of the <a href="http://www.wowhead.com/npc=42321">Lava Parasites</a>, then we will have <a href="http://www.wowhead.com/npc=41570">Magmaw</a> on Farm Status. Until then, <a href="http://www.wowhead.com/npc=41570">Magmaw</a> will remain on &#8220;<em>We worked our butts off and eventually killed him status</em>.&#8221; </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hines57.com/2011/04/18/bubbas-notes-magmaw/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>NOTES: Porting IIPImage Server to VS2010</title>
		<link>http://blog.hines57.com/2011/04/01/notes-porting-iipimage-server-to-vs2010/</link>
		<comments>http://blog.hines57.com/2011/04/01/notes-porting-iipimage-server-to-vs2010/#comments</comments>
		<pubDate>Fri, 01 Apr 2011 17:35:22 +0000</pubDate>
		<dc:creator>Bubba</dc:creator>
				<category><![CDATA[Bubba's Update]]></category>
		<category><![CDATA[C\C++]]></category>
		<category><![CDATA[Image Processing]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[C C++ IIPImage Visual Studio VS2010 portability]]></category>

		<guid isPermaLink="false">http://blog.hines57.com/?p=533</guid>
		<description><![CDATA[If you aren’t interesting in porting C\C++ code to VS2010, nor are you interested in Image Processing Servers; you probably want to stop reading right about ….. here. For the ...]]></description>
			<content:encoded><![CDATA[<p>If you aren’t interesting in porting C\C++ code to VS2010, nor are you interested in Image Processing Servers; you probably want to stop reading right about ….. here.</p>
<p>For the rest of you, this is a rough documentation of what I have done to get IIP to compile under Windows 7 Ultimate (x64) using Visual Studio 2010 (version 10.0.30319.1). There are my notes for getting it to compile, there are still a few issues, but it compiles and it runs under Apache on Windows. Even though this is a x64 OS, we are relentlessly targeting an x32 architecture in the build.</p>
<p><strong>Created an IIP_Port directory structure</strong></p>
<p><a href="http://photos.hines57.com/images/Porting-IIPImage-Server-to-VS2010_BD90/image.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://photos.hines57.com/images/Porting-IIPImage-Server-to-VS2010_BD90/image_thumb.png" width="180" height="163"></a></p>
<h3>Using Visual Studio 10</h3>
<h4>LIBFCGI</h4>
<ol>
<li>Acquired from: <a href="http://www.fastcgi.com/dist/fcgi.tar.gz">http://www.fastcgi.com/dist/fcgi.tar.gz</a></li>
<li>Open C:\iip_port\fcgi-2.4.0\Win32\libfcgi.dsp in Visual Studio.</li>
<li>Copy fcgi_config_x86.h to fcgi_config.h </li>
<li>Convert and Open Projects (Yes)</li>
<li>Build Debug version (Save Solution Name)</li>
<li>Verify C:\iip_port\fcgi-2.4.0\libfcgi\Debug\libfcgi.dll exists</li>
<li>Build Release version</li>
<li>Verify C:\iip_port\fcgi-2.4.0\libfcgi\Release\libfcgi.dll exists</li>
<li>Verify C:\iip_port\fcgi-2.4.0\libfcgi\Release\libfcgi.lib exists</li>
</ol>
<h4>LIBJPEG</h4>
<ol>
<li>Acquired from: <a href="http://www.ijg.org/files/jpegsr8c.zip">http://www.ijg.org/files/jpegsr8c.zip</a></li>
<li>Run C:\iip_port\jpeg-8c&gt;NMAKE /f makefile.vc&nbsp; setup-v10<br />&nbsp;&nbsp; This will move jconfig.vc to jconfig.h and makefiles to project files.<br />&nbsp;&nbsp; (Note that the renaming is critical!)</li>
<li>Open the solution file C:\iip_port\jpeg-8c\jpeg.sln</li>
<li>Build the Release Version of the library project.</li>
<li>Verify C:\iip_port\jpeg-8c\Release\jpeg.lib exists</li>
<li>Open the solution file C:\iip_port\jpeg-8c\apps.sln</li>
<li>Build the Release Version application projects.</li>
<li>Run C:\iip_port\jpeg-8c&gt;NMAKE /f makefile.vc&nbsp; test-build</li>
<li>Verify &#8216;no differences encountered&#8217;</li>
<li>Return to the jpeg.sln</li>
<li>Right click on the project, and go to properties</li>
<li>Modify Configuration Type and change to Dynamic Library (.dll), Click OK</li>
<li>Re-Build the Release Version of the library project.</li>
<li>Verify C:\iip_port\jpeg-8c\Release\jpeg.dll exists</li>
<li>Verify C:\iip_port\jpeg-8c\Release\jpeg.lib exists</li>
<ol>
<li>I had some issues with this, don’t remember precisely what, but had to recompile a couple of different ways to get both the lib and the dll.</li>
</ol>
</ol>
<h4>LIBTIFF</h4>
<ol>
<li>Acquired from: <a href="ftp://ftp.remotesensing.org/pub/libtiff/tiff-3.9.4.zip">ftp://ftp.remotesensing.org/pub/libtiff/tiff-3.9.4.zip</a></li>
<li>C:\iip_port\tiff-3.9.4\libtiff&gt;NMAKE /f makefile.vc</li>
<li>Verify C:\iip_port\tiff-3.9.4\libtiff\libtiff.dll exists</li>
<li>Verify C:\iip_port\tiff-3.9.4\libtiff\libtiff.lib exists</li>
<ol>
<li>I had some issues with this, don’t remember precisely what, but had to recompile a couple of different ways to get both the lib and the dll.</li>
</ol>
</ol>
<h4>ZLIB</h4>
<ol>
<li>Acquired from: <a href="http://zlib.net/zlib125.zip">http://zlib.net/zlib125.zip</a></li>
<li>Also get <a href="http://www.winimage.com/zLibDll/zlib125dll.zip">http://www.winimage.com/zLibDll/zlib125dll.zip</a></li>
<li>unzipped both to C:\iip_port\zlib-1.2.5\</li>
<li>Verify C:\iip_port\zlib-1.2.5\dll32\zlibwapi.dll exists</li>
<li>Verify C:\iip_port\zlib-1.2.5\dll32\zlibwapi.lib exists</li>
<li>Verify C:\iip_port\zlib-1.2.5\zlib.h exists</li>
</ol>
<h3>IIPSRV</h3>
<ol>
<li>Open Visual Studio 10</li>
<li>File -&gt; New –&gt; Project</li>
<li>Select Visual C++ -&gt; Win32 Console Application</li>
<li>Name it IIPSRV</li>
<li>Modify Location to: C:\iip_port\iipsrv</li>
<li>OK, then Next</li>
<li>Select Empty Project</li>
<li>Finish</li>
<li></li>
<li>Right click the project, ADD Existing, and select all files in C:\iip_port\iipsrv to add</li>
<li>Right click the project, ADD Existing, and select all files in C:\iip_port\iipsrv\src to add</li>
<li>Right click the project, Open Properties</li>
<ol>
<li><strong>Under C/C++ -&gt;<em> General</em></strong> We need to add additional <em>Include Directories</em></li>
<ol>
<li>C:\iip_port\fcgi-2.4.0\include</li>
<li>C:\iip_port\jpeg-8c</li>
<li>C:\iip_port\tiff-3.9.4\libtiff</li>
<li>C:\iip_port\zlib-1.2.5</li>
<li>After you click apply, wait a second for it to find/recompile the new headers from the path</li>
</ol>
<li><strong>Under Linker</strong> -&gt; <strong><em>General</em></strong> We need to add additional <em>Library Directories</em></li>
<ol>
<li>C:\iip_port\fcgi-2.4.0\libfcgi\Release</li>
<li>C:\iip_port\jpeg-8c\Release</li>
<li>C:\iip_port\tiff-3.9.4\libtiff</li>
<li>C:\iip_port\zlib-1.2.5\dll32</li>
<li>After you click apply, wait a second for it to find/recompile the new headers from the path</li>
</ol>
<li><strong>Under Linker</strong> –&gt; <strong><em>Input</em></strong> We need to add additional<em> Dependencies</em></li>
<ol>
<li>libfcgi.lib</li>
<li>libtiff.lib</li>
<li>zlibwapi.lib</li>
<li>jpeg.lib<!--EndFragment--></li>
</ol>
</ol>
<li>Build Solution (Debug Version)</li>
<li>Should Have 50 Build errors (right click the error list and turn off Show Intellisense Errors)</li>
<li>Right Click KakaduImage.cc and remove from project</li>
</ol>
<p><em>The MS Compiler doesn&#8217;t support snprintf, we need to alias that to _snprintf so it will work. </em></p>
<p>We will make the following modifications to source files:</p>
<h4>IIPResponse.h&nbsp;
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px">  1: #<span style="color: #0000ff">if</span> _MSC_VER
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px">  2:  #define snprintf _snprintf
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px">  3: #endif</pre>
</pre>
<p>Cache.h</h4>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px">  1: #<span style="color: #0000ff">if</span> _MSC_VER
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px">  2:  #define snprintf _snprintf
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px">  3: #endif</pre>
</pre>
<h4>IIPImage.h
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px">  1:     #<span style="color: #0000ff">if</span> _MSC_VER
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px">  2:         #define snprintf _snprintf
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px">  3:         #include &lt;<span style="color: #0000ff">time</span>.h&gt;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px">  4:         #define S_ISREG(mode)  (((mode) &amp; S_IFMT) == S_IFREG)
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px">  5:     #endif</pre>
</pre>
</h4>
<h4>fif.cc</h4>
<p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 686px; padding-right: 5px; height: 4297px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  1:   #include &lt;algorithm&gt;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  2:   #include &lt;locale&gt;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  3:     #<span style="color: #0000ff">if</span> _MSC_VER
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  4: <span style="color: #008000">// Implement strptime under windows</span>
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  5: <span style="color: #0000ff">static</span> <span style="color: #0000ff">const</span> <span style="color: #0000ff">char</span>* kWeekFull[] = {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  6:   "<span style="color: #8b0000">Sunday</span>", "<span style="color: #8b0000">Monday</span>", "<span style="color: #8b0000">Tuesday</span>", "<span style="color: #8b0000">Wednesday</span>",
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  7:   "<span style="color: #8b0000">Thursday</span>", "<span style="color: #8b0000">Friday</span>", "<span style="color: #8b0000">Saturday</span>"
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  8: };
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  9:
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 10: <span style="color: #0000ff">static</span> <span style="color: #0000ff">const</span> <span style="color: #0000ff">char</span>* kWeekAbbr[] = {
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 11:   "<span style="color: #8b0000">Sun</span>", "<span style="color: #8b0000">Mon</span>", "<span style="color: #8b0000">Tue</span>", "<span style="color: #8b0000">Wed</span>",
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 12:   "<span style="color: #8b0000">Thu</span>", "<span style="color: #8b0000">Fri</span>", "<span style="color: #8b0000">Sat</span>"
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 13: };
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 14:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 15: <span style="color: #0000ff">static</span> <span style="color: #0000ff">const</span> <span style="color: #0000ff">char</span>* kMonthFull[] = {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 16:   "<span style="color: #8b0000">January</span>", "<span style="color: #8b0000">February</span>", "<span style="color: #8b0000">March</span>", "<span style="color: #8b0000">April</span>", "<span style="color: #8b0000">May</span>", "<span style="color: #8b0000">June</span>",
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 17:   "<span style="color: #8b0000">July</span>", "<span style="color: #8b0000">August</span>", "<span style="color: #8b0000">September</span>", "<span style="color: #8b0000">October</span>", "<span style="color: #8b0000">November</span>", "<span style="color: #8b0000">December</span>"
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 18: };
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 19:
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 20: <span style="color: #0000ff">static</span> <span style="color: #0000ff">const</span> <span style="color: #0000ff">char</span>* kMonthAbbr[] = {
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 21:   "<span style="color: #8b0000">Jan</span>", "<span style="color: #8b0000">Feb</span>", "<span style="color: #8b0000">Mar</span>", "<span style="color: #8b0000">Apr</span>", "<span style="color: #8b0000">May</span>", "<span style="color: #8b0000">Jun</span>",
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 22:   "<span style="color: #8b0000">Jul</span>", "<span style="color: #8b0000">Aug</span>", "<span style="color: #8b0000">Sep</span>", "<span style="color: #8b0000">Oct</span>", "<span style="color: #8b0000">Nov</span>", "<span style="color: #8b0000">Dec</span>"
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 23: };
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 24:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 25: <span style="color: #0000ff">static</span> <span style="color: #0000ff">const</span> <span style="color: #0000ff">char</span>* _parse_num(<span style="color: #0000ff">const</span> <span style="color: #0000ff">char</span>* s, <span style="color: #0000ff">int</span> low, <span style="color: #0000ff">int</span> high, <span style="color: #0000ff">int</span>* value) {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 26:   <span style="color: #0000ff">const</span> <span style="color: #0000ff">char</span>* p = s;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 27:   <span style="color: #0000ff">for</span> (*value = 0; *p != NULL &amp;&amp; isdigit(*p); ++p) {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 28:     *value = (*value) * 10 + static_cast&lt;<span style="color: #0000ff">int</span>&gt;(*p) - static_cast&lt;<span style="color: #0000ff">int</span>&gt;('0');
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 29:   }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 30:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 31:   <span style="color: #0000ff">if</span> (p == s || *value &lt; low || *value &gt; high) <span style="color: #0000ff">return</span> NULL;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 32:   <span style="color: #0000ff">return</span> p;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 33: }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 34:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 35: <span style="color: #0000ff">static</span> <span style="color: #0000ff">char</span>* _strptime(<span style="color: #0000ff">const</span> <span style="color: #0000ff">char</span> *s, <span style="color: #0000ff">const</span> <span style="color: #0000ff">char</span> *format, <span style="color: #0000ff">struct</span> tm *tm) {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 36:   <span style="color: #0000ff">while</span> (*format != NULL &amp;&amp; *s != NULL) {
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 37:     <span style="color: #0000ff">if</span> (*format != '%') {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 38:       <span style="color: #0000ff">if</span> (*s != *format) <span style="color: #0000ff">return</span> NULL;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 39:
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 40:       ++format;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 41:       ++s;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 42:       <span style="color: #0000ff">continue</span>;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 43:     }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 44:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 45:     ++format;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 46:     <span style="color: #0000ff">int</span> len = 0;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 47:     <span style="color: #0000ff">switch</span> (*format) {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 48:       <span style="color: #008000">// weekday name.</span>
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 49:       <span style="color: #0000ff">case</span> 'a':
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 50:       <span style="color: #0000ff">case</span> 'A':
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 51:         tm-&gt;tm_wday = -1;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 52:         <span style="color: #0000ff">for</span> (<span style="color: #0000ff">int</span> i = 0; i &lt; 7; ++i) {
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 53:           len = static_cast&lt;<span style="color: #0000ff">int</span>&gt;(strlen(kWeekAbbr[i]));
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 54:           <span style="color: #0000ff">if</span> (strnicmp(kWeekAbbr[i], s, len) == 0) {
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 55:             tm-&gt;tm_wday = i;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 56:             <span style="color: #0000ff">break</span>;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 57:           }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 58:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 59:           len = static_cast&lt;<span style="color: #0000ff">int</span>&gt;(strlen(kWeekFull[i]));
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 60:           <span style="color: #0000ff">if</span> (strnicmp(kWeekFull[i], s, len) == 0) {
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 61:             tm-&gt;tm_wday = i;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 62:             <span style="color: #0000ff">break</span>;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 63:           }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 64:         }
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 65:         <span style="color: #0000ff">if</span> (tm-&gt;tm_wday == -1) <span style="color: #0000ff">return</span> NULL;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 66:         s += len;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 67:         <span style="color: #0000ff">break</span>;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 68:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 69:       <span style="color: #008000">// month name.</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 70:       <span style="color: #0000ff">case</span> 'b':
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 71:       <span style="color: #0000ff">case</span> 'B':
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 72:       <span style="color: #0000ff">case</span> 'h':
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 73:         tm-&gt;tm_mon = -1;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 74:         <span style="color: #0000ff">for</span> (<span style="color: #0000ff">int</span> i = 0; i &lt; 12; ++i) {
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 75:           len = static_cast&lt;<span style="color: #0000ff">int</span>&gt;(strlen(kMonthAbbr[i]));
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 76:           <span style="color: #0000ff">if</span> (strnicmp(kMonthAbbr[i], s, len) == 0) {
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 77:             tm-&gt;tm_mon = i;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 78:             <span style="color: #0000ff">break</span>;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 79:           }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 80:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 81:           len = static_cast&lt;<span style="color: #0000ff">int</span>&gt;(strlen(kMonthFull[i]));
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 82:           <span style="color: #0000ff">if</span> (strnicmp(kMonthFull[i], s, len) == 0) {
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 83:             tm-&gt;tm_mon = i;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 84:             <span style="color: #0000ff">break</span>;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 85:           }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 86:         }
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 87:         <span style="color: #0000ff">if</span> (tm-&gt;tm_mon == -1) <span style="color: #0000ff">return</span> NULL;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 88:         s += len;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 89:         <span style="color: #0000ff">break</span>;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 90:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 91:       <span style="color: #008000">// month [1, 12].</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 92:       <span style="color: #0000ff">case</span> 'm':
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 93:         s = _parse_num(s, 1, 12, &amp;tm-&gt;tm_mon);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 94:         <span style="color: #0000ff">if</span> (s == NULL) <span style="color: #0000ff">return</span> NULL;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 95:         --tm-&gt;tm_mon;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 96:         <span style="color: #0000ff">break</span>;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 97:
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 98:       <span style="color: #008000">// day [1, 31].</span>
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px"> 99:       <span style="color: #0000ff">case</span> 'd':
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">100:       <span style="color: #0000ff">case</span> 'e':
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">101:         s = _parse_num(s, 1, 31, &amp;tm-&gt;tm_mday);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">102:         <span style="color: #0000ff">if</span> (s == NULL) <span style="color: #0000ff">return</span> NULL;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">103:         <span style="color: #0000ff">break</span>;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">104:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">105:       <span style="color: #008000">// hour [0, 23].</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">106:       <span style="color: #0000ff">case</span> 'H':
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">107:         s = _parse_num(s, 0, 23, &amp;tm-&gt;tm_hour);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">108:         <span style="color: #0000ff">if</span> (s == NULL) <span style="color: #0000ff">return</span> NULL;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">109:         <span style="color: #0000ff">break</span>;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">110:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">111:       <span style="color: #008000">// minute [0, 59]</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">112:       <span style="color: #0000ff">case</span> 'M':
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">113:         s = _parse_num(s, 0, 59, &amp;tm-&gt;tm_min);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">114:         <span style="color: #0000ff">if</span> (s == NULL) <span style="color: #0000ff">return</span> NULL;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">115:         <span style="color: #0000ff">break</span>;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">116:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">117:       <span style="color: #008000">// seconds [0, 60]. 60 is for leap year.</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">118:       <span style="color: #0000ff">case</span> 'S':
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">119:         s = _parse_num(s, 0, 60, &amp;tm-&gt;tm_sec);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">120:         <span style="color: #0000ff">if</span> (s == NULL) <span style="color: #0000ff">return</span> NULL;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">121:         <span style="color: #0000ff">break</span>;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">122:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">123:       <span style="color: #008000">// year [1900, 9999].</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">124:       <span style="color: #0000ff">case</span> 'Y':
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">125:         s = _parse_num(s, 1900, 9999, &amp;tm-&gt;tm_year);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">126:         <span style="color: #0000ff">if</span> (s == NULL) <span style="color: #0000ff">return</span> NULL;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">127:         tm-&gt;tm_year -= 1900;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">128:         <span style="color: #0000ff">break</span>;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">129:
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">130:       <span style="color: #008000">// year [0, 99].</span>
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">131:       <span style="color: #0000ff">case</span> 'y':
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">132:         s = _parse_num(s, 0, 99, &amp;tm-&gt;tm_year);
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">133:         <span style="color: #0000ff">if</span> (s == NULL) <span style="color: #0000ff">return</span> NULL;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">134:         <span style="color: #0000ff">if</span> (tm-&gt;tm_year &lt;= 68) {
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">135:           tm-&gt;tm_year += 100;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">136:         }
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">137:         <span style="color: #0000ff">break</span>;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">138:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">139:       <span style="color: #008000">// arbitray whitespace.</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">140:       <span style="color: #0000ff">case</span> 't':
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">141:       <span style="color: #0000ff">case</span> 'n':
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">142:         <span style="color: #0000ff">while</span> (isspace(*s)) ++s;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">143:         <span style="color: #0000ff">break</span>;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">144:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">145:       <span style="color: #008000">// '%'.</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">146:       <span style="color: #0000ff">case</span> '%':
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">147:         <span style="color: #0000ff">if</span> (*s != '%') <span style="color: #0000ff">return</span> NULL;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">148:         ++s;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">149:         <span style="color: #0000ff">break</span>;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">150:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">151:       <span style="color: #008000">// All the other format are not supported.</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">152:       <span style="color: #0000ff">default</span>:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">153:         <span style="color: #0000ff">return</span> NULL;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">154:     }
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">155:     ++format;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">156:   }
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">157:
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">158:   <span style="color: #0000ff">if</span> (*format != NULL) {
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">159:     <span style="color: #0000ff">return</span> NULL;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">160:   } <span style="color: #0000ff">else</span> {
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">161:     <span style="color: #0000ff">return</span> const_cast&lt;<span style="color: #0000ff">char</span>*&gt;(s);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">162:   }
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">163: }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">164:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">165: <span style="color: #0000ff">char</span>* strptime(<span style="color: #0000ff">const</span> <span style="color: #0000ff">char</span> *buf, <span style="color: #0000ff">const</span> <span style="color: #0000ff">char</span> *fmt, <span style="color: #0000ff">struct</span> tm *tm) {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">166:   <span style="color: #0000ff">return</span> _strptime(buf, fmt, tm);
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">167: }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">168:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">169:
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">170:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">171: <span style="color: #0000ff">static</span> time_t timegm(<span style="color: #0000ff">struct</span> tm *tm){
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">172:   time_t answer;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">173:   <span style="color: #0000ff">char</span> *zone;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">174:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">175:   zone=<span style="color: #0000ff">getenv</span>("<span style="color: #8b0000">TZ</span>");
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">176:   putenv("<span style="color: #8b0000">TZ=UTC</span>");
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">177:   tzset();
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">178:   answer=mktime(tm);
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">179:   <span style="color: #0000ff">if</span>(zone)
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">180:     {
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">181:       <span style="color: #0000ff">char</span> *old_zone;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">182:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">183:       old_zone=(<span style="color: #0000ff">char</span> *)<span style="color: #0000ff">malloc</span>(3+strlen(zone)+1);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">184:       <span style="color: #0000ff">if</span>(old_zone)
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">185:     {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">186:       <span style="color: #0000ff">strcpy</span>(old_zone,"<span style="color: #8b0000">TZ=</span>");
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">187:       strcat(old_zone,zone);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">188:       putenv(old_zone);
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">189:     }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">190:     }
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">191:   <span style="color: #0000ff">else</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">192: #ifdef HAVE_UNSETENV
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">193:     unsetenv("<span style="color: #8b0000">TZ</span>");
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">194: #<span style="color: #0000ff">else</span>
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">195:     putenv("<span style="color: #8b0000">TZ</span>");
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">196: #endif
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">197:
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">198:   tzset();
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">199:   <span style="color: #0000ff">return</span> answer;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">200: }
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">201: #endif
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">202:
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">203: </pre>
</pre>
<p>near line 75 replace<br />&nbsp; <br />&nbsp; <font face="Courier New">std::isxdigit(*(iter + 1)) &amp;&amp; std::isxdigit(*(iter + 2)) ){</font><br />&nbsp; <br />with
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  1:   #<span style="color: #0000ff">if</span> _MSC_VER
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  2:     isxdigit(*(iter + 1)) &amp;&amp; isxdigit(*(iter + 2)) ){
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  3:   #<span style="color: #0000ff">else</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  4:     std::isxdigit(*(iter + 1)) &amp;&amp; std::isxdigit(*(iter + 2)) ){
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  5:   #endif</pre>
</pre>
<h4>CVT.cc</h4>
<p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  1:   #<span style="color: #0000ff">if</span> _MSC_VER
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  2:   #include &lt;algorithm&gt;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  3:   #include &lt;locale&gt;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  4:   #endif</pre>
</pre>
<h4>DeepZoom.cc</h4>
<p>Near the top add (because microsoft doesn&#8217;t provide the log2 function for us)
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  1: #<span style="color: #0000ff">if</span> _MSC_VER
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  2: <span style="color: #0000ff">double</span> <span style="color: #0000ff">log</span>2(<span style="color: #0000ff">double</span> max){
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  3:     <span style="color: #0000ff">return</span> <span style="color: #0000ff">log</span>((<span style="color: #0000ff">double</span>)max)/<span style="color: #0000ff">log</span>((<span style="color: #0000ff">double</span>)2);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  4: }
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  5: #endif</pre>
</pre>
<h4>IIPImage.cc</h4>
<p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  1:     #<span style="color: #0000ff">if</span> _MSC_VER
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  2:         #define snprintf _snprintf
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  3:         #include &lt;<span style="color: #0000ff">time</span>.h&gt;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  4:         #define S_ISREG(mode)  (((mode) &amp; S_IFMT) == S_IFREG)
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  5:     #endif</pre>
</pre>
<h4>FIF.cc
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  1: #include &lt;<span style="color: #0000ff">time</span>.h&gt;</pre>
</pre>
</h4>
<h4>JPEGCompressor.cc</h4>
<p>around line 388 Replace:<br />&nbsp; <font face="Courier New">unsigned char t[width*height*channels+1024]; // Add an extra 1k for extra buffering</font><br />with
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  1:   <span style="color: #0000ff">unsigned</span> <span style="color: #0000ff">char</span> * t;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  2:   t = new <span style="color: #0000ff">unsigned</span> <span style="color: #0000ff">char</span>[width*height*channels+1024]; <span style="color: #008000">// Add an extra 1k for extra buffering</span></pre>
</pre>
<h4>Watermark.cc</h4>
<p>around line 47 Replace:<br />&nbsp; <font face="Courier New">uint32 buffer[_width*_height];</font><br />with
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  1:   uint32 * buffer;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 8px">  2:   buffer = new uint32[_width*_height];</pre>
</pre>
<ol>
<li>Build the solution.</li>
<li>Stop Apache</li>
<li>Copy </li>
<ol>
<li>jpeg.dll</li>
<li>libfcgi.dll</li>
<li>libtiff.dll</li>
<li>zlibwapi.dll </li>
<li>IIPSRV.exe</li>
</ol>
<li>Into your fcgi-bin directory</li>
<li>Restart Apache</li>
<li>Test</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.hines57.com/2011/04/01/notes-porting-iipimage-server-to-vs2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Kindergarten &#8211; Job Day 2011</title>
		<link>http://blog.hines57.com/2011/03/07/kindergarten-job-day-2011/</link>
		<comments>http://blog.hines57.com/2011/03/07/kindergarten-job-day-2011/#comments</comments>
		<pubDate>Mon, 07 Mar 2011 20:45:22 +0000</pubDate>
		<dc:creator>Bubba</dc:creator>
				<category><![CDATA[Bubba's Update]]></category>

		<guid isPermaLink="false">http://blog.hines57.com/2011/03/07/kindergarten-job-day-2011/</guid>
		<description><![CDATA[The Assignment Dear Parents, As part of our community unit, we will be having Job Day in our class on Thursday, March 10th.&#160; Please have your child discuss with you ...]]></description>
			<content:encoded><![CDATA[<h2>The Assignment</h2>
<p><a href="http://photos.hines57.com/images/Kindergarden---Job-Day-2011_DBB7/image.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 10px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://photos.hines57.com/images/Kindergarden---Job-Day-2011_DBB7/image_thumb.png" width="143" height="104"></a>Dear Parents,
<p>As part of our community unit, we will be having Job Day in our class on Thursday, March 10th.&nbsp; Please have your child discuss with you what she would like to be when she grows up.&nbsp; On Thursday, she may bring or wear the clothes/uniform for that job.&nbsp; Please help her find the tools, clothing and other items a person with that job would use to bring in and share with the class.&nbsp; Each child will present their job and tell what tools/materials that are used in that occupation.&nbsp; Please help your child answer the questions on the attached sheet to help them prepare for his presentation next Thursday (please have your child bring this questionnaire with her that day).
<p>We look forward to seeing all the future doctors, teachers, artists, construction workers, police officers and other &#8220;workers&#8221; next week!
<p>Thank you!
<p>Mrs. J<br />
<h2>The Job Application</h2>
<p><strong><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 10px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" border="0" align="left" src="http://www.zwani.com/graphics/princess_diva/images/princess-in-training.gif" width="140" height="118">Name:</strong>&nbsp; Abbigail
<p><strong>Position applied for:</strong>&nbsp; Princess
<p><strong>What will your responsibilities be in your new job? </strong>Marry a prince.&nbsp; Dance around.&nbsp; Grow up into a queen.&nbsp; Avoid witches.&nbsp; Sing to small animals and children.
<p><strong>What type of training/education will you need for your job? </strong>Fairy Godmother training.&nbsp; Train to kiss.&nbsp; Dancing and singing lessons.
<p><strong>Where in the community will you work in this job? </strong>Castle with tons of people.
<p><strong>What are some tools/special equipment needed to perform your job? </strong>Crown, slippers, dress (preferably pink with sparkles) and beautiful hair.
<p><strong>Why do you want to have this job? </strong>Because I like it.&nbsp; It is very special to me.  </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hines57.com/2011/03/07/kindergarten-job-day-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is Your Favorite Animal?</title>
		<link>http://blog.hines57.com/2011/03/07/what-is-your-favorite-animal/</link>
		<comments>http://blog.hines57.com/2011/03/07/what-is-your-favorite-animal/#comments</comments>
		<pubDate>Mon, 07 Mar 2011 17:45:53 +0000</pubDate>
		<dc:creator>Bubba</dc:creator>
				<category><![CDATA[Bubba's Update]]></category>

		<guid isPermaLink="false">http://blog.hines57.com/2011/03/07/what-is-your-favorite-animal/</guid>
		<description><![CDATA[&#160; Our teacher asked us what our favorite animal was, and I said, &#8220;Fried chicken.&#8221; She said I wasn&#8217;t funny, but she couldn&#8217;t have been right because everyone else in ...]]></description>
			<content:encoded><![CDATA[<p>&nbsp;
<p><a href="http://photos.hines57.com/images/71b0a8080dd2_B182/image.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 10px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://photos.hines57.com/images/71b0a8080dd2_B182/image_thumb.png" width="152" height="104"></a>Our teacher asked us what our favorite animal was, and I said, &#8220;Fried chicken.&#8221; She said I wasn&#8217;t funny, but she couldn&#8217;t have been right because everyone else in the class laughed.</p>
<p>My parents told me to always be truthful and honest, and I am. Fried chicken is my favorite animal. I told my dad what happened, and he said my teacher was probably a member of PETA. He said they love animals very much. I do, too. Especially chicken, pork and beef.</p>
<p>Anyway, my teacher sent me to the principal&#8217;s office. I told him what happened, and he laughed too. Then he told me not to do it again.<a href="http://photos.hines57.com/images/71b0a8080dd2_B182/image_3.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://photos.hines57.com/images/71b0a8080dd2_B182/image_thumb_3.png" width="131" height="131"></a></p>
<p>The next day in class my teacher asked me what my favorite live animal was. I told her it was chicken. She asked me why, just like she&#8217;d asked the other children. So I told her it was because you could make them into fried chicken. She sent me back to the principal&#8217;s office again. </p>
<p>He laughed, and told me not to do it any more.</p>
<p>I don&#8217;t understand. My parents taught me to be honest, but my teacher doesn&#8217;t like it when I am. Today, my teacher asked us to tell her what famous person we admire most.</p>
<p>I told her, &#8220;Colonel Sanders&#8221;.</p>
<p><a href="http://photos.hines57.com/images/71b0a8080dd2_B182/image_4.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://photos.hines57.com/images/71b0a8080dd2_B182/image_thumb_4.png" width="156" height="149"></a></p>
<p>Guess where I am now&#8230;&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hines57.com/2011/03/07/what-is-your-favorite-animal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>In the Defense of Grumpy Old Men</title>
		<link>http://blog.hines57.com/2011/03/04/in-the-defense-of-grumpy-old-men/</link>
		<comments>http://blog.hines57.com/2011/03/04/in-the-defense-of-grumpy-old-men/#comments</comments>
		<pubDate>Fri, 04 Mar 2011 14:47:51 +0000</pubDate>
		<dc:creator>Bubba</dc:creator>
				<category><![CDATA[Bubba's Update]]></category>
		<category><![CDATA[Christian Articles]]></category>
		<category><![CDATA[music pop christian culture contemporvant relative contemporary]]></category>

		<guid isPermaLink="false">http://blog.hines57.com/?p=510</guid>
		<description><![CDATA[As a youth, we attended a church that had a large focus on college students. If you moved to town, and began attending our church in the summer, you would ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://photos.hines57.com/images/9a17c8ca730d_6E18/image_3.png"><img style="background-image: none; border-right-width: 0px; margin: 0px 10px 10px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Pop (Grandpa) Hines, My Fathers Father" border="0" alt="Pop (Grandpa) Hines, My Fathers Father" align="left" src="http://photos.hines57.com/images/9a17c8ca730d_6E18/image_thumb_3.png" width="211" height="240"></a></p>
<p>As a youth, we attended a church that had a large focus on college students. If you moved to town, and began attending our church in the summer, you would find a small community of a few hundred gathered regularly and living life together. However, the moment students began to arrive at Mississippi State University for the fall semester the church would begin to burst at the seams and the congregation became numbered much closer to the thousands, with the median age being around twenty.</p>
<p>It turns out that back in the 80’s our church was Evangelical, Missional, &amp; Intentional – much like what it seems many church&#8217;s today are seeking. We were contemporary, relevant, – I mean, seriously, we called ourselves Contemporvant before being called Contemporvant was cool. You don’t know what Contemporvant is? <a href="http://www.youtube.com/watch?v=q4ghjPbULEU">Watch the video</a>!</p>
<div style="padding-bottom: 10px; margin: 0px; padding-left: 10px; padding-right: 0px; display: inline; float: right; padding-top: 10px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:4ac118ea-2dc8-49cb-9feb-678573b24a71" class="wlWriterEditableSmartContent">
<div><object width="448" height="252"><param name="movie" value="http://www.youtube.com/v/q4ghjPbULEU?hl=en&amp;hd=1"></param><embed src="http://www.youtube.com/v/q4ghjPbULEU?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="448" height="252"></embed></object></div>
<div style="width:448px;clear:both;font-size:.8em">Contemporary + Relevant = Contemporvant</div>
</div>
<p>All right, we were perhaps not quite Contemporvant, but we were all about the mission; our mission was to reach college students and we did that extremely well. The amazing thing is that it looked a lot back then the way it looks today. We embraced contemporary Christian music, we focused on creating a corporate worship environment that would appeal to 19-22 year olds. I don’t believe that we sacrificed the Gospel in doing so; rather, with solid integrity, we managed to impact the lives of thousands of young&nbsp; and maturing adults.</p>
<p>Being a teenager through the 80’s, the whole experience was right up my alley. Drums and guitars on the stage during the singing portion of the service, heck yea! Let’s get <a href="http://en.wikipedia.org/wiki/Petra_(band)">Petra</a> back in here for an encore! Well, to be fair, the morning services were fairly traditional with piano and organ accompanying the traditional hymns sung in the traditional ways. It was the evening services that were the cool ones, and Wednesday night prayer meetings, and the Friday night gatherings. </p>
<p>Sunday morning didn’t tend to look too much different from Pawpaw’s church out in the backwoods. Except we pushed a thousand people trying to squeeze in, and most of them weren’t dressing in their interviewing clothes, much less their Sunday best. However, I remember clearly the dichotomy between the <a href="http://en.wiktionary.org/wiki/old_guard?rdfrom=Old_guard">Old Guard</a> and <a href="http://en.wiktionary.org/wiki/young_buck">Young Bucks</a>. The youngun’s wanted guitars and drums, the more mature members of our congregation desired A Capella renditions of <a href="http://www.cyberhymnal.org/htm/m/i/mightyfo.htm">A Mighty Fortress</a>, <a href="http://www.cyberhymnal.org/htm/o/r/oruggedc.htm">Old Rugged Cross</a>, and <a href="http://www.cyberhymnal.org/htm/a/m/a/amazing_grace.htm">Amazin’ Grace</a>. There was one summer, around 1985, that I remember being particularly contentious.</p>
<div style="padding-bottom: 10px; margin: 0px; padding-left: 0px; padding-right: 20px; display: inline; float: left; height: 253px; padding-top: 10px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:adf29dd3-e993-498d-bb4a-97164079faff" class="wlWriterEditableSmartContent">
<div><object width="401" height="226"><param name="movie" value="http://www.youtube.com/v/JAENjK1T3Bs?hl=en&amp;hd=1"></param><embed src="http://www.youtube.com/v/JAENjK1T3Bs?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="401" height="226"></embed></object></div>
<div style="width:401px;clear:both;font-size:.8em">Petra–an Encore</div>
</div>
<p>We had a fresh young contemporary music director start that summer, and he was on fire for the mission of reaching those college students. It was his opinion that we should make the morning service <strong><em>more</em></strong> contemporary. Being a teenager, I thought this was a fantastic plan, the dude was a visionary, <a href="http://www.youtube.com/watch?v=6mC3WctU1IQ">give me more drums please</a>, and perhaps (being Mississippi State) some cowbell! I was all about rocking out that morning service. Unfortunately, many of the <em>older folks</em> were against it. Not just a little bit against it, but very much, with a passion, against it.
<p>I was confused by the whole ordeal. <a href="http://www.youtube.com/watch?v=vSDTDqLI_10">Singing Amazin’ Grace</a> with <a href="http://www.youtube.com/watch?v=FGIYeveUu9U&amp;feature=related">Electric Guitars</a> and <a href="http://www.youtube.com/watch?v=sB3Uyptlfj0">steel drums</a> rocks, there is no teaching in Scripture against doing such a thing, and it will certainly attract more people than listening to <a href="http://www.youtube.com/watch?v=21KBOIS1uBk&amp;feature=player_embedded">a bunch of old folks croak out the song A Capella</a>. It wasn’t just random old folks in the church that were up in arms, it was the men who were at the heart of Church. Stalwarts of the faith, leaders, not some guy on the fringe who showed up at Christmas and Easter. </p>
<p>I decided they were silly and dismissed them as absurd. Old men crying about how a particular song is sung. When that new music director finally won the battle, and they set up the drums permanently on the stage, I felt like everything was correct in the world. About half of those old men, and their families, left the church over it. I felt justified in dismissing them as irrelevant, ignorant, backwards old fogies; besides, for each one that left, we surely replaced them with numerous additional college students – and that was our mission, right?</p>
<p>Since that summer, I’ve had an overwhelming curiosity to understand how a man could be driven to leave a congregation he had invested years in. For twenty something years I’ve continued to dismiss it as an ultimate silliness. Something is broken in men, there is some sort of pride issue, I’ve never been quite sure what it is, but I have been certain that it is a sin of some sort. Seriously, who doesn’t want to wear flip flops, get a tattoo, and sing contemporary songs in order to reach people for Christ? Then it happened, the good Lord saw fit to show me precisely what sits in those men’s hearts by revealing to me that I myself have become one of those grumpy old men. </p>
<div style="padding-bottom: 10px; margin: 0px; padding-left: 10px; padding-right: 0px; display: inline; float: right; padding-top: 10px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:917bdeba-e381-452a-ae19-dfa01696d108" class="wlWriterEditableSmartContent">
<div><object width="448" height="252"><param name="movie" value="http://www.youtube.com/v/21KBOIS1uBk?hl=en&amp;hd=1"></param><embed src="http://www.youtube.com/v/21KBOIS1uBk?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="448" height="252"></embed></object></div>
<div style="width:448px;clear:both;font-size:.8em">Young Bucks singing Amazing Grace A Capella</div>
</div>
<p>I was attending a service at <a href="http://theexoduschurch.org/index.php">Exodus church</a>, where our family is heavily vested. My good friend, whom I love dearly, <a href="http://theexoduschurch.org/index.php/site/leadership">Nathan Chapmen</a>, introduced the next song we would sing, and my heart leapt for joy, my soul was igniting in anticipation of singing this song in worship, and to the glory, of God. The song happens to be extremely precious to me, stirring up memories of worshiping Christ with men who significantly impacting my life. I can not sing such a song without considering Pawpaw (maternal grandfather for some of you), his love of music and his love of God. While there are numerous things about my Pawpaw that I do not appreciate, these types of songs bring out the best of the memories painting a compelling picture of the man I desire to be. My brother <a href="http://www.facebook.com/note.php?note_id=377644561446">wrote an article on Facebook</a> last year, about this time, on somewhat the same topic.</p>
<p>I simply can not sing such a song and not be reminded of standing next to my dad on Sunday mornings and singing alongside him, it reminds me of how he loved Christ, trained and encouraged me to press into Christ. When I sing these types of songs, I can almost imagine transcending to heaven for a moment and standing between my Dad and my Pawpaw (both of which are long since passed away), surrounded by a throng of Christian men who have passed on, and singing praise to the Lord. So there I am, on fire and burning with an anticipation and passion to begin worshiping Christ through this song we are about to sing.</p>
<p>The music starts, and something isn’t quite right. No worries, I’m still on track, I’ve got this. This is going to be A W E S O M E !! I’m already correcting the rhythm in my head for them, they will adjust, any moment now. Yep, just, any … moment …. Tracey is nudging me at this point and telling me I’m singing it wrong. I suppose I should be thankful, we were about half way through the first stanza, and I’m not one to whisper a song I’m excited to sing. Folks in the seats near us must have been wondering what I thought I was doing. At the time, I didn’t much care, I felt like my heart had been ripped out of chest, through my stomach, and that everyone was then dancing on it. Anger was the immediate response, and I had to struggle mightily to choke it down.</p>
<p>It turns out that the song in question was sung (and has been since) with the same words, but a different tune. Let me affirm here that there is absolutely nothing wrong with that. As a matter of fact, many songs I personally enjoy differ in tune from the original writings. The difference being that I learned the rewritten version first, so the original sounds odd to me, as opposed to the other way around. Thus, there is nothing inherently wrong, or sinful, or otherwise against God in doing this. Yet it pains me greatly. It hurts incredibly. I find it nigh on unbearable and would go so far as to say it is the emotional equivalent of <a href="http://en.wikipedia.org/wiki/Gout">the physical sensation produced by gout</a>. I just want to get up and walk out and never return when we sing certain songs in this manner.</p>
<p>There is a cerebral part of me that looks at myself and asserts, <strong><em>yer a silly old man Bubba</em></strong>. I mean, seriously, who gets worked up about singing a song to a different tune? How absurd is that? Yet, at the same time, it hurts. Something very precious and dear to me is subverted and abused. I don’t enjoy it and I desire to find joy in my worship of Christ. I long for the opportunity to worship Christ through those songs in the midst of the corporate assembly in a way that does not hurt, but brings me to the place where I might imagine myself in the throne room, amongst the godly men who raised me up. </p>
<p>That isn’t likely to happen, much like that summer in 1985, the new kids like the remix. There are more of them than there are of me. I now need to learn how to sing an old song, in a new way, to the Glory of God. Please pray for me, I write this with tears in my eyes, because I really, deeply, just want my song(s) back.</p>
<p>&nbsp;</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:e4977a3b-68c0-423d-a9f2-c822400834d1" class="wlWriterEditableSmartContent">
<div><object width="448" height="252"><param name="movie" value="http://www.youtube.com/v/Bnm4mTKDvl8?hl=en&amp;hd=1"></param><embed src="http://www.youtube.com/v/Bnm4mTKDvl8?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="448" height="252"></embed></object></div>
<div style="width:448px;clear:both;font-size:.8em">The Old Rugged Cross–I reckon I can hear them singing along.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.hines57.com/2011/03/04/in-the-defense-of-grumpy-old-men/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Manly?</title>
		<link>http://blog.hines57.com/2010/12/05/manly/</link>
		<comments>http://blog.hines57.com/2010/12/05/manly/#comments</comments>
		<pubDate>Sun, 05 Dec 2010 23:54:56 +0000</pubDate>
		<dc:creator>Bubba</dc:creator>
				<category><![CDATA[Bubba's Update]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.hines57.com/?p=488</guid>
		<description><![CDATA[We have had an ongoing conversation on the topic of Real Men™ and most of that conversation has taken place offline. Around a fire, on the back porch, standing around ...]]></description>
			<content:encoded><![CDATA[<p>We have had an ongoing conversation on the topic of Real Men™ and most of that conversation has taken place offline. Around a fire, on the back porch, standing around the patio, over cigars, or even over a glass of scotch (Tommy had rum). Tommy took the conversation online with his post (<a href="http://jinksto.com/blog/?p=1465">Manly?</a>) and there are certainly some good conversation happening in the comments there. Take a minute and go read it if you haven’t.</p>
<p>For those that are new to the topic, the essential question is “How do you explain to a young man what it means to be a man?” The answers various individuals have put forth are wide and varied. Some of them focus on the very practical aspects of this day and age, others have attempted to come at the question from a more philosophical and timeless perspective. As for me, given how solemn and timeless the question is, I’ve decided to search for an answer that will be just as valid when the young men I train are old men, as it is today, as it was when Solomon was considering the answer.</p>
<p>After much consideration, I’ve decided that there are five things that every man must know in order to be a Real Man™ (as defined by Bubba). I believe that these five things fully encompass all practical aspects of manhood and are of use in beginning the conversation. There is certainly room for developing much more under each of the five points, and there continues to be an ever changing need to adopt these five to the culture and time one is living in; however, I feel confident that if given no more than a few minutes to communicate what I believe the essence of “Being a Man” is, that these five points nail it.</p>
<h2>1. Glorify God</h2>
<p>This is the ultimate purpose of man and all else is subservient to this. Ultimately, this item is the one that will most affect a mans character, personal &amp; private life, vocation, and random episodes of life. If a man has failed to pursue a proper understanding of his relationship to God, then he ultimately fails in all other aspects of life. Even non-Christians have historically and globally recognized a requirement for Real Men™ to&nbsp; have a strong sense of spirituality that drives morality and ethics. How much more so does the Real Christian Man™ embrace this reality? </p>
<p>This is the deepest and most practical truth that I can possible communicate to young men (or anyone for that matter). Pursue God! Bend yourself to become a scholar of scripture that you might be prepared, at all times and in all ways, to bring glory to the name of the Lord. Do you grasp the Godly command towards labor? Really? Do you take pleasure in seeing the callouses form on your hands? Or do you resent that you must rise each day and work? </p>
<p>Perhaps you would do well to go research God’s original mandate to Real Men™ (ref: <a href="http://www.esvonline.org/search/genesis+1:28/">Genesis 1:28, ESV</a>) and consider. If it is true that the ultimate purpose of man is to Glorify God, then the original mandate must in some way reflect that. I would submit that the original mandate does indeed reflect this. Real Men™ would do well to reflect on it and come to a clear understanding of the matter. </p>
<p>If a man can not get the pursuit of God’s Glory correct, nothing else he does is of any worth.</p>
<h2>2. Pursue a Woman</h2>
<p>Real Men™ know how to pursue <strong>a</strong> woman. Singular. </p>
<p>This pursuit might necessarily begin with less of a singular; but no more so than a wolf cutting one out of the herd. Most men pursue women, and this is primarily due to a failure on their part to understand point number one, which leads to a failure in the second most important aspect of their life. I do not know who to attribute the statement two, but this saying is true, “Man does not marry to cease the pursuit of women. Real Men™ marry to perfect the pursuit of one woman.”</p>
<p>Some (relatively small) portion of men, who are called to a single life, will perhaps raise the objection that this is not necessary knowledge. Particularly in their (marginal) case. They will perhaps point us to Christ or perhaps the Apostle Paul as examples of men who did not marry and thus …. yada yada yada. For those, I would simply point them back to the fact that we are proposing that Real Men™ are knowledgeable about this, not necessarily that they have “succeeded”. Then, I might chuckle a bit as I begin to point out how much Paul knew on the topic, as demonstrated by his writing with authority on said topic. Then, with an outright belly laugh, I’d point out Christ’s Epic Pursuit of His Bride. </p>
<p>If a man does not grasp how to invest his life in the pursuit of his bride, then everything else will fall apart.</p>
<h2>3. Raise a Family</h2>
<p>Real Men™ raise up other Real Men™ and Real Ladies™. </p>
<p>I ran across another true saying recently, and I can’t remember it precisely, but it was something along the lines of “If we tell our children about the gospel, then fail to pursue our wives; we effectively take our children by the hand and lead them into hell.” How can I stress enough that you need to be hard on the pursuit of God’s Glory and Your Wife before you have any hope of success in this arena? </p>
<p>You want to know something else? Other men (real or otherwise) will (are) judge(ing) you by your ability or failure to raise a family. I judge men by their children regularly. Dad is clever, he can perhaps hide his bad habit from me, and put on a face to manipulate my perception of him. His kids aren’t yet so mature, they tend towards just being who they are. Then, add in the observation of how Dad interacts with said children, and you can quickly get a <a href="http://www.cliffsnotes.com/">Cliffs Notes</a> understanding of the man you are looking at. </p>
<p>You want to get this one right, primarily due to the fact that <strong>YOU, FATHER,</strong> are responsible for each of these souls from day one. They are in your hand to mold, train, teach, educate, protect, love, discipline, cherish, and a string of additional verbs that a father must familiarize himself with. Start getting familiar. </p>
<p>Our culture is one that lacks Real Men™ and lacks Fathers. So all you marginalized, single for life, celibate dudes; don’t believe for a minute that you get a pass here. Adoption, Fostering, Big Brothering, &lt;insert other pseudo father figure role here&gt;. Get some!</p>
<h2>4. Live in Community</h2>
<p>How do you manage your relationship with your boss? Your co-laborers? You next door neighbor? The waitress at your favorite restaurant? The bartender? The barista? Your barber? The snot nosed kid(s) from down the street? The guy who lives next door?</p>
<p>Real Men™ have a mandate to live in community, and practically, you can’t escape it unless you are a hermit. You need to understand how to do this, how to love, care, and provide for people around you. Who do you extend your favor to? Who do you provide protection for? Who relies on you? How do you bear the weight of that responsibility? How do you show compassion to people that you don’t particularly have an innate desire to be around? There are as many questions and answers as there are people in your life. </p>
<p>The beginning of all the answers is in the first three points. Knowledge in those areas will bleed over and prepare you for getting this correct. </p>
<h2>5. Wage War</h2>
<p>At odds with the first four points, and perhaps some will say this does not belong on the list, but I can kick their rears. Strategy! Tactics!</p>
<p>When war is waged, someone is wrongly pressing their own agenda, aggrandizing themselves, or otherwise seeking their own desires at a cost to others. War is a hideous thing, and as one Real Man™ (General Robert E. Lee) once stated, “It is good that war is so horrible, or we might grow to like it.” However, it is a necessary knowledge for every man.</p>
<p>There are those who will say “But Bubba, shouldn’t we be peace loving, cheek turning, compassionate people? Isn’t this what your Jesus Christ taught.” To which I would respond, yes … that is a portion of what he taught, and taken in context it is precisely what Real Men™ aspire to. However, if I come around the corner, and find a rapist pressing a young lady into his service, my Jesus Christ isn’t calling me to turn the other cheek on<strong><em> her</em></strong> behalf. My God requires me to protect her, and I reckon I’ll bend all of my knowledge towards the most expedient and pragmatic approach to disabling said rapist.&nbsp;&nbsp; A man who does not know how to wage war has no recourse in this situation, other than going and finding a Real Man™ to handle the situation for him.</p>
<p>We would go further to caution here that being a bully isn’t being a Real Man™. Using any, much more so this, knowledge to manipulate others and/or force them to your own service is a despicable thing, and if I catch you doing it I won’t be turning the other cheek on behalf of those you are doing it to. The balance here is that when a man is himself wronged, that man is called to be peace loving, slow to anger, cheek turning, and compassionate on his own behalf; but woe to those who would do harm my wife, my family, or my community.</p>
<h2>Conclusion</h2>
<p>This is a never ending learning process. None of us have arrived, we haven’t got any of this nailed, we fail. However, the difference between Real Men™ and adult males is that the adult males either do not improve or make such marginal improvements that they are nigh on imperceptible. Real Men™ strive with their entire being, all the force of the their passion, they hammer their own character out on the anvil of life, and they progress, the take manly strides forward, they become, by the grace of God, the man God has called them to be.</p>
<p>There are certainly practical and pragmatic considerations that are to be taken into account. Culture, age, era will more or less define things like how important is it for a man to understand how to leverage the internet (recommended knowledge in 2010 as opposed to 1810) versus how to hunt for food (I reckon that one is timelessly relevant). How to change a tire if of little use if you have never seen a vehicle and have no tires. But I am convinced that these five things remain true, that all else can be called into service under one or more of these, and that if I only have five minutes to tell someone what it means to be a man, that this will cover all the bases.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hines57.com/2010/12/05/manly/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

