<?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>zeroasterisk</title>
	<atom:link href="http://zeroasterisk.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://zeroasterisk.com</link>
	<description>zeroasterisk blog - alan blount &#38; friends</description>
	<lastBuildDate>Tue, 20 Dec 2011 17:20:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Blount 2011 &#8220;year In Review Letter&#8221;</title>
		<link>http://zeroasterisk.com/2011/12/20/blount-2011-year-in-review-letter/</link>
		<comments>http://zeroasterisk.com/2011/12/20/blount-2011-year-in-review-letter/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 17:20:16 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://zeroasterisk.com/?p=394</guid>
		<description><![CDATA[Everyone seems to do a great job of sending out yearly letters around the holidays, so here&#8217;s our attempt.
We collected some of our favorite photos from this year (mostly just the summer and fall) and made this video:
 http://animoto.com/play/PXP02w37vyZ60ddGU7vxxg
Go ahead and watch it.
Back already?
It&#8217;s the end of December already and Poppy is almost 4 (01/24) [...]]]></description>
			<content:encoded><![CDATA[<p>Everyone seems to do a great job of sending out yearly letters around the holidays, so here&#8217;s our attempt.</p>
<p>We collected some of our favorite photos from this year (mostly just the summer and fall) and made this video:<br />
<a href="http://animoto.com/play/PXP02w37vyZ60ddGU7vxxg"> http://animoto.com/play/PXP02w37vyZ60ddGU7vxxg</a><br />
Go ahead and watch it.</p>
<p>Back already?</p>
<p>It&#8217;s the end of December already and Poppy is almost 4 (01/24) and Oliver is almost 2 (02/02).  Last year at this time, we went to Kansas City for Christmas with Alan&#8217;s family and after a long drive on Christmas eve, made it back to Louisville for Christmas with Anita&#8217;s.  Oliver was just walking and still pretty chubby.  Poppy was her same precocious self a few inches shorter, but thinking back now, the comparative difference is stark.  They have both come such a long way this year.</p>
<p>Anita has worked 2 or 3 days a week this whole year, spending the other weekdays with the kids.  The first half of the year we had one of our good friends Andrea taking care of them on the days that Anita worked.  We have family passes at the Louisville Zoo and the Science center, so we were there a lot.  Anita also took Poppy to several weeks of ballet/tap classes, and we make it to some park or another almost daily, often meeting others for play dates.</p>
<p>This summer we helped to host a family reunion for Alan&#8217;s extended family who came from all over the country to Mammoth Caves National Park.  We did a lot of cooking out and sitting around telling stories.  There were some other young ones (their third cousins I think) blazing a trail for the next generation.  As you might expect, the kid&#8217;s parents trying to keep them somewhat in line and the grandparents encouraging them on.  Surprisingly, we didn&#8217;t really go into the caves until the end and then we didn&#8217;t last too long before the kids had had enough&#8230; oh well, another year or two before they will have the patience for that.</p>
<p>Starting this fall we put both kids in a co-op school near us called &#8220;The Friend&#8217;s School&#8221;, where Poppy went for a year, a year ago, until Oliver was born.  They attend 3 days a week, while Anita is working.  The kids are both happy to be in classes, and I think really benefit from the structure and interacting in group settings with other adults in charge.  We get daily reports of what the kids do and they bring home many projects they do during the week.  Poppy&#8217;s compatriot Eleanor (2 months older) is in her class, and Oliver&#8217;s little buddy Abe (2 weeks younger) is in his class.  We&#8217;ve gone to a few school functions after hours, and even just walking through the halls, everyone certainly knows our kids and there&#8217;s a real sense of inclusion at all grade levels there (up to grade 4 I think).</p>
<p>Oliver and Anita took trip to Florida to visit Anita&#8217;s grandmother early summer. Oliver and Alan took a trip to Houston mid-November to visit Alan&#8217;s grandfather, mother, and family.  We all drove to Columbus, OH a few times to visit friends and we made several trips out to the lakehouse throughout the summer where we went boating and tubing, yes, with the kids.  Anita and Alan took a trip without the kids to New Mexico to attend a friend&#8217;s wedding in the summer, while the grandmothers took over the kids (we&#8217;ve got to do that some more!).  Otherwise, we have kept pretty close Louisville, but we certainly stay busy.  We went on a train ride which was robbed by train robbers on horseback.  We went to 3 or 4 different fall festivals, including the Colorfest at Bernhiem Forest.  We have visited and pet every barn or zoo animal near us, and I think our kids have been on 6 different firetrucks this year.  We went to the state fair, we went to a dozen birthday parties, a few neighborhood festivals (a few with bouncy castles), and a few concerts in the park.</p>
<p>Alan has continued to work at Allied Health Media, the name is new, but it&#8217;s the same company he&#8217;s been at since 2007.  The beginning of the year they launched speechpathology.com and have been doing &#8220;phase 2&#8243; adjustments to it this year, and gearing up for some other major projects using the same code-base slated for early 2012.  The company has doubled in size in the last two years and things seem to be going well.</p>
<p>Anita still works as a pharmacist, and for the same company, but in a new location.  She had been working at Central State Hospital, a state run psychiatric hospital.  The hospital was downsizing and she feared her position was going to be cut, but instead she got shifted to the Hazelwood location.  In both locations she still does mostly medication and chart reviews, ensuring adequate oversight is done for patient labs and prescriptions.  She also fills in as a staff pharmacist, filling medications and handing them out to the nurses.</p>
<p>Oliver is regularly referred to as &#8220;a little kewpie doll&#8221; as he&#8217;s got white-blonde hair with little ringed tufts sticking out.  He also always has a scratch or bruise or several on his forehead, face, etc. Since day one, he&#8217;s an extreme child.  When he&#8217;s happy, he is extremely happy.  When he&#8217;s unhappy, it too is extreme and everyone is going to know about it.  At the beginning of the year he was walking on somewhat unstable legs and not really signing nor talking.  He picked up walking and all physical activities quickly, but he was pretty slow on the communication side of things.  He knew exactly what people were saying, even fairly complicated concepts, but he didn&#8217;t really start trying to talk till late fall.  Now he&#8217;s got a pretty decent little vocabulary, but it can take some effort and a few clarification questions to understand him&#8230;  even that level of communication has made the lives of his parents a lot easier &#8211; much better than whining for everything.  We mimic his speech a lot because it&#8217;s so cute, especially when he starts chanting &#8220;oh baby, oh baby, oh baby&#8221;.  He doesn&#8217;t suck his thumb or use a pacifier, but he has little silken &#8220;lovey&#8221; blankets he keeps on him at all times.  He&#8217;s a bit of a brute, especially when he&#8217;s tired, but he is more affectionate than Poppy was at his age.  His favorite things are books, tractors, trucks, balls, dogs, chickens, etc.. but mostly it&#8217;s &#8220;trac-ctor&#8221;.</p>
<p>Penelope has had a wonderful year.  She has certainly gotten all of the last little bits of attitude she didn&#8217;t already posses, and thinks she can do anything.  On the other hand, she pretty much can do anything&#8230; she&#8217;s a rough and tumble girl who can climb and sing and dance and cook and occasionally even listen.  She is astoundingly good with her little brother, and they are best friends most of the time. This has been a magnificent year for imagination.  She&#8217;s carrying around her baby dolls, driving cars and boats and airplanes and trains, or she is being the mama while Anita and Alan are the &#8220;sisters and brothers&#8221; or sometimes the &#8220;dog&#8221; or the &#8220;alligator&#8221;.  I mentioned singing and dancing before, but I just love that she has decided that David Bowie&#8217;s songs from The Labyrinth are some of her favorite as well as &#8220;Total Eclipse of the Heart&#8221; and a handful of others.  She not only sings along while they are playing, but she has walked into school singing a song the whole way.  Doubly remarkable because she&#8217;s a bit shy sometimes, either genuinely or playing an act she can be shy even with people she knows&#8230; or not, there&#8217;s really no way of telling with her.  Poppy has been picking out her clothes since she was 1 and is well known for her sense of style, I&#8217;ve never seen 3 kinds of stripes on a person one day, followed by stripes and dots and plaid the next; maybe all black the day after with pink socks.  She recognizes most of her letters in any order/word, she can spell her own name and write it (sometimes readable), she can recognize all written numerals and can count up to at least 30.  We are still at the very beginning of trying to equate letters to sounds to syllables to words.  She may possibly be the world champion of rolling down a hill or dancing in the living room.</p>
<p>A whole year just went by, fast.  We have wonderful memories and great photos, a beautiful family, smiling faces, and tired feet.</p>
<p>Happy holidays!  Love and best wishes to your new year,</p>
<p>The Blounts</p>
<p><map name='google_ad_map_394_0676ea2b0e7dda10'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/394?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_394_0676ea2b0e7dda10' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=394&amp;url= http%3A%2F%2Fzeroasterisk.com%2F2011%2F12%2F20%2Fblount-2011-year-in-review-letter%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://zeroasterisk.com/2011/12/20/blount-2011-year-in-review-letter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Poppy Is 1000 Days Old Today</title>
		<link>http://zeroasterisk.com/2010/10/20/poppy-is-1000-days-old-today/</link>
		<comments>http://zeroasterisk.com/2010/10/20/poppy-is-1000-days-old-today/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 17:02:53 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[penelope]]></category>

		<guid isPermaLink="false">http://zeroasterisk.com/blog/?p=335</guid>
		<description><![CDATA[Poppy is 1000 days old today!



]]></description>
			<content:encoded><![CDATA[<p>Poppy is 1000 days old today!</p>
<p><map name='google_ad_map_335_0676ea2b0e7dda10'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/335?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_335_0676ea2b0e7dda10' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=335&amp;url= http%3A%2F%2Fzeroasterisk.com%2F2010%2F10%2F20%2Fpoppy-is-1000-days-old-today%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://zeroasterisk.com/2010/10/20/poppy-is-1000-days-old-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Connect Issue And Fix: Lingering Fmscore.exe Processes</title>
		<link>http://zeroasterisk.com/2010/07/23/adobe-connect-fmscore-process-killer/</link>
		<comments>http://zeroasterisk.com/2010/07/23/adobe-connect-fmscore-process-killer/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 17:54:50 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[Adobe Connect]]></category>

		<guid isPermaLink="false">http://zeroasterisk.com/?p=388</guid>
		<description><![CDATA[We&#8217;ve setup Connect to expire the FMSCore processes after 2 hours, but if someone is still connected to a recording, it will keep the old zombie FMSCore process until that person disconnects.
It often happens that doesn&#8217;t work &#8211; and there&#8217;s seemingly no garbage collection in place to clean up old FMSCore.
So we created a simple [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve setup Connect to expire the FMSCore processes after 2 hours, but if someone is still connected to a recording, it will keep the old zombie FMSCore process until that person disconnects.</p>
<p>It often happens that doesn&#8217;t work &#8211; and there&#8217;s seemingly no garbage collection in place to clean up old FMSCore.</p>
<p>So we created a simple AutoIt script which can be compiled to an EXE which works, but it has some dependancies&#8230;</p>
<p>The following dependencies / commands must all be in place:</p>
<ul>
<li>c:\Windows\system32\<a href="http://www.teamcti.com/pview/prcview.htm">pv.exe</a></li>
<li>c:\Windows\system32\<a href="http://technet.microsoft.com/en-us/sysinternals/bb896682.aspx">pslist.exe</a></li>
<li>c:\Windows\system32\<a href="http://technet.microsoft.com/en-us/sysinternals/bb896683.aspx">pskill.exe</a></li>
</ul>
<p>How it works</p>
<ul>
<li>the script uses pv.exe to find all FMS Core processes which have a command line argument that includes &#8220;flvplayerapp&#8221; (which is only for recorded courses)</li>
<li>for each of the returned process ids</li>
<li>it uses pslist to list details which include the age of the process</li>
<li>it uses a regex match find the &#8220;hours it&#8217;s been running&#8221;</li>
<li>if longer than 5 hours (a configurable parameter) it uses pskill to kill the process.</li>
</ul>
<p>So we set this up on an hourly scheduled task and it handles garbage collection for us.</p>
<p>Source:  <a href="http://zeroasterisk.com/blog/wp-content/uploads/2010/07/fmscore-killer-source.au3_.txt">fmscore-killer-source.au3</a></p>
<p><map name='google_ad_map_388_0676ea2b0e7dda10'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/388?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_388_0676ea2b0e7dda10' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=388&amp;url= http%3A%2F%2Fzeroasterisk.com%2F2010%2F07%2F23%2Fadobe-connect-fmscore-process-killer%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://zeroasterisk.com/2010/07/23/adobe-connect-fmscore-process-killer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>I&#8217;m Just Git&#8217;ting It</title>
		<link>http://zeroasterisk.com/2010/05/07/im-just-gitting-it/</link>
		<comments>http://zeroasterisk.com/2010/05/07/im-just-gitting-it/#comments</comments>
		<pubDate>Fri, 07 May 2010 22:13:20 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://zeroasterisk.com/?p=385</guid>
		<description><![CDATA[Everyone and their mom have been using Git and GitHub for a while, but I&#8217;m just breaking down and using it&#8230; I have been slow to adopt because SVN worked for me fine (until I had to merge branches) and I don&#8217;t like to pay for storage space.  But I continue to be impressed by [...]]]></description>
			<content:encoded><![CDATA[<p>Everyone and their mom have been using Git and GitHub for a while, but I&#8217;m just breaking down and using it&#8230; I have been slow to adopt because SVN worked for me fine (until I had to merge branches) and I don&#8217;t like to pay for storage space.  But I continue to be impressed by it&#8217;s functionality and ease of use, so I&#8217;m going to move our work repositories over (needing a Large account probably) but I think it will be worth it.</p>
<p><a href="http://github.com/zeroasterisk/">http://github.com/zeroasterisk/</a></p>
<p><map name='google_ad_map_385_0676ea2b0e7dda10'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/385?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_385_0676ea2b0e7dda10' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=385&amp;url= http%3A%2F%2Fzeroasterisk.com%2F2010%2F05%2F07%2Fim-just-gitting-it%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://zeroasterisk.com/2010/05/07/im-just-gitting-it/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ollie And Anita Are Fine, But Stuck In The Hospital Still</title>
		<link>http://zeroasterisk.com/2010/04/13/ollie-and-anita-are-fine-but-stuck-in-the-hospital-still/</link>
		<comments>http://zeroasterisk.com/2010/04/13/ollie-and-anita-are-fine-but-stuck-in-the-hospital-still/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 13:50:23 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[anita]]></category>
		<category><![CDATA[oliver]]></category>

		<guid isPermaLink="false">http://zeroasterisk.com/?p=383</guid>
		<description><![CDATA[Oliver has been feeling a bit sick for a couple of days, and it was acute yesterday early afternoon &#8211; he was doing the  &#8221;I&#8217;m in pain&#8221; cry for a half an hour straight and was inconsolable.  Very unusual for him.  So we made an appointment to see the Pediatrician and by the time we got in there [...]]]></description>
			<content:encoded><![CDATA[<p>Oliver has been feeling a bit sick for a couple of days, and it was acute yesterday early afternoon &#8211; he was doing the  &#8221;I&#8217;m in pain&#8221; cry for a half an hour straight and was inconsolable.  Very unusual for him.  So we made an appointment to see the Pediatrician and by the time we got in there (~3 hours later) he seemed pretty normal, though really tired still because he is sick and doing all the extra crying, but sleeping and eating ok again.</p>
<p>The Pediatrician was concerned that he was sort of difficult to wake up and was worried about the loss of appetite earlier in the day and the bout of really bad crying we told him of, and said that kids 2 months and under are really vulnerable&#8230; their immune systems are not yet able to localize an infection, and his blood-work came back with an increased white blood cell count.  So he recommended a 23 hour observation at Kosair&#8217;s Children&#8217;s Hospital and in fact a LP (spinal tap) to check for meningitis (which was terrifying to hear).  We tried to do an &#8220;are you sure&#8221; check, but he certainly was and had one of the other Pediatricians agree with him, mostly because Ollie is just barely 2 months old&#8230; If he&#8217;d been 4 months, they would have just sent us home.</p>
<p>So poor Anita went to the triage room with Ollie (about 6pm) and was stuck there while Dr.s and incompetent nurses in training did their thing.  Ollie was smiling and flirting with them, so they didn&#8217;t force the LP issue (which we were very happy to hear) but it&#8217;s still a grueling thing and a health risk being in the hospital.  They finally made it to a hospital room by 10pm and I visited for a bit (I&#8217;d been at home with Poppy).  The room was ok, but stuffy and still not a place you want to be, especially with your little one.</p>
<p>Doctors visited this morning and said that he seems fine and the cultures they took are still incubating&#8230; so Anita and Ollie are still on wait in the room to finish out their 23 hours.</p>
<p>All in all, I&#8217;m very happy to have a healthy (mostly, he is still a bit sick) kid and when it comes down to it, that&#8217;s all that matters.  On the other hand, I&#8217;m mildly annoyed at the hospital&#8217;s execution in keeping her waiting and honestly, in keeping her still there.  If the kid is healthy enough that everyone is comfortable, it seems like he/they should be released.  Also, though I trust the explanation given by the Doctors, I can&#8217;t help but wonder if this is a case of CYA &#8211; the doctors being afraid of potential litigation have to do everything they possibly can, even if it doesn&#8217;t seem reasonable.</p>
<p>Of course, if things had gone another way, and they said to just go home, and it turned out to be some serious disease&#8230;</p>
<p>Oh well, looks like we&#8217;re going to make our insurance deductible early this year.</p>
<p><map name='google_ad_map_383_0676ea2b0e7dda10'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/383?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_383_0676ea2b0e7dda10' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=383&amp;url= http%3A%2F%2Fzeroasterisk.com%2F2010%2F04%2F13%2Follie-and-anita-are-fine-but-stuck-in-the-hospital-still%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://zeroasterisk.com/2010/04/13/ollie-and-anita-are-fine-but-stuck-in-the-hospital-still/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cakephp Beforesave() Gotcha: Need To Set $this-&gt;__exists To True If Setting A Primary Key</title>
		<link>http://zeroasterisk.com/2010/02/18/cakephp-beforesave-gotcha-this-__exists/</link>
		<comments>http://zeroasterisk.com/2010/02/18/cakephp-beforesave-gotcha-this-__exists/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 02:59:45 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[cakephp]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[beforeSave]]></category>
		<category><![CDATA[cake]]></category>

		<guid isPermaLink="false">http://zeroasterisk.com/?p=380</guid>
		<description><![CDATA[if you add a primary key which would turn an "insert" into an "update" within beforeSave() you'll need to set $this->__exists = true;... the call to $this->exists(); happens in model.php before the callback to beforeSave().]]></description>
			<content:encoded><![CDATA[<p>I added an update to <a href="http://book.cakephp.org/view/76/Callback-Methods">CakePHP Book: beforeSave()</a></p>
<blockquote><p>Also, if you add a primary key which would turn an &#8220;insert&#8221; into an &#8220;update&#8221; within beforeSave() you&#8217;ll need to set <code>$this-&gt;__exists = true;</code>&#8230; the call to <a href="http://api12.cakephp.org/view_source/model/#line-1159">$this-&gt;exists();</a> happens in model.php before the callback to <a href="http://api12.cakephp.org/view_source/model/#line-1191">beforeSave()</a>.</p>
<pre>function beforeSave() {
	if (!isset($this-&gt;data[$this-&gt;name['id') &amp;&amp; isset($this-&gt;data[$this-&gt;name['unique_field')) {
		$found = $this-&gt;find("first",array(
				"recursive" =&gt; -1,
				"fields" =&gt; array("id"),
				"conditions" =&gt; array("unique_field" =&gt; $this-&gt;data[$this-&gt;name['unique_field')));
		if (!empty($found) &amp;&amp; isset($found[$this-&gt;name['id')) {
			$this-&gt;id = $this-&gt;data[$this-&gt;name['id' = $found[$this-&gt;name['id';
			<strong>$this-&gt;__exists = true;</strong>
		}
	}
	return parent::beforeSave();
}</pre>
</blockquote>
<p>That&#8217;s been confusing me a bit recently &#8211; setting the ID of a row within beforesave() should change the save to an update, but it was trying to insert with a specified ID and thus, failing&#8230; glad to have a simple solution that makes sense&#8230; hope that helps someone else&#8230;</p>
<p><map name='google_ad_map_380_0676ea2b0e7dda10'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/380?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_380_0676ea2b0e7dda10' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=380&amp;url= http%3A%2F%2Fzeroasterisk.com%2F2010%2F02%2F18%2Fcakephp-beforesave-gotcha-this-__exists%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://zeroasterisk.com/2010/02/18/cakephp-beforesave-gotcha-this-__exists/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Profiles Now With Content</title>
		<link>http://zeroasterisk.com/2010/02/15/google-profiles-now-with-content/</link>
		<comments>http://zeroasterisk.com/2010/02/15/google-profiles-now-with-content/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 18:31:09 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://zeroasterisk.com/?p=378</guid>
		<description><![CDATA[Alan&#8217;s Google Profile, now updated with Buzz activity, searchable, and pulling content from various feeds, including flickr, facebook, twitter, etc&#8230;
If you don&#8217;t see this as &#8220;competition&#8221; for Facebook (et. al.) then you&#8217;re not seeing the same thing I am.
I personally love it, esp. the publicly searchable aspects and the integration  into the gmail interface but [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://www.google.com/profiles/zeroasterisk#">Alan&#8217;s Google Profile</a>, now updated with Buzz activity, searchable, and pulling content from various feeds, including flickr, facebook, twitter, etc&#8230;</p>
<p>If you don&#8217;t see this as &#8220;competition&#8221; for Facebook (et. al.) then you&#8217;re not seeing the same thing I am.</p>
<p>I personally love it, esp. the publicly searchable aspects and the integration  into the gmail interface but I might stop using it if other people don&#8217;t or if it can&#8217;t work two-way with facebook&#8230;.  (if I have to post in facebook for it to show up both places, guess what&#8230; I&#8217;ll just use facebook)</p>
<p><map name='google_ad_map_378_0676ea2b0e7dda10'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/378?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_378_0676ea2b0e7dda10' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=378&amp;url= http%3A%2F%2Fzeroasterisk.com%2F2010%2F02%2F15%2Fgoogle-profiles-now-with-content%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://zeroasterisk.com/2010/02/15/google-profiles-now-with-content/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oliver Is Born, Go And Tell It On The Mountain</title>
		<link>http://zeroasterisk.com/2010/02/04/oliver-is-born-go-and-tell-it-on-the-mountain/</link>
		<comments>http://zeroasterisk.com/2010/02/04/oliver-is-born-go-and-tell-it-on-the-mountain/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 05:58:10 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[alan]]></category>
		<category><![CDATA[anita]]></category>
		<category><![CDATA[Birth]]></category>
		<category><![CDATA[Childbirth]]></category>
		<category><![CDATA[Doula]]></category>
		<category><![CDATA[Family]]></category>
		<category><![CDATA[Home birth]]></category>
		<category><![CDATA[Midwifery]]></category>
		<category><![CDATA[oliver]]></category>
		<category><![CDATA[Poppy]]></category>

		<guid isPermaLink="false">http://zeroasterisk.com/?p=376</guid>
		<description><![CDATA[Most of you have heard from the grapevine or facebook (this generation&#8217;s grapevine) that our son, Oliver Jackson Blount, was born on 2010-02-02 @ 14:35 EST.  He was 9 pounds 15 ounces and 23 inches (they measured twice to be sure).
We had a home birth with 2 midwives and an apprentice, a doula, Anita&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Most of you have heard from the grapevine or facebook (this generation&#8217;s grapevine) that our son, Oliver Jackson Blount, was born on 2010-02-02 @ 14:35 EST.  He was 9 pounds 15 ounces and 23 inches (they measured twice to be sure).</p>
<p>We had a home birth with 2 <a href="http://www.google.com/dictionary?langpair=en|en&amp;q=midwives&amp;hl=en&amp;aq=f">midwives</a> and an apprentice, a <a href="http://www.google.com/dictionary?aq=f&amp;langpair=en|en&amp;hl=en&amp;q=doula">doula</a>, Anita&#8217;s mom (former NICU nurse) and sister Virginia (new nurse) in attendance&#8230; of yeah, and me.  The decision to have a home birth was one we took very seriously and subsequently are very happy with; it being unusual is often the topic of conversation&#8230; but I can summarize with the following: We had a normal and healthy fetus inside a normal and healthy mom, everything looking like it would progress as &#8220;low risk&#8221; we choose to stay at home with the support of professionals vs. being put through the standard process mill at a hospital.  It was great.</p>
<p>Anita apparently figured out all this birthing stuff the first time, because she was in charge for this one.  She had some intense but intermittent early labor the day before.  It died out in the afternoon and came back at night time, persistent but spaced far enough apart Anita could sleep for 30-50 minutes between contractions. In the morning we coordinated passing off Poppy to one of the volunteers who would take her, packed her bags and handed her off right about 9:00am.   Seriously at 9:05 Anita switched from &#8220;early&#8221; to &#8220;active&#8221; labor and things picked up. <em>(more reading on the </em><a href="http://www.mayoclinic.com/health/stages-of-labor/PR00106"><em>stages of labor</em></a><em>) </em> Our Doula arrived shortly thereafter and picked up on a speedy progression and encouraged us to get the midwives here.  We weren&#8217;t sure, since Anita was still talking between contractions and smiling and whatnot, but she continued to progress and we realized that things were in fact going fast.  She basically dampened things down until the midwives arrived at about 12:30pm.  Within minutes (again), poof, she was in transition&#8230; She pushed from about 1:15 to 2:35 when Oliver was born.</p>
<p>It&#8217;s one thing to have done research and internalized that labor is a natural thing for women to do as part of being human, and something wonderful to see someone go through the whole hard, messy, awe-inspiring process with such strength and grace.  She will argue the point, I&#8217;m sure, but she was centered, prepared, and fantastic.</p>
<p>Whoever said women were the weaker sex had obviously never been to a child birth.</p>
<p>And now, the scary part&#8230;</p>
<p>Oliver was actually pretty stuck with <a href="http://en.wikipedia.org/wiki/Shoulder_dystocia">shoulder dystocia</a> and the midwives had to literally push him in a bit and pull out his arms so that he could come out (big baby? yeah, no doubt).  He was pretty purple due to the process, but his heart rate stayed good. The midwives gave him a couple of breaths and we all (hopped up on adrenaline) rubbed on him and talked to him.  We would have been more afraid if we hadn&#8217;t had this same thing happen to a friend of ours&#8217; baby (now one of Poppy&#8217;s 1.5 yr old friends).  He started breathing again and regained color well.  Talking about it now I can be calm and explanatory, but it was harrowing for us to go through&#8230; the midwives said it isn&#8217;t common, but isn&#8217;t too uncommon either.  Keeping the umbilical attached for a while helps assure backup support for a baby who isn&#8217;t breathing fast enough (and they had oxygen if needed, likewise we were ready to travel to a hospital should we needed to).</p>
<p>Once the first couple minutes of terrifying excitement had happened, Oliver was on Anita&#8217;s chest and we watched and talked and touched and processed.  We finally got to look at him and he was very different than Poppy as a newborn.  He has freckles and hair, blonde and perhaps a half inch long.  He was confirmed a boy, and was certainly bigger than Poppy.  He&#8217;s got the same monkey toes and dexterous fingers, same shar-pei-like rolls and folds in his skin, and somewhat similar features&#8230; He attempted nursing within minutes and in less than an hour he had latched on pretty well.</p>
<p>The midwives perform many of the same post-birth tests and procedures, so he got bended and prodded and whatnot&#8230; everything checks out on the &#8220;100% good&#8221; scale with no reservations.</p>
<p>We all hung around and talked and processed a bit more, and started sending out some notifications and made a few calls (though we were a bit remiss on that front, sorry to any who were missed).  Finally Poppy came home and met her brother Oliver, whom she had been telling for weeks to &#8220;come out&#8221;.  She was absolutely perfect, excited and perhaps not gentle enough, but for a 2-year-old she was just perfect.  She held him on her lap, on one of our laps, and held his hand&#8230; she looks so big next to him&#8230; She is.</p>
<p>The last 24 hour has played out as you might hope for&#8230; Poppy went to school in the morning and help Oliver some before her naptime (as well as some special &#8220;Poppy&#8221; time).  Several visitors in the evening, including one of Poppy&#8217;s 2yr old friends.  People brought us food both nights [THANK YOU and we are really all doing quite well.  Tomorrow is just us, which we are a bit apprehensive about, but we&#8217;ve gotta figure out how to handle two kids sooner or later&#8230;. scratch that, sooner it is.</p>
<p>Aside from the scary first minute there were no problems throughout the whole process and there continue not to be. (Yay!)</p>
<p>More on little/big Ollie: He&#8217;s still good size 9# 5oz at his 24hr checkup.  One of the midwives said to Anita &#8220;congratulations, you just gave birth to a toddler&#8221; &#8211; indeed sometimes when you look he doesn&#8217;t seem all that much smaller than Poppy.  On the other hand, he is&#8230; All of his skin is still krinkly as if he&#8217;d been in the bath for way too long (like 10 months) and whisper soft.  He has a lot of baby rashy skin like Poppy had, but the freckles are different. He also had a bit of bruising on the face, but I don&#8217;t think I notice it (just reporting what others say).  He stretched out quickly, instead of staying all curled up. The funniest thing is how vocal he is.  He snuffles and snorts and grunts pretty loudly and not infrequently. Largely it&#8217;s rooting, but no matter, it&#8217;s hilarious.  His cry is cute, like all newborns I suppose, but it can be quite loud and high-pitched at times&#8230; He&#8217;s opening his eyes when awake and looking around some, though very uncoordinated.  He also tries to lift up his head and even using his arms to lift off of one&#8217;s chest while holding him vertically&#8230; Impressive, even if mostly unsuccessful.</p>
<p>On a reflective note, there&#8217;s something slightly sad about life in that we have to compare any experience to others and can not just hold on to it for it&#8217;s own sake.  I&#8217;m constantly comparing myself and my thoughts/actions/etc in this birth to those of Poppy&#8217;s.  I&#8217;m not nearly as tired since ~5.5 hours is a much shorter labor than 26 hours. We are at home, surrounded by friends and family, and (drumroll) we&#8217;ve had a kid before.  He&#8217;s new and wonderful and perfect, but at the same time he &#8220;checks out&#8221; and fits into patterns we&#8217;ve already experienced.  I admit I was disappointed to not have felt more &#8220;paradigm-shifted&#8221;&#8230; perhaps I was still a bit shell-shocked.  Perhaps I still am.</p>
<p>Regardless, our paradigm has certainly shifted, whether I felt it in a gush or incrementally&#8230;  We now parent two, and already we juggle who to put down, who to diaper, and what boundaries fit.  Perhaps most importantly, we have to figure out who to give attention to, when to have special &#8220;alone&#8221; time and how wefit together as a family&#8230; Perfectly well, I think&#8230; Amazing how much difference one more makes and how much more &#8220;full&#8221; the word family feels in my mind.</p>
<div><strong>Photos</strong></div>
<div>You can see a <a href="http://www.flickr.com/photos/zeroasterisk/sets/72157623347154558/show/">slideshow</a> of my photos of Oliver: <a href="http://www.flickr.com/photos/zeroasterisk/sets/72157623347154558/">http://www.flickr.com/photos/zeroasterisk/sets/72157623347154558/</a></div>
<div>My Favorites:</div>
<div><span id="goog_1265260595338"> </span><span id="goog_1265260595339"> </span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 20px; "><a href="http://www.flickr.com/photos/zeroasterisk/4329446598/in/set-72157623347154558"><img src="http://farm5.static.flickr.com/4020/4329446598_83ae22a85c_m.jpg" alt="" /></a><a href="http://www.flickr.com/photos/zeroasterisk/4329442834/in/set-72157623347154558/"><img src="http://farm5.static.flickr.com/4031/4329442834_5a0e9049f9_m.jpg" alt="" /></a><a href="http://www.flickr.com/photos/zeroasterisk/4329448230/in/set-72157623347154558"><img src="http://farm5.static.flickr.com/4039/4329448230_bef8c6fef2_m.jpg" alt="" /></a><a href="http://www.flickr.com/photos/zeroasterisk/4328704293/in/set-72157623347154558"><img src="http://farm5.static.flickr.com/4003/4328704293_a2126b4e10_m.jpg" alt="" /></a><a href="http://www.flickr.com/photos/zeroasterisk/4328715279/in/set-72157623347154558"><img src="http://farm3.static.flickr.com/2704/4328715279_da3b7fb389_m.jpg" alt="" /></a></span></div>
<div></div>
<div><strong>Videos</strong></div>
<div>You can see Poppy coming home on Ollie&#8217;s birthday to meet him for the first time: <a href="http://www.flickr.com/photos/zeroasterisk/4326109383">http://www.flickr.com/photos/zeroasterisk/4326109383</a></div>
<div>You can see some of Oliver&#8217;s facial expressions and a few noises: <a href="http://www.flickr.com/photos/zeroasterisk/4328419329">http://www.flickr.com/photos/zeroasterisk/4328419329</a></div>
<div>(more coming)</div>
<div></div>
<div><strong>Funniest Quote:</strong></div>
<div>Poppy is trying to figure out what she has control over and loves repetivie games&#8230; especially when she can say &#8220;no&#8221;&#8230; so often we gamesay something to her like &#8220;Hello Poppy&#8221; and she will counter: &#8220;Papa no, Hello Poppy&#8221; mirroring our inflection&#8230;</div>
<div>When Anita was Laboring in the morning, before poppy left, she moaned and Poppy said: &#8220;Mama no, mmmoooohhhhhhhhh&#8221;&#8230; A few minutes later Anita said &#8220;oh my god&#8221; and Poppy jumped right in with: &#8220;Mama no, oh my god&#8221; &#8212; of course this is during a contraction so a double-whammy for poor Anita because we couldn&#8217;t help but laugh.</div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/pixy.gif?x-id=c579a782-2664-452b-b2ee-37cba0591439" alt="" /><span class="zem-script more-related more-info pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<p><map name='google_ad_map_376_0676ea2b0e7dda10'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/376?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_376_0676ea2b0e7dda10' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=376&amp;url= http%3A%2F%2Fzeroasterisk.com%2F2010%2F02%2F04%2Foliver-is-born-go-and-tell-it-on-the-mountain%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://zeroasterisk.com/2010/02/04/oliver-is-born-go-and-tell-it-on-the-mountain/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Apps Removes Support For Ie6</title>
		<link>http://zeroasterisk.com/2010/02/01/google-apps-removes-support-for-ie6/</link>
		<comments>http://zeroasterisk.com/2010/02/01/google-apps-removes-support-for-ie6/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 23:24:10 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Apps]]></category>
		<category><![CDATA[Google Docs]]></category>
		<category><![CDATA[Internet Explorer 6]]></category>

		<guid isPermaLink="false">http://zeroasterisk.com/?p=374</guid>
		<description><![CDATA[http://googleenterprise.blogspot.com/2010/01/modern-browsers-for-modern-applications.html
Many other companies have already stopped supporting older browsers like Internet Explorer 6.0 as well as browsers that are not supported by their own manufacturers. We’re also going to begin phasing out our support, starting with Google Docs and Google Sites. As a result you may find that from March 1 key functionality within these [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://googleenterprise.blogspot.com/2010/01/modern-browsers-for-modern-applications.html">http://googleenterprise.blogspot.com/2010/01/modern-browsers-for-modern-applications.html</a></p>
<blockquote><p>Many other companies have already stopped supporting older browsers like Internet Explorer 6.0 as well as browsers that are not supported by their own manufacturers. We’re also going to begin phasing out our support, starting with Google Docs and Google Sites. As a result you may find that from March 1 key functionality within these products &#8212; as well as new Docs and Sites features &#8212; won’t work properly in older browsers.</p>
<p>2010 is going to be a great year for Google Apps and we want to ensure that everyone can make the most of what we are developing. Please take the time to switch your organization to the most up-to-date browsers available.</p></blockquote>
<p>I&#8217;m hoping this will be the killing stroke to a browser which has single-handedly caused me more frustration than any other piece of software, ever.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/pixy.gif?x-id=cad9533c-7e8d-4df5-9c2e-17f2208bf2de" alt="" /><span class="zem-script more-related more-info pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<p><map name='google_ad_map_374_0676ea2b0e7dda10'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/374?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_374_0676ea2b0e7dda10' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=374&amp;url= http%3A%2F%2Fzeroasterisk.com%2F2010%2F02%2F01%2Fgoogle-apps-removes-support-for-ie6%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://zeroasterisk.com/2010/02/01/google-apps-removes-support-for-ie6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mysql Master/slave Replication Monitoring Php Script</title>
		<link>http://zeroasterisk.com/2010/01/13/mysql-masterslave-replication-monitoring-php-script/</link>
		<comments>http://zeroasterisk.com/2010/01/13/mysql-masterslave-replication-monitoring-php-script/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 18:47:25 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[heal]]></category>
		<category><![CDATA[master]]></category>
		<category><![CDATA[monitor]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[replication]]></category>
		<category><![CDATA[slave]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[test heal]]></category>

		<guid isPermaLink="false">http://zeroasterisk.com/?p=372</guid>
		<description><![CDATA[I&#8217;m a bit proud of myself on this one&#8230; I setup a simple, but clean and configurable, MySQL Master/Slave Replication Monitoring PHP Script:
http://code.google.com/p/php-mysql-master-slave-replication-monitor/ (docs)
It&#8217;s Open Source and free, I welcome comments, suggestions, and questions.
I think this will be quite useful for anyone who is setting up a pair of MySQL servers as master/slave and want [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a bit proud of myself on this one&#8230; I setup a simple, but clean and configurable, MySQL Master/Slave Replication Monitoring PHP Script:</p>
<p><a href="http://code.google.com/p/php-mysql-master-slave-replication-monitor/">http://code.google.com/p/php-mysql-master-slave-replication-monitor/</a> (<a href="http://code.google.com/p/php-mysql-master-slave-replication-monitor/wiki/InstallationAndStandardUseCase?ts=1263408552&amp;updated=InstallationAndStandardUseCase">docs</a>)</p>
<p>It&#8217;s Open Source and free, I welcome comments, suggestions, and questions.</p>
<p>I think this will be quite useful for anyone who is setting up a pair of MySQL servers as master/slave and want to be sure their replication works as it should.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/pixy.gif?x-id=8482efd1-104c-4f20-81c2-92d20e4dac36" alt="" /><span class="zem-script more-related more-info pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<p><map name='google_ad_map_372_0676ea2b0e7dda10'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/372?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_372_0676ea2b0e7dda10' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=372&amp;url= http%3A%2F%2Fzeroasterisk.com%2F2010%2F01%2F13%2Fmysql-masterslave-replication-monitoring-php-script%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://zeroasterisk.com/2010/01/13/mysql-masterslave-replication-monitoring-php-script/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fanout, A Super Useful Linux Script If You Manage Multiple, Similar Servers</title>
		<link>http://zeroasterisk.com/2009/12/24/fanout-a-super-useful-linux-script-if-you-manage-multiple-similar-servers/</link>
		<comments>http://zeroasterisk.com/2009/12/24/fanout-a-super-useful-linux-script-if-you-manage-multiple-similar-servers/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 04:54:29 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://zeroasterisk.com/?p=369</guid>
		<description><![CDATA[I love this fanout script for running the same command on multiple servers, just in case you&#8217;re interested:
http://www.stearns.org/fanout/fanout
[root@199564-6 scripts# fanout "$SERVERS" "cp /root/.ssh/authorized_keys /home/user/.ssh/"
Starting root@db1
Starting root@db2
Starting root@nas
Starting root@www1
Starting root@www2
Starting root@www3
Fanout executing "cp /root/.ssh/authorized_keys /home/user/.ssh/"
Start time Wed Dec 23 23:45:35 EST 2009 , End time Wed Dec 23 23:45:47 EST 2009
==== As root on db1 ====
==== [...]]]></description>
			<content:encoded><![CDATA[<p>I love this fanout script for running the same command on multiple servers, just in case you&#8217;re interested:</p>
<p><a href="http://www.stearns.org/fanout/fanout">http://www.stearns.org/fanout/fanout</a></p>
<p><code>[root@199564-6 scripts# fanout "$SERVERS" "cp /root/.ssh/authorized_keys /home/user/.ssh/"<br />
Starting root@db1<br />
Starting root@db2<br />
Starting root@nas<br />
Starting root@www1<br />
Starting root@www2<br />
Starting root@www3<br />
Fanout executing "cp /root/.ssh/authorized_keys /home/user/.ssh/"<br />
Start time Wed Dec 23 23:45:35 EST 2009 , End time Wed Dec 23 23:45:47 EST 2009<br />
==== As root on db1 ====</code></p>
<p><code>==== As root on db2 ====</p>
<p>==== As root on nas ====</p>
<p>==== As root on www1 ====</p>
<p>==== As root on www2 ====</p>
<p>==== As root on www3 ====</p>
<p>Exiting fanout, cleaning up...done.</p>
<p>[root@199564-6 scripts# fanout "$SERVERSWWW" "/etc/init.d/httpd restart"<br />
Starting root@www1<br />
Starting root@www2<br />
Starting root@www3<br />
Fanout executing "/etc/init.d/httpd restart"<br />
Start time Wed Dec 23 23:50:52 EST 2009 , End time Wed Dec 23 23:50:59 EST 2009<br />
==== As root on www1 ====<br />
Stopping httpd: [  OK  <br />
Starting httpd: [  OK  </p>
<p>==== As root on www2 ====<br />
Stopping httpd: [  OK  <br />
Starting httpd: [  OK  </p>
<p>==== As root on www3 ====<br />
Stopping httpd: [  OK  <br />
Starting httpd: [  OK  </p>
<p>Exiting fanout, cleaning up...done.</p>
<p></code></p>
<p><code>[root@199564-6 scripts# echo $SERVERS<br />
root@www1 root@www2 root@www3 root@db1 root@db2 root@nas<br />
[root@199564-6 scripts# echo $SERVERSWWW<br />
root@www1 root@www2 root@www3</code></p>
<p>A great way to execute the same commands on multiple servers&#8230; if you export the $SERVERS to a standard list, in your .bashrc or whatnot&#8230; it&#8217;s even easier.  Of course, you&#8217;ll probably want to setup authorized_keys for your servers so that you don&#8217;t have to authenticate to each&#8230;</p>
<p><map name='google_ad_map_369_0676ea2b0e7dda10'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/369?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_369_0676ea2b0e7dda10' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=369&amp;url= http%3A%2F%2Fzeroasterisk.com%2F2009%2F12%2F24%2Ffanout-a-super-useful-linux-script-if-you-manage-multiple-similar-servers%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://zeroasterisk.com/2009/12/24/fanout-a-super-useful-linux-script-if-you-manage-multiple-similar-servers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Darkauth For The Win!</title>
		<link>http://zeroasterisk.com/2009/12/02/darkauth-for-the-win/</link>
		<comments>http://zeroasterisk.com/2009/12/02/darkauth-for-the-win/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 16:37:33 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[cakephp]]></category>

		<guid isPermaLink="false">http://zeroasterisk.com/?p=367</guid>
		<description><![CDATA[I&#8217;ve been working with CakePHP for a few years now and am very happy with it.  I&#8217;ve been working with the 1.2 version for a few months (since it went stable) and playing with the Auth and ACL core components.
I&#8217;ve decided that ACL is too complicated for most setups, and Auth is fine, but not [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working with CakePHP for a few years now and am very happy with it.  I&#8217;ve been working with the 1.2 version for a few months (since it went stable) and playing with the <a href="http://book.cakephp.org/view/172/Authentication">Auth</a> and <a href="http://book.cakephp.org/view/171/Access-Control-Lists">ACL</a> core components.</p>
<p>I&#8217;ve decided that ACL is too complicated for most setups, and Auth is fine, but not perfect.  So after some research, I switched to the <a href="http://bakery.cakephp.org/articles/view/darkauth-v1-3-an-auth-component">DarkAuth</a> component, which was much better suited to my needs.</p>
<p>The main reasons I prefer it are:</p>
<ul>
<li><span style="background-color: #ffffff; ">Role/Group based access out of the box, which is how I ususally provision security anyway</span></li>
<li><span style="background-color: #ffffff; ">Easy to customize/tweak to suit my needs (more below)</span></li>
<li><span style="background-color: #ffffff; ">Easy to setup permissions, easy to add to app_controller, without then having to explicitly allow public controllers/actions&#8230; instead I have to explicitly restrict controllers or actions.  Also it&#8217;s easy to check for prefixes and restrict based on that (more below)</span></li>
<li><span style="background-color: #ffffff; ">Fast</span></li>
</ul>
<p>So here are some of my customizations:</p>
<p>I like having some parameters set on the controller for easy access to &#8220;who is logged in&#8221;, so I put this in the bottom of the DarkAuth startup() function:<br />
<code><br />
//finally give the view access to the data<br />
$this-&gt;controller-&gt;user = $this-&gt;getAllUserInfo();<br />
$this-&gt;controller-&gt;set('_DarkAuth',$this-&gt;controller-&gt;user);<br />
$this-&gt;controller-&gt;isadmin = $this-&gt; isAllowed("admin");<br />
$this-&gt;controller-&gt;isloggedin = $this-&gt;isAllowed();<br />
</code></p>
<p>I like using the core security class for password hashing, which can easily be done like so:<br />
<code><br />
	var $securityImported = false;<br />
	function hasher($plain_text){<br />
		//$hashed = md5('dark'.$plain_text.'cake');<br />
		if (!$this->securityImported) {<br />
			App::import('Core','Security');<br />
			$this->securityImported = true;<br />
		}<br />
		return Security::hash($plain_text, null, true);<br />
	}<br />
</code></p>
<p>Here&#8217;s how to inject admin requirements based on the admin routing path (prefix):</p>
<p><code><br />
		if (isset($this->params["prefix") &#038;&#038; $this->params["prefix"=='admin') {<br />
			$this->_DarkAuth = array('required' => array("admin"));<br />
		}<br />
</code></p>
<p>And some other useful controller tricks:</p>
<p><code><br />
	/**<br />
	* assigns the DarkAuth profile of a different member account, as if you had logged in as them<br />
	* also backs up your current DarkAuth profile so you can later "depersonate"<br />
	*/<br />
	function admin_impersonate($id) {<br />
		$this->Session->write('AdminDepersonate',array_intersect_key($this->user['Member',array('id'=>0,'username'=>0)));<br />
		$this->DarkAuth->authenticate('Auth',$this->Member->read(null,$id));<br />
		return $this->redirect("/members/home");<br />
	}<br />
</code></p>
<p><map name='google_ad_map_367_0676ea2b0e7dda10'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/367?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_367_0676ea2b0e7dda10' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=367&amp;url= http%3A%2F%2Fzeroasterisk.com%2F2009%2F12%2F02%2Fdarkauth-for-the-win%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://zeroasterisk.com/2009/12/02/darkauth-for-the-win/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Cakephp Gotcha For Migrating From 1.1 To 1.2+ On Model-&gt;create()</title>
		<link>http://zeroasterisk.com/2009/11/30/a-cakephp-gotcha-for-migrating-from-1-1-to-1-2-on-model-create/</link>
		<comments>http://zeroasterisk.com/2009/11/30/a-cakephp-gotcha-for-migrating-from-1-1-to-1-2-on-model-create/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 16:15:28 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[cakephp]]></category>

		<guid isPermaLink="false">http://zeroasterisk.com/?p=361</guid>
		<description><![CDATA[I noticed that the data for my saves were not populating with the current date/time as they should, when calling the model->create() function, without a parameter, and then the model->save() function.

$this->ModelName->create();
$data = $this->ModelName->save($dataWithoutCreatedModifiedUpdated);
$data['ModelName']['created']=="0000-00-00 00:00:00"]]></description>
			<content:encoded><![CDATA[<p>I reported this as a <a href="http://code.cakephp.org/tickets/view/143">ticket</a>, but as it turns out, it&#8217;s a design choice.. but it&#8217;s enough of a gotcha that I thought I should report it.</p>
<h4>What happened</h4>
<p>The $this->ModelName->create() set the defaults for the next save, which is what I would expect. But on my database there&#8217;s a default value set for the &#8216;created&#8217; field (the standard for datetime columns in PHPmyAdmin) as well as the &#8216;modified&#8217; and &#8216;updated&#8217; fields.<br />
So when the $this->ModelName->create() function ran, it populated the &#8216;created&#8217; and &#8216;updated&#8217; and &#8216;modified&#8217; fields based on their default values in MySQL; which is &#8220;0000-00-00 00:00:00&#8243;.<br />
Subsequently, when I ran $this->ModelName->save($dataWithoutCreated); the &#8216;created&#8217; and &#8216;updated&#8217; and &#8216;modified&#8217; fields were not defaulting to the current timestamp when they were not set by the $data passed into save&#8230; since they already had a &#8220;valid&#8221; value.</p>
<h4>The Solution</h4>
<p>Of course you can modify your model with a beforeSave() code to strip those off, but the &#8220;real&#8221; solution recommended by Mark Story is to change the default value of those fields in the database to NULL.  This is something that sounded foreign to me, since PHPMyAdmin defaults to &#8220;0000-00-00&#8243; for date/time fields, but it seems to work fine and I usually will defer to recommendations of the CakePHP core devs (and usually am happy I&#8217;ve done so).</p>
<p><map name='google_ad_map_361_0676ea2b0e7dda10'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/361?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_361_0676ea2b0e7dda10' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=361&amp;url= http%3A%2F%2Fzeroasterisk.com%2F2009%2F11%2F30%2Fa-cakephp-gotcha-for-migrating-from-1-1-to-1-2-on-model-create%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://zeroasterisk.com/2009/11/30/a-cakephp-gotcha-for-migrating-from-1-1-to-1-2-on-model-create/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Autosearch Craigslist With Google Alerts</title>
		<link>http://zeroasterisk.com/2009/11/23/autosearch-craigslist-with-google-alerts/</link>
		<comments>http://zeroasterisk.com/2009/11/23/autosearch-craigslist-with-google-alerts/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 22:05:12 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://zeroasterisk.com/2009/11/23/autosearch-craigslist-with-google-alerts/</guid>
		<description><![CDATA[Sometimes, I want something only if it&#8217;s on the cheap, second hand, and easy&#8230; that&#8217;s usually Craigslist.
Often what I want isn&#8217;t available when I think of it&#8230; but it might show up sometime&#8230;  I don&#8217;t want to have to look at craigslist every day (because I wont).
Google Alerts to the rescue.
If I&#8217;m in Louisville [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes, I want something only if it&#8217;s on the cheap, second hand, and easy&#8230; that&#8217;s usually Craigslist.</p>
<p>Often what I want isn&#8217;t available when I think of it&#8230; but it might show up sometime&#8230;  I don&#8217;t want to have to look at craigslist every day (because I wont).</p>
<p><a href="http://www.google.com/alerts">Google Alerts</a> to the rescue.</p>
<p>If I&#8217;m in Louisville KY and I&#8217;m looking for an iPod (for example) I just setup an alert for: &#8220;site:louisville.craigslist.org ipod&#8221;</p>
<p>Of course, that might be too many results and flood the inbox, but for the more obscure items, it&#8217;s a wonderful tactic and tool.</p>
<p><map name='google_ad_map_353_0676ea2b0e7dda10'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/353?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_353_0676ea2b0e7dda10' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=353&amp;url= http%3A%2F%2Fzeroasterisk.com%2F2009%2F11%2F23%2Fautosearch-craigslist-with-google-alerts%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://zeroasterisk.com/2009/11/23/autosearch-craigslist-with-google-alerts/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Month Of Site-downtime</title>
		<link>http://zeroasterisk.com/2009/11/23/a-month-of-site-downtime/</link>
		<comments>http://zeroasterisk.com/2009/11/23/a-month-of-site-downtime/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 14:17:58 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[alan]]></category>
		<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://zeroasterisk.com/?p=349</guid>
		<description><![CDATA[So the website has been down from Oct 21st to Nov 23rd.  The old server got hacked (or really, a sister-server) and due to security concerns, we didn&#8217;t know what got owned and what was safe.  We already had a different server hardware to put in place, just had to set it up.  So we [...]]]></description>
			<content:encoded><![CDATA[<p>So the website has been down from Oct 21st to Nov 23rd.  The old server got hacked (or really, a sister-server) and due to security concerns, we didn&#8217;t know what got owned and what was safe.  We already had a different server hardware to put in place, just had to set it up.  So we got that installed and up and running, but it took me a few more days to get around to implementing something on my site.</p>
<p>I&#8217;ve switched to a Wordpress controlled homepage, and I think I&#8217;m going to abandon the wiki (as opposed to simply not posting anything in it).</p>
<p>That is all&#8230;</p>
<p>Thanks,</p>
<p>-alan</p>
<p><map name='google_ad_map_349_0676ea2b0e7dda10'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/349?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_349_0676ea2b0e7dda10' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=349&amp;url= http%3A%2F%2Fzeroasterisk.com%2F2009%2F11%2F23%2Fa-month-of-site-downtime%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://zeroasterisk.com/2009/11/23/a-month-of-site-downtime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

