<?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>ngmarley.com</title>
	<atom:link href="http://ngmarley.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://ngmarley.com/blog</link>
	<description>Crazy-Go-Nuts University</description>
	<lastBuildDate>Sat, 04 Feb 2012 15:37:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>The Purple Carrot (Rare-ish foods part deux)</title>
		<link>http://ngmarley.com/blog/purple-carrot/</link>
		<comments>http://ngmarley.com/blog/purple-carrot/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 04:15:42 +0000</pubDate>
		<dc:creator>Nathan</dc:creator>
				<category><![CDATA[food]]></category>
		<category><![CDATA[horticulture]]></category>
		<category><![CDATA[carrot-soup]]></category>
		<category><![CDATA[purple-carrots]]></category>
		<category><![CDATA[yellow-carrots]]></category>

		<guid isPermaLink="false">http://ngmarley.com/blog/?p=1250</guid>
		<description><![CDATA[And here are some images of the purple carrot and yellow carrots we found at our local natural foods coöp. I promise the soup tasted better than it looks. Even my in-laws liked it.]]></description>
			<content:encoded><![CDATA[<p></p><p>And here are some images of the purple carrot and yellow carrots we found at our local natural foods coöp.</p>
<div id="attachment_1249" class="wp-caption aligncenter" style="width: 300px">
	<a href="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/purple_carrot1.jpg"><img src="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/purple_carrot1-300x200.jpg" alt="Purple Carrot1" title="Purple Carrot1" width="300" height="200" class="size-medium wp-image-1249" /></a>
	<p class="wp-caption-text">These purple carrots have a green/yellow core.</p>
</div>
<div id="attachment_1248" class="wp-caption aligncenter" style="width: 300px">
	<a href="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/purple_carrot2.jpg"><img src="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/purple_carrot2-300x200.jpg" alt="Purple Carrot2" title="Purple Carrot2" width="300" height="200" class="size-medium wp-image-1248" /></a>
	<p class="wp-caption-text">Not all purple carrots have a green/yellow core. Some have orange cores, and some are purple all the way through.</p>
</div>
<div id="attachment_1247" class="wp-caption aligncenter" style="width: 300px">
	<a href="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/carrot_peels.jpg"><img src="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/carrot_peels-300x200.jpg" alt="Carrot peels." title="Carrot peels." width="300" height="200" class="size-medium wp-image-1247" /></a>
	<p class="wp-caption-text">Peels from the purple &#038; yellow carrots. These were used in the soup.</p>
</div>
<div id="attachment_1245" class="wp-caption aligncenter" style="width: 300px">
	<a href="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/chopped_carrots1.jpg"><img src="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/chopped_carrots1-300x200.jpg" alt="Chopped Carrots1" title="Chopped Carrots1" width="300" height="200" class="size-medium wp-image-1245" /></a>
	<p class="wp-caption-text">Chopped purple, yellow and orange carrots.</p>
</div>
<div id="attachment_1244" class="wp-caption aligncenter" style="width: 300px">
	<a href="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/chopped_carrots2.jpg"><img src="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/chopped_carrots2-300x200.jpg" alt="Chopped Carrots2" title="Chopped Carrots2" width="300" height="200" class="size-medium wp-image-1244" /></a>
	<p class="wp-caption-text">More chopped purple, yellow and orange carrots.</p>
</div>
<div id="attachment_1246" class="wp-caption aligncenter" style="width: 300px">
	<a href="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/purple_n_yellow_carrot_soup.jpg"><img src="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/purple_n_yellow_carrot_soup-300x200.jpg" alt="" title="purple_n_yellow_carrot_soup" width="300" height="200" class="size-medium wp-image-1246" /></a>
	<p class="wp-caption-text">A soup made from purple, yellow and orange carrots (and purple potatoes).</p>
</div>
<p>I promise the soup tasted better than it looks. Even my in-laws liked it.</p>
]]></content:encoded>
			<wfw:commentRss>http://ngmarley.com/blog/purple-carrot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rare-ish Foods</title>
		<link>http://ngmarley.com/blog/rare-ish-foods/</link>
		<comments>http://ngmarley.com/blog/rare-ish-foods/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 04:02:18 +0000</pubDate>
		<dc:creator>Nathan</dc:creator>
				<category><![CDATA[food]]></category>
		<category><![CDATA[beet-soup]]></category>
		<category><![CDATA[purple-potatoes]]></category>

		<guid isPermaLink="false">http://ngmarley.com/blog/?p=1237</guid>
		<description><![CDATA[My wife and I like to eat a lot of non-standard items such as purple and yellow carrots and purple potatoes. Here are some images of foods we&#8217;ve eaten in the last few months.]]></description>
			<content:encoded><![CDATA[<p></p><p>My wife and I like to eat a lot of non-standard items such as purple and yellow carrots and purple potatoes.</p>
<p>Here are some images of foods we&#8217;ve eaten in the last few months.</p>
<div id="attachment_1236" class="wp-caption aligncenter" style="width: 300px">
	<a href="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/purple_potatoes.jpg"><img src="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/purple_potatoes-300x200.jpg" alt="Purple Potatoes" title="Purple Potatoes" width="300" height="200" class="size-medium wp-image-1236" /></a>
	<p class="wp-caption-text">We get these from our local natural foods coöp.</p>
</div>
<div id="attachment_1235" class="wp-caption aligncenter" style="width: 300px">
	<a href="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/chopped_purple_potatoes_n_carrots.jpg"><img src="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/chopped_purple_potatoes_n_carrots-300x200.jpg" alt="Chopped Purple Potatoes and Carrots" title="Chopped Purple Potatoes and Carrots" width="300" height="200" class="size-medium wp-image-1235" /></a>
	<p class="wp-caption-text">We make carrot soup with carrots, potatoes and an onion.</p>
</div>
<div id="attachment_1234" class="wp-caption aligncenter" style="width: 300px">
	<a href="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/steaming_beet_soup.jpg"><img src="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/steaming_beet_soup-300x200.jpg" alt="Steaming Beet Soup" title="Steaming Beet Soup" width="300" height="200" class="size-medium wp-image-1234" /></a>
	<p class="wp-caption-text">This was really hot. And spicy.</p>
</div>
<div id="attachment_1233" class="wp-caption aligncenter" style="width: 300px">
	<a href="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/beetsoup_w_ipod.jpg"><img src="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/beetsoup_w_ipod-300x200.jpg" alt="Beet Soup" title="Beet Soup" width="300" height="200" class="size-medium wp-image-1233" /></a>
	<p class="wp-caption-text">Delicious with a little soy mylk.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://ngmarley.com/blog/rare-ish-foods/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Analysis of a Chinese Phishing Scam &#8211; Global Payments, Inc.</title>
		<link>http://ngmarley.com/blog/analysis-chinese-phishing-scam/</link>
		<comments>http://ngmarley.com/blog/analysis-chinese-phishing-scam/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 16:02:00 +0000</pubDate>
		<dc:creator>Nathan</dc:creator>
				<category><![CDATA[Information Security]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://ngmarley.com/blog/?p=1220</guid>
		<description><![CDATA[This post will be of particular interest to customers of Global Payments, Inc. I received an email which seemingly came from them, asking for account login details. Since I don&#8217;t have an account with them (and before this morning didn&#8217;t know who they were), I did some detective work. It turns out to be a [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>This post will be of particular interest to customers of Global Payments, Inc. I received an email which seemingly came from them, asking for account login details. Since I don&#8217;t have an account with them (and before this morning didn&#8217;t know who they were), I did some detective work. It turns out to be a phishing scam.</p>
<blockquote><p>
phish·ing/ˈfiSHiNG/<br />
Noun:<br />
The fraudulent practice of sending e-mails purporting to be from legitimate companies in order to induce individuals to reveal personal or confidential information, such as such as credit card numbers or passwords by directing a user to a fake email message or website.
</p></blockquote>
<p>Do not trust any emails coming from the domain &#8220;global-paymts.com&#8221;, e.g. &#8220;virtualT@global-paymts.com&#8221;. This is not the company &#8220;Global Payments, Inc.&#8221; (which itself is a valid company), but a phishing scam intended to get you to enter your <em>real</em> payment processor login data, which the scammers will then use to access your <em>real</em> account and take all your <em>real</em> monies.</p>
<p>A Google search did not turn anything up, so I did a little investigating myself. The HTML form in the email accepts your login info and sends it to a script at the <strong>fjnusoft.com</strong> domain. A &#8220;whois&#8221; search reveals that this is a Chinese domain:</p>
<pre>
Domain Name.......... fjnusoft.com
  Creation Date........ 2007-04-08 11:12:47
  Registration Date.... 2007-04-08 11:12:47
  Expiry Date.......... 2016-04-08 11:12:47
  Organisation Name.... fu jianshida ruanjian
  Organisation Address. fujianshifandaxue ruanjianrencaipeiyangjidi
  Organisation Address.
  Organisation Address. fuzhou
  Organisation Address. 350000
  Organisation Address. FJ
  Organisation Address. CN

Admin Name........... lu qixue
  Admin Address........ fujianshifandaxue ruanjianrencaipeiyangjidi
  Admin Address........
  Admin Address........ fuzhou
  Admin Address........ 350000
  Admin Address........ FJ
  Admin Address........ CN
  Admin Email.......... lqx@fjnusoft.com
  Admin Phone.......... +86.59187248372
  Admin Fax............ +86.59183560708

Tech Name............ jinfeng wang
  Tech Address......... BeiGuo East Residential District 26-102
  Tech Address.........
  Tech Address......... Nantong
  Tech Address......... 226001
  Tech Address......... JS
  Tech Address......... CN
  Tech Email........... sales@dns99.net
  Tech Phone........... +86.51385292710
  Tech Fax............. +86.51385292710

Bill Name............ jinfeng wang
  Bill Address......... BeiGuo East Residential District 26-102
  Bill Address.........
  Bill Address......... Nantong
  Bill Address......... 226001
  Bill Address......... JS
  Bill Address......... CN
  Bill Email........... lqx@fjnusoft.com
  Bill Phone........... +86.51385292710
  Bill Fax............. +86.51385292710
  Name Server.......... ns1.dns.com.cn
  Name Server.......... ns2.dns.com.cn
</pre>
<p>Below is the email I received. Note that I use mutt, a text-based email reader. If you are reading your email on a web browser and are hit with this scam email, the text of the message will be the same as below but you will probably see the HTML form and some image(s).</p>
<pre>
From: "GlobalPayments, Inc" <virtualT@global-paymts.com>
To: contact@ngmarley.com
Subject: Account Update

[-- Attachment #1 --]
[-- Type: text/plain, Encoding: 7bit, Size: 0.2K --]

Dear GlobalPayments Customer,

Because we registrated to many frauds we decided to lock your Virtual Terminal account.
To unlock it please download the file attached to this e-mail and update your login info.

2012 Copyright Global Payments ,Inc.

[-- Attachment #2: Login_myvirtualmerchant.html --]
[-- Type: application/html, Encoding: 7bit, Size: 2.2K --]

[-- application/html is unsupported (use 'v' to view this part) --]

[-- Attachment #3 --]
[-- Type: text/plain, Encoding: 7bit, Size: 0K --]
</pre>
<p class="alert"><strong>update:</strong> Apparently the company Global Payments, Inc. are aware of this scam, as they have an alert on their homepage and a link to a more detailed alert/disclaimer here: <a href="http://www.globalpaymentsinc.com/Alert.html">http://www.globalpaymentsinc.com/Alert.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ngmarley.com/blog/analysis-chinese-phishing-scam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Black Carrots</title>
		<link>http://ngmarley.com/blog/black-carrots/</link>
		<comments>http://ngmarley.com/blog/black-carrots/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 14:00:43 +0000</pubDate>
		<dc:creator>Nathan</dc:creator>
				<category><![CDATA[horticulture]]></category>

		<guid isPermaLink="false">http://ngmarley.com/blog/?p=1175</guid>
		<description><![CDATA[Since learning about the black carrot about a month or so ago, I have been fascinated with the idea of growing and eating them myself. The world carrot museum probably has the most information about them. They are grown in Turkey, the middle east and the far east. Black carrots are not the same as [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Since learning about the black carrot about a month or so ago, I have been fascinated with the idea of growing and eating them myself. <a href="http://www.carrotmuseum.co.uk/">The world carrot museum</a> probably has the most information about them. They are grown in Turkey, the middle east and the far east.</p>
<p><a href="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/blackcarrot2.jpg"><img src="http://media.ngmarley.com/blog/wp-content/uploads/2012/01/blackcarrot2.jpg" alt="Black Carrots" title="Black Carrots" width="500" height="375" class="aligncenter size-full wp-image-1191" /></a></p>
<p>Black carrots are not the same as purple carrots, although they are in the same carrot family (eastern carrots). They contain anthocyanins, which gives them their dark color.</p>
<p>I am currently searching for a supplier of black carrot seeds and will post any updates to this blog.</p>
<p>Nathan X. Marley<br />
black carrot enthusiast</p>
]]></content:encoded>
			<wfw:commentRss>http://ngmarley.com/blog/black-carrots/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>We are living in a Police State</title>
		<link>http://ngmarley.com/blog/police-state/</link>
		<comments>http://ngmarley.com/blog/police-state/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 00:00:54 +0000</pubDate>
		<dc:creator>Nathan</dc:creator>
				<category><![CDATA[freedom]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[us-godvernment]]></category>
		<category><![CDATA[us-police-state]]></category>
		<category><![CDATA[ussa]]></category>

		<guid isPermaLink="false">http://ngmarley.com/blog/?p=1097</guid>
		<description><![CDATA[To all my American friends:

I am sorry.

The painful truth has been dawning on me over the past few weeks, and I now realize that I’ve reached my breaking point. As Doug Casey often says, America is just an ideal which doesn’t exist anymore. It’s been replaced by the United States.]]></description>
			<content:encoded><![CDATA[<p></p><p>To all my American friends:</p>
<p>I am sorry.</p>
<p>The painful truth has been dawning on me over the past few weeks, and I now realize that I&#8217;ve reached my breaking point. As Doug Casey often says, America is just an ideal which doesn&#8217;t exist anymore. It&#8217;s been replaced by the United States.</p>
<p>It really hit me as I was reading the slashdot headlines this evening before leaving work. Headlines like:</p>
<p><a href="http://news.slashdot.org/story/11/11/02/0511245/how-x-ray-scanners-became-mandatory-in-us-airports">&#8220;How X-Ray Scanners Became Mandatory In US Airports&#8221;</a></p>
<p><a href="http://yro.slashdot.org/story/11/10/23/1556206/uk-government-pushing-for-trusted-computing">UK Government Pushing For &#8216;Trusted Computing&#8217;</a> (which basically means &#8220;chips installed in all computers that effectively remove control of the PC from its owner&#8221;)</p>
<p>And here&#8217;s the kicker:</p>
<p><a href="http://yro.slashdot.org/story/11/10/29/1236236/weaponizable-police-uav-now-operational-in-texas">Weaponizable Police UAV Now Operational In Texas</a></p>
<p>Here&#8217;s the slashdot excerpt:</p>
<blockquote><p>&#8220;The Montgomery County Sheriff&#8217;s Office in suburban Houston, Texas is preparing to launch operations with a newly received Shadowhawk MK-III unmanned aerial vehicle, paid for by grant money received by the Department of Homeland Security. The MK-III is a product marketed for both military and law enforcement applications. Michael Buscher, chief executive officer of manufacturer Vanguard Defense Industries, said this is the first local law enforcement agency to buy one of his units. &#8216;The aircraft has the capability to have a number of different systems on board. Mostly, for law enforcement, we focus on what we call less lethal systems,&#8217; he said, including Tazers that can send a jolt to a criminal on the ground or a gun that fires bean bags known as a &#8216;stun baton.&#8217; &#8216;You have a stun baton where you can actually engage somebody at altitude with the aircraft. A stun baton would essentially disable a suspect,&#8217; he said. The MK-III also has more lethal options available, capable of carrying either a 40mm or 37mm grenade launcher or 12 gauge shotgun with laser designator.&#8221;</p></blockquote>
<p>&#8230; the police, not military, have a machine which can fly, unmanned, and shoot you with a 12-gauge shotgun or just blow you to hell with a grenade launcher. But, <em>of course</em>, the CEO of the company which makes them points out that they <em>focus on</em> &#8230; the less lethal systems. Well, that&#8217;s good to know.</p>
<p>Personally, I don&#8217;t think the police should have any type of device which is <em>&#8230;a product marketed for <strong>both military and law enforcement applications</strong>.</em> I don&#8217;t want my child growing up in a place where he has to fear being gunned down (or blown up) by a remote-controlled flying police robot.</p>
<p>With the TSA now making routine stops on <del datetime="2011-11-08T00:01:48+00:00">America&#8217;s</del> <em>U.S.</em> freeways, I have come to realize the the US has become a <a href="http://en.wikipedia.org/wiki/Police_state">police state</a>.</p>
<p>This is my breaking point.</p>
<p>It&#8217;s only going to get worse from here. As the economy gets worse, capital controls will be next (as in, you won&#8217;t be able to move your money outside of the country). Restrictions will be placed on the purchase, ownership and sale of gold and silver. Tax burdens will increase. More things will be taxed, and existing taxes will go up.</p>
<p>It&#8217;s time to pack up &#038; look to greener pastures. Not just for myself, but for the future of my family. I&#8217;ve always had a desire to expatriate, but until recently didn&#8217;t realize the sense of urgency. I will be setting an exit date tonight. After that date, I will no longer reside here in the <a href="http://www.sodahead.com/united-states/the-united-soviet-states-of-america/question-1347807/">U.S.S.A.</a> This will set the clock a-tickin&#8217;, in my mind at least, and spur me to stop putting off what I&#8217;ve needed to do for quite a while now.</p>
<p>Some would argue that to leave is unpatriotic. They were born here, and they will die here. But all immigrants at one time or another had to go through this. The very people touting &#8220;American pride&#8221;, etc., etc. fail to realize that <strong>their own ancestors</strong> did the same thing while living in England, or France, Spain, Japan, Vietnam&#8230; wherever (Native Americans excluded of course).</p>
<p>This is what the Polish immigrants in the US/Canada had to do 30 years ago (the smart ones anyway&#8230;). This country is now in a downward spiral (thanks to the Godvernment and politicians) and I&#8217;d rather be watching the chaos from my TV screen* rather than from my front porch.</p>
<p><small>*It&#8217;s a metaphor. I don&#8217;t really own a TV.</small></p>
]]></content:encoded>
			<wfw:commentRss>http://ngmarley.com/blog/police-state/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convert .m4a files to .mp3 format (with tags)</title>
		<link>http://ngmarley.com/blog/convert-m4a-files-to-mp3-format-with-tags/</link>
		<comments>http://ngmarley.com/blog/convert-m4a-files-to-mp3-format-with-tags/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 13:04:46 +0000</pubDate>
		<dc:creator>Nathan</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[free your music]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://ngmarley.com/blog/?p=1058</guid>
		<description><![CDATA[A Perl utility I wrote to convert .m4a files to .mp3 format. It will also pull the tags over from m4a format. If there are no m4a tags, the script will die. (But of course you can just comment that part out.) Here is the direct link to the script: m4a2mp3.pl #! /usr/bin/perl # # [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>A Perl utility I wrote to convert .m4a files to .mp3 format. It will also pull the tags over from m4a format. If there are no m4a tags, the script will die. (But of course you can just comment that part out.)</p>
<p>Here is the direct link to the script: <a href="http://media.ngmarley.com/blog/wp-content/uploads/2011/09/m4a2mp3.pl_.txt">m4a2mp3.pl</a></p>
<div class="codecolorer-container perl default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="perl codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#! /usr/bin/perl</span><br />
<span style="color: #666666; font-style: italic;">#</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; &nbsp; &nbsp; &nbsp;name: m4a2mp3.pl</span><br />
<span style="color: #666666; font-style: italic;"># description: Convert m4a file to mp3 format. Attempts to convert tags.</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; developer: Nathan G. Marley &lt;nathan.marley@gmail.com&gt;</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; &nbsp; &nbsp; &nbsp;date: 2011Sep10</span><br />
<span style="color: #666666; font-style: italic;">#</span><br />
<span style="color: #666666; font-style: italic;"># change history:</span><br />
<span style="color: #666666; font-style: italic;"># ========================================================================</span><br />
<span style="color: #666666; font-style: italic;"># description: change description placeholder</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; developer: developer name goes here</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; &nbsp; &nbsp; &nbsp;date: YYYYMmmDD</span><br />
<span style="color: #666666; font-style: italic;"># ========================================================================</span><br />
<br />
<span style="color: #000000; font-weight: bold;">use</span> strict<span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">use</span> Data<span style="color: #339933;">::</span><span style="color: #006600;">Dumper</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">use</span> File<span style="color: #339933;">::</span><span style="color: #006600;">Basename</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">use</span> Carp<span style="color: #339933;">;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">use</span> MP4<span style="color: #339933;">::</span><span style="color: #006600;">Info</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">use</span> MP3<span style="color: #339933;">::</span><span style="color: #006600;">Tag</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">use</span> Getopt<span style="color: #339933;">::</span><span style="color: #006600;">Long</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">sub</span> get_m4a_tags<span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">sub</span> convert_m4a_2_mp3<span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">sub</span> tag_mp3_file<span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">sub</span> app_abort<span style="color: #339933;">;</span><br />
<br />
<br />
<span style="color: #666666; font-style: italic;"># boilerplate</span><br />
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$progname</span> <span style="color: #339933;">=</span> basename<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$usage</span> &nbsp; &nbsp;<span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;usage: $progname &lt;arg1&gt; &lt;arg2&gt; ...&quot;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">==</span> <a href="http://perldoc.perl.org/functions/scalar.html"><span style="color: #000066;">scalar</span></a><span style="color: #009900;">&#40;</span><span style="color: #339933;">@</span><span style="color: #000000; font-weight: bold;">ARGV</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/print.html"><span style="color: #000066;">print</span></a> <span style="color: #ff0000;">&quot;$usage<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/exit.html"><span style="color: #000066;">exit</span></a> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<br />
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">@m4atags</span> <span style="color: #339933;">=</span> <a href="http://perldoc.perl.org/functions/qw.html"><span style="color: #000066;">qw</span></a> <span style="color: #009900;">&#40;</span> YEAR ARTIST GENRE TRACKNUM TIME<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TITLE ALBUM ENCODING BITRATE <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">sub</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">@files</span><span style="color: #339933;">;</span> <br />
&nbsp; &nbsp; <span style="color: #b1b100;">for</span> <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$arg</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">@</span><span style="color: #000000; font-weight: bold;">ARGV</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/push.html"><span style="color: #000066;">push</span></a> <span style="color: #0000ff;">@files</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">$arg</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">for</span> <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$file</span> <span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">@files</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$m4atags</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&amp;get_m4a_tags</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$file</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$mp3file</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&amp;convert_m4a_2_mp3</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$file</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$rc</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&amp;tag_mp3_file</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$mp3file</span> <span style="color: #339933;">,</span> <span style="color: #0000ff;">$m4atags</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #0000ff;">&amp;main</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<br />
<span style="color: #000000; font-weight: bold;">sub</span> get_m4a_tags<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$)</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$filename</span> <span style="color: #339933;">=</span> <a href="http://perldoc.perl.org/functions/shift.html"><span style="color: #000066;">shift</span></a><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$taginfo</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$tag</span> <span style="color: #339933;">=</span> get_mp4tag<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$filename</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">or</span> <a href="http://perldoc.perl.org/functions/die.html"><span style="color: #000066;">die</span></a> <span style="color: #ff0000;">&quot;No TAG info&quot;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">for</span> <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$t</span> <span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">@m4atags</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">$taginfo</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">$t</span> <span style="color: #009900;">&#125;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$tag</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span><span style="color: #0000ff;">$t</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/return.html"><span style="color: #000066;">return</span></a> <span style="color: #0000ff;">$taginfo</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<br />
<span style="color: #000000; font-weight: bold;">sub</span> convert_m4a_2_mp3<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$)</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$m4afile</span> <span style="color: #339933;">=</span> <a href="http://perldoc.perl.org/functions/shift.html"><span style="color: #000066;">shift</span></a><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$mp3file</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$mp3file</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$m4afile</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">s/\.m4a$/.mp3/</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">-</span>e <span style="color: #0000ff;">$mp3file</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">&amp;app_abort</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;error: MP3 file '$mp3file' already exists.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$faad_opts</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;-q -o -&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$lame_opts</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;-S -v -V 0&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;faad $faad_opts <span style="color: #000099; font-weight: bold;">\&quot;</span>$m4afile<span style="color: #000099; font-weight: bold;">\&quot;</span> | lame $lame_opts - <span style="color: #000099; font-weight: bold;">\&quot;</span>$mp3file<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$rc</span> <span style="color: #339933;">=</span> <a href="http://perldoc.perl.org/functions/system.html"><span style="color: #000066;">system</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$cmd</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">8</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">$rc</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/die.html"><span style="color: #000066;">die</span></a> <span style="color: #ff0000;">&quot;error: Couldn't convert m4a file to mp3 format&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/return.html"><span style="color: #000066;">return</span></a> <span style="color: #0000ff;">$mp3file</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<br />
<br />
<span style="color: #000000; font-weight: bold;">sub</span> tag_mp3_file<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$$</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$mp3file</span> <span style="color: #339933;">,</span> <span style="color: #0000ff;">$tags</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">@_</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$mp3</span> <span style="color: #339933;">=</span> MP3<span style="color: #339933;">::</span><span style="color: #006600;">Tag</span><span style="color: #339933;">-&gt;</span><span style="color: #000000; font-weight: bold;">new</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$mp3file</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># scan file for existing tags</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">$mp3</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">get_tags</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><a href="http://perldoc.perl.org/functions/exists.html"><span style="color: #000066;">exists</span></a> <span style="color: #0000ff;">$mp3</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>ID3v1<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">$mp3</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>ID3v1<span style="color: #009900;">&#125;</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">remove_tag</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">$mp3</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">new_tag</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;ID3v1&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><a href="http://perldoc.perl.org/functions/exists.html"><span style="color: #000066;">exists</span></a> <span style="color: #0000ff;">$mp3</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>ID3v2<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">$mp3</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>ID3v2<span style="color: #009900;">&#125;</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">remove_tag</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">$mp3</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">new_tag</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;ID3v2&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #0000ff;">$mp3</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">title_set</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$tags</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>TITLE<span style="color: #009900;">&#125;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">$mp3</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">artist_set</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$tags</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>ARTIST<span style="color: #009900;">&#125;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">$mp3</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">album_set</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$tags</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>ALBUM<span style="color: #009900;">&#125;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">$mp3</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">year_set</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$tags</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>YEAR<span style="color: #009900;">&#125;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">$mp3</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">genre_set</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$tags</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>GENRE<span style="color: #009900;">&#125;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">$mp3</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">track_set</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$tags</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>TRACKNUM<span style="color: #009900;">&#125;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #0000ff;">$mp3</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">update_tags</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #666666; font-style: italic;"># Commit to file</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">$mp3</span><span style="color: #339933;">-&gt;</span><a href="http://perldoc.perl.org/functions/close.html"><span style="color: #000066;">close</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/return.html"><span style="color: #000066;">return</span></a><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">sub</span> app_abort<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$)</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$msg</span> <span style="color: #339933;">=</span> <a href="http://perldoc.perl.org/functions/shift.html"><span style="color: #000066;">shift</span></a><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/print.html"><span style="color: #000066;">print</span></a> <span style="color: #ff0000;">&quot;$msg Aborting...<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/exit.html"><span style="color: #000066;">exit</span></a> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">__END__</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://ngmarley.com/blog/convert-m4a-files-to-mp3-format-with-tags/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Saga of the Date Palms… Parte 1</title>
		<link>http://ngmarley.com/blog/date-palms-p1/</link>
		<comments>http://ngmarley.com/blog/date-palms-p1/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 07:37:25 +0000</pubDate>
		<dc:creator>Nathan</dc:creator>
				<category><![CDATA[horticulture]]></category>
		<category><![CDATA[date-palms]]></category>
		<category><![CDATA[date-trees]]></category>
		<category><![CDATA[grow-dates-from-seed]]></category>
		<category><![CDATA[grow-plants-from-seeds]]></category>

		<guid isPermaLink="false">http://ngmarley.com/blog/?p=1033</guid>
		<description><![CDATA[We are growing date palms from seeds, in Arkansas. Photos of germinated date pits included in post body.]]></description>
			<content:encoded><![CDATA[<p></p><p>So my wife &#038; I have been on a date kick lately. Not the kind of dates you go on, but the kind you eat.</p>
<p>Since we&#8217;ve been going really green the past 3 months and now have a strong interest in self-sustainability, we&#8217;ve been trying to sprout and grow just about every seed we can get our hands on. We have a particular interest in growing seeds that came from food that we&#8217;ve eaten. There&#8217;s just something about growing &#038; eating your own food which came from food that you ate&#8230; something about taking it full-circle that really feels empowering &#038; let&#8217;s us know we can grow our own food without depending on others.</p>
<p>Anyway, after discovering &#8220;fresh&#8221; dates (not dried &#038; pitted), I thought the date pits (aka &#8220;date seeds&#8221;, &#8220;date stones&#8221;, whatever) looked interesting and wondering if it was possible to sprout them. </p>
<p>It is.</p>
<p>Here&#8217;s the article I found on how to germinate a date seed: <a href="http://www.personal.u-net.com/~treetops/dateseed.html">http://www.personal.u-net.com/~treetops/dateseed.html</a>.</p>
<p>We followed the steps (including using the vermiculite, which you can find at Lowe&#8217;s) and here are the results:</p>
<p><a href="http://media.ngmarley.com/blog/wp-content/uploads/2011/09/date_sprout1.jpg"><img src="http://media.ngmarley.com/blog/wp-content/uploads/2011/09/date_sprout1.jpg" alt="Germinated Date Pits" title="date_sprout1" width="728" height="500" class="aligncenter size-full wp-image-1035" /></a></p>
<p><a href="http://media.ngmarley.com/blog/wp-content/uploads/2011/09/date_sprout2.jpg"><img src="http://media.ngmarley.com/blog/wp-content/uploads/2011/09/date_sprout2.jpg" alt="Sprouted Date Pits" title="date_sprout2" width="659" height="500" class="aligncenter size-full wp-image-1036" /></a></p>
<p>The small white knobs sticking out of the middle of the pits are the sprouts. We&#8217;re going to leave them in the vermiculite for a few more days &#038; then pot them. Meanwhile, we&#8217;ll be soaking another batch of date palm seeds for the next round.</p>
<p>We just got back from a weekend trip from Oklahoma and checked them, so the fact that these were sprouted came as a bit of a surprise to us. We started soaking the pits on 24th August of this year (2011) and let them soak for 24 hours. Then we started them in the vermiculite and 12 days later (6th September) these were sprouted.</p>
]]></content:encoded>
			<wfw:commentRss>http://ngmarley.com/blog/date-palms-p1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook account deletion link</title>
		<link>http://ngmarley.com/blog/facebook-account-deletion-link/</link>
		<comments>http://ngmarley.com/blog/facebook-account-deletion-link/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 01:30:15 +0000</pubDate>
		<dc:creator>Nathan</dc:creator>
				<category><![CDATA[freedom]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://ngmarley.com/blog/?p=1030</guid>
		<description><![CDATA[In case anyone is looking for it: https://www.facebook.com/help/contact.php?show_form=delete_account This is the official Facebook delete account link. You can permanently delete your account by visiting this &#038; entering your password &#038; a (Re-)Capcha. Be aware that it will be gone forever &#8212; this doesn&#8217;t just de-activate it. For now, there is still a 14-day grace period, [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>In case anyone is looking for it:</p>
<p><a href="https://www.facebook.com/help/contact.php?show_form=delete_account">https://www.facebook.com/help/contact.php?show_form=delete_account</a></p>
<p>This is the official Facebook delete account link. You can <strong>permanently</strong> delete your account by visiting this &#038; entering your password &#038; a (Re-)Capcha.</p>
<p>Be aware that it will be gone forever &#8212; this doesn&#8217;t just de-activate it. For now, there is still a 14-day grace period, so if you log back in within 14 days, the account deletion request will be cancelled.</p>
]]></content:encoded>
			<wfw:commentRss>http://ngmarley.com/blog/facebook-account-deletion-link/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spanish learning resources</title>
		<link>http://ngmarley.com/blog/spanish-resources/</link>
		<comments>http://ngmarley.com/blog/spanish-resources/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 18:06:58 +0000</pubDate>
		<dc:creator>Nathan</dc:creator>
				<category><![CDATA[Spanish]]></category>
		<category><![CDATA[learn-spanish]]></category>
		<category><![CDATA[spanish]]></category>
		<category><![CDATA[spanish-resources]]></category>

		<guid isPermaLink="false">http://ngmarley.com/blog/?p=1014</guid>
		<description><![CDATA[I wrote this a couple of years back. Some of the information (esp. chronological) no longer applies. -2012Jan02 El idioma español seems to be gaining quite a bit of popularity (at least within my social circle) nowadays. These are the resources I have used to learn Spanish: Coffee Break Spanish &#8211; An intended-to-be-weekly free podcast [...]]]></description>
			<content:encoded><![CDATA[<p></p><p class="alert">I wrote this a couple of years back. Some of the information (esp. chronological) no longer applies. -2012Jan02</p>
<p>El idioma español seems to be gaining quite a bit of popularity (at least within my social circle) nowadays. These are the resources I have used to learn Spanish:</p>
<p><a href="http://radiolingua.com/shows/spanish/coffee-break-spanish/">Coffee Break Spanish</a> &#8211; An intended-to-be-weekly free podcast from Scotland. Instructor Mark is an experienced Spanish teacher, and Kara is a student that learns along with the listeners.</p>
<p><a href="http://123teachme.com/spanish_verb_conjugation">Spanish Verb Conjugator</a> at 123teachme.com &#8211; Type in a Spanish infinitive and this spits out a handy conjugation table, which includes subjunctive mood. The site actually has more than just the conjugator.</p>
<p><a href="http://babelfish.yahoo.com/translate_txt">Yahoo Babel Fish Translation</a> &#8211; Useful tool for translating a word/phrase. I don&#8217;t recommend this for whole sentences/paragraphs.</p>
<p>Spanish for Gringos Level 2 by William C. Harvey M.S. &#8211; This is the best Spanish learning book I have picked up, hands down. The book is chock full of adjectives/nouns. Also includes quite a few infinitives and more advanced conjugations, as well as a bit on the subjunctive mood.<br />
ISBN: 978-0812097436<br />
amazon.com: <a href="http://www.amazon.com/Spanish-Gringos-Level-Wiliam-Harvey/dp/0812097432">Spanish for Gringos Level 2 by William C. Harvey M.S.</a></p>
<p>Rosetta Stone Version 3 &#8211; Latin American Spanish<br />
This is actually the least used yet most expensive resource I&#8217;ve listed. Just never used this that much, I felt it was a bit slow. But would probably be great for people with a bit of either patience or time.</p>
<p>Univisión, Galavisión<br />
These are the 2 Spanish-language TV channels I get. I mainly watch &#8220;Al Diablo con los Guapos&#8221;, &#8220;Fuego en la Sangre&#8221; (both telenovelas &#8211; like Spanish soap operas) y las noticias (the news).</p>
<p>Mägo de Oz &#8211; A Celtic folk-rock band from Madrid. Going to the band&#8217;s website (magodeoz.com) and looking up song lyrics has helped expand my vocabulary.</p>
<p>people &#8211; My friends from Latin America have helped me to learn a lot over the months. This is probably the best resource I&#8217;ve had, truth be told.</p>
]]></content:encoded>
			<wfw:commentRss>http://ngmarley.com/blog/spanish-resources/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>spicnspan.pl – “clean up” text files</title>
		<link>http://ngmarley.com/blog/spicnspan/</link>
		<comments>http://ngmarley.com/blog/spicnspan/#comments</comments>
		<pubDate>Sat, 30 Apr 2011 16:48:57 +0000</pubDate>
		<dc:creator>Nathan</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[no-tabs]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[superfluous-whitespace]]></category>

		<guid isPermaLink="false">http://ngmarley.com/blog/?p=901</guid>
		<description><![CDATA[At times I get tired of editing code with tabs. And by &#8220;at times&#8221;, I mean every time. I hate tabs in code. I hate trailing spaces in code too (makes it more difficult to navigate using vi/vim). And more than anything, I hate Windows CR/LF (carraige return/line feed) line terminator characters. So I wrote [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>At times I get tired of editing code with tabs. And by &#8220;at times&#8221;, I mean <em>every time</em>. I hate tabs in code. I hate trailing spaces in code too (makes it more difficult to navigate using vi/vim). And more than anything, I hate Windows CR/LF (carraige return/line feed) line terminator characters.</p>
<p>So I wrote a script to take care of it. I call it &#8220;spicnspan&#8221;. To use: spicnspan <file.whatever></p>
<p>Simple enough.</p>
<p>This script:</p>
<ul>
<li>Converts all tab chars in a text file to 4 spaces.</li>
<li>Converts Windows-style CR/LF line terminators to UNIX newline chars (0x0a).</li>
<li>Removes trailing spaces.</li>
</ul>
<p class="done">
If I were to re-code this, I would allow for multiple filenames on the command-line. I would also make separate smaller functions, one each for:</p>
<p>1. Slurping the file data<br />
2. &#8220;Fix&#8221; ing (i.e. remove spaces, etc) the file data<br />
3. Writing the file back to disk.
</p>
<p class="note">This is done now. The code below has been updated to reflect these changes, as well as the direct link.</p>
<p>Here&#8217;s a direct link to the code (save as .pl on your computer, or whatever you want if you have a real OS):</p>
<p><a href="http://media.ngmarley.com/blog/wp-content/uploads/2011/05/spicnspan.pl_.txt">spicnspan</a></p>
<div class="codecolorer-container perl default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="perl codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#! /usr/bin/perl</span><br />
<span style="color: #666666; font-style: italic;">#</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; &nbsp; &nbsp; &nbsp;name: spicnspan</span><br />
<span style="color: #666666; font-style: italic;"># description: Removes tab chars (converts to 4 spaces) &amp; trailing spaces</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;from code.</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; developer: Nathan G. Marley</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; &nbsp; &nbsp; &nbsp;date: 2010Ene19</span><br />
<span style="color: #666666; font-style: italic;">#</span><br />
<span style="color: #666666; font-style: italic;"># change history:</span><br />
<span style="color: #666666; font-style: italic;"># ========================================================================</span><br />
<span style="color: #666666; font-style: italic;"># description: change description placeholder</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; developer: developer name goes here</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; &nbsp; &nbsp; &nbsp;date: YYYYMmmDD</span><br />
<span style="color: #666666; font-style: italic;"># ========================================================================</span><br />
<br />
<span style="color: #000000; font-weight: bold;">use</span> strict<span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">use</span> Data<span style="color: #339933;">::</span><span style="color: #006600;">Dumper</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">use</span> File<span style="color: #339933;">::</span><span style="color: #006600;">Basename</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">use</span> Carp<span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;"># boilerplate</span><br />
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$progname</span> <span style="color: #339933;">=</span> basename<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$usage</span> &nbsp; &nbsp;<span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;usage: $progname &lt;file1.php&gt; &lt;file2.c&gt; ...&quot;</span><span style="color: #339933;">;</span><br />
<br />
<br />
<span style="color: #666666; font-style: italic;"># main section</span><br />
<span style="color: #b1b100;">foreach</span> <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$filename</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">@</span><span style="color: #000000; font-weight: bold;">ARGV</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># slurp file data</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$indata</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&amp;slurp_file</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$filename</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># clean file data</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$outdata</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&amp;scrub_data</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$indata</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># write file data to disk</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">&amp;write_file</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$filename</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">$outdata</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #009900;">&#125;</span><br />
<br />
<br />
<span style="color: #666666; font-style: italic;"># subroutines...</span><br />
<br />
<span style="color: #000000; font-weight: bold;">sub</span> slurp_file<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$codefile</span> <span style="color: #339933;">=</span> <a href="http://perldoc.perl.org/functions/shift.html"><span style="color: #000066;">shift</span></a><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$data</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span> <span style="color: #339933;">-</span>f <span style="color: #0000ff;">$codefile</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/print.html"><span style="color: #000066;">print</span></a> <span style="color: #000000; font-weight: bold;">STDERR</span> <span style="color: #ff0000;">&quot;error: '$codefile' doesn't exist or not a regular file.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/open.html"><span style="color: #000066;">open</span></a><span style="color: #009900;">&#40;</span>IN<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;&lt; $codefile&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">or</span> <a href="http://perldoc.perl.org/functions/die.html"><span style="color: #000066;">die</span></a> <span style="color: #ff0000;">&quot;Can't open '$codefile': $!&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span> <a href="http://perldoc.perl.org/functions/local.html"><span style="color: #000066;">local</span></a> <a href="http://perldoc.perl.org/functions/undef.html"><span style="color: #000066;">undef</span></a> <span style="color: #0000ff;">$/</span><span style="color: #339933;">;</span> <span style="color: #0000ff;">$data</span> <span style="color: #339933;">=</span> <span style="color: #009999;">&lt;IN&gt;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/close.html"><span style="color: #000066;">close</span></a><span style="color: #009900;">&#40;</span>IN<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/return.html"><span style="color: #000066;">return</span></a> <span style="color: #0000ff;">$data</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">sub</span> scrub_data<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$indata</span> <span style="color: #339933;">=</span> <a href="http://perldoc.perl.org/functions/shift.html"><span style="color: #000066;">shift</span></a><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$outdata</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$indata</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># strip Windows-style linefeeds</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">$outdata</span> <span style="color: #339933;">=~</span> s<span style="color: #339933;">%</span><span style="color: #0000ff;">\x0d</span><span style="color: #339933;">%</span><span style="color: #0000ff;">%g</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># convert all tabs to 4 space chars</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">$outdata</span> <span style="color: #339933;">=~</span> s<span style="color: #339933;">%</span><span style="color: #0000ff;">\t</span><span style="color: #339933;">%</span> &nbsp; &nbsp;<span style="color: #0000ff;">%g</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># remove any trailing spaces</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">$outdata</span> <span style="color: #339933;">=~</span> s<span style="color: #339933;">%</span> <span style="color: #339933;">+</span><span style="color: #0000ff;">\n</span><span style="color: #339933;">%</span><span style="color: #0000ff;">\n</span><span style="color: #0000ff;">%g</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/return.html"><span style="color: #000066;">return</span></a> <span style="color: #0000ff;">$outdata</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">sub</span> write_file<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$codefile</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">$outdata</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$codefile</span> <span style="color: #339933;">,</span> <span style="color: #0000ff;">$outdata</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">@_</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/open.html"><span style="color: #000066;">open</span></a><span style="color: #009900;">&#40;</span>OUT<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;&gt; $codefile&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">or</span> <a href="http://perldoc.perl.org/functions/die.html"><span style="color: #000066;">die</span></a> <span style="color: #ff0000;">&quot;Can't open '$codefile' for writing: $!&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/print.html"><span style="color: #000066;">print</span></a> OUT <span style="color: #0000ff;">$outdata</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/close.html"><span style="color: #000066;">close</span></a><span style="color: #009900;">&#40;</span>OUT<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://ngmarley.com/blog/spicnspan/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

