<?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>Fri, 11 May 2012 22:49:55 +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[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>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>
		<item>
		<title>Japan – initial experiences</title>
		<link>http://ngmarley.com/blog/japan-initial-experiences/</link>
		<comments>http://ngmarley.com/blog/japan-initial-experiences/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 08:23:53 +0000</pubDate>
		<dc:creator>Nathan</dc:creator>
				<category><![CDATA[travel]]></category>
		<category><![CDATA[japan]]></category>
		<category><![CDATA[japanese]]></category>
		<category><![CDATA[tokyo]]></category>

		<guid isPermaLink="false">http://ngmarley.com/blog/?p=823</guid>
		<description><![CDATA[Frustrations and new experiences in Japan. But only for 8 hours or so...]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://ngmarley.com/blog/japan-initial-experiences/" title="Permanent link to Japan – initial experiences"><img class="post_image alignright remove_bottom_margin" src="http://media.ngmarley.com.s3.amazonaws.com/blog/wp-content/uploads/2011/02/japan-flag.gif" width="451" height="302" alt="flag of Japan" /></a>
</p><p>I am in transit from London to Auckland, with an 8-hour layover in Tokyo, so I thought that I might as well explore the city a bit. (As of the last 10 years or so, as US citizens we no longer need a special visa to enter Japan.)</p>
<p>Japan is unlike any of my recent (within the last 5 &#8211; 6 years) travel experiences. For one, I cannot speak or read even a little of the language. This has led to some unexpected things. For one, I withdrew about 10 times what I wanted from the ATM (about $600 instead of $60). No worries, I can change it back at the end of the day.</p>
<p>Also, after waiting about 10 minutes to use the Citibank ATM, I walk just around the corner (as in, like a 10 seconds walk around the corner) and spot an HSBC ATM (which is the card I use). Could have saved another couple of bucks had I known about it.</p>
<p>Note that I <strong>will</strong> get screwed on the exchange rate when I change back my remaining 50000 or so Yen at the end of the day&#8230; still, you live &#038; learn. And since <strong>I am learning</strong> from these experiences, I don&#8217;t consider it as money lost. It&#8217;s an investment in my education.</p>
<p>But mostly it&#8217;s a strange experience for me being in a foreign country and not knowing anything about the language or really how to communicate with people other than in English. I just have to hope that the Japanese with whom I speak have some knowledge of English. I guess this is how it feels to be a foreigner in a completely foreign land. Not a bad feeling, just different. On the plus side, it kind of forces me to rely on other people and to communicate with them (asking questions, etc), which is good because I love interacting with people.</p>
<p>And for me, that&#8217;s what travel is really about, anyway. Not the sights, museums, architecture or even the landscapes in a certain place. It&#8217;s about the people.</p>
<p>I still need to get out &#038; explore Tokyo a bit. And learn the Japanese characters for &#8220;milk&#8221;, &#8220;egg&#8221;, etc so I know what foods to avoid. I&#8217;m right now sitting in a Starbucks at the Tokyo Narita airport.</p>
]]></content:encoded>
			<wfw:commentRss>http://ngmarley.com/blog/japan-initial-experiences/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

