<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>I've made my mark</title>
	
	<link>http://www.edmundtse.com</link>
	<description>Edmund Tse :: specialist in technology generally</description>
	<lastBuildDate>Wed, 28 Jul 2010 10:09:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/EdmundTse" /><feedburner:info uri="edmundtse" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by/2.5/</creativeCommons:license><item>
		<title>pv – a Python library to monitor/control PV Inverters</title>
		<link>http://feedproxy.google.com/~r/EdmundTse/~3/qSDSiWOOfYE/</link>
		<comments>http://www.edmundtse.com/2010/07/09/pv-a-python-library-to-monitorcontrol-pv-inverters/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 02:41:29 +0000</pubDate>
		<dc:creator>Edmund Tse</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Mini-Projects]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[electricity]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[solar]]></category>

		<guid isPermaLink="false">http://www.edmundtse.com/?p=622</guid>
		<description><![CDATA[After having the solar electricity system installed, I can monitor the energy output of the inverter using Pro Control. However, because the software runs on Windows, I’d have to have a PC turned on just for that purpose wasting quite a bit of energy. So, my goal is to use a low-power embedded Debian box [...]]]></description>
			<content:encoded><![CDATA[<p>After having the solar electricity system installed, I can monitor the energy output of the inverter using Pro Control. However, because the software runs on Windows, I’d have to have a PC turned on just for that purpose wasting quite a bit of energy. So, my goal is to use a low-power embedded Debian box (which is usually on) to do the monitoring. Instead of just writing an application to do the job, I’ve decided to write a library others can use to write their own custom logging software.</p>
<p><strong>pv can be found at </strong><a title="http://pv.codeplex.com/" href="http://pv.codeplex.com/"><strong>http://pv.codeplex.com/</strong></a>, and should work for you if you have a Carbon Management Solutions CMS-2000 or Schneider Electric SunEzy 600E (judging from a sample protocol exchange).</p>
<p>I’ll have to give full credit to the folks at <a href="http://www.solarfreaks.com/cms2000-inverter-rs232-serial-port-hack-cms-2000-rs232-t271.html">http://www.solarfreaks.com/cms2000-inverter-rs232-serial-port-hack-cms-2000-rs232-t271.html</a> who did the initial work on reverse engineering the communication protocols. Building on what has already been done on working out the protocol, and doing a bit of reverse engineering myself, the library supports sending arbitrary data frames for further exploring, as well as the known protocols.</p>
<p> <span id="more-622"></span>
<p>JinbaIttai wrote a Perl script to poll the inverter, but unfortunately I don’t particular like Perl. So, I decided to write my own in my language of choice – Python. Also, a word of thanks to Ingmar for providing a sample of the protocol for the SunEzy 600E.</p>
<p>There are still quite a number of data fields that remains a mystery – getting a hold of the protocol from the CMS-10000 would really, really help.</p>
<p>Here’s a list of the features in the library:</p>
<ul>
<li>Craft custom frames to be sent to the serial port</li>
<li>Reads inverter parameters and status information</li>
<li>Verifies checksum for received frames</li>
<li>Enumerates all known messages for quick reference</li>
</ul>
<p>The module comes with a working example. Just run the package like so:</p>
<p><a href="http://www.edmundtse.com/wp-content/uploads/2010/07/pv.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="pv" border="0" alt="pv" src="http://www.edmundtse.com/wp-content/uploads/2010/07/pv_thumb.png" width="335" height="480" /></a> </p>
<p>The code for this sample can be found in <a href="http://pv.codeplex.com/SourceControl/changeset/view/05ac09873c48#__main__.py">__main__.py</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/EdmundTse?a=qSDSiWOOfYE:geomo_bx6UE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=qSDSiWOOfYE:geomo_bx6UE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=qSDSiWOOfYE:geomo_bx6UE:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/EdmundTse?i=qSDSiWOOfYE:geomo_bx6UE:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=qSDSiWOOfYE:geomo_bx6UE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=qSDSiWOOfYE:geomo_bx6UE:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/EdmundTse/~4/qSDSiWOOfYE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.edmundtse.com/2010/07/09/pv-a-python-library-to-monitorcontrol-pv-inverters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.edmundtse.com/2010/07/09/pv-a-python-library-to-monitorcontrol-pv-inverters/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=pv-a-python-library-to-monitorcontrol-pv-inverters</feedburner:origLink></item>
		<item>
		<title>Installing Solar Panels to Generate Grid-fed Electricity</title>
		<link>http://feedproxy.google.com/~r/EdmundTse/~3/RhOx5bg1L-g/</link>
		<comments>http://www.edmundtse.com/2010/07/08/installing-solar-panels-to-generate-grid-fed-electricity/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 06:48:24 +0000</pubDate>
		<dc:creator>Edmund Tse</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[electricity]]></category>
		<category><![CDATA[solar]]></category>

		<guid isPermaLink="false">http://www.edmundtse.com/?p=617</guid>
		<description><![CDATA[Not long ago, we took advantage of the various NSW government rebates plus the massive 66c/kWh EnergyAustralia feed-in tariff, and had solar panels installed on the roof of our house by Andrew Hanna Electrical. The specs of our system are as follows: Carbon Management Solutions CMS-2000 grid interactive inverter 10x Solar Enertech SE185-72M 185W Monocrystalline [...]]]></description>
			<content:encoded><![CDATA[<p>Not long ago, we took advantage of the various <abbr title="New South Wales">NSW</abbr> government rebates plus the massive 66c/kWh <a href="http://www.energyaustralia.com.au/State/NSW/Residential/Products-and-services/Solar-power/Solar-tariffs.aspx">EnergyAustralia feed-in tariff</a>, and had solar panels installed on the roof of our house by <a href="http://www.hannaelectrical.com/">Andrew Hanna Electrical</a>. The specs of our system are as follows:</p>
<ul>
<li>Carbon Management Solutions <a href="http://www.solaraustralia.com.au/solar_grid_feed_inverter_orion.html">CMS-2000</a> grid interactive inverter</li>
<li>10x <a href="http://www.solare-power.com/">Solar Enertech</a> <a href="http://www.carbonmanagement.com.au/Panel_170w.pdf">SE185-72M</a> 185W Monocrystalline Silicon PV Modules</li>
</ul>
<p><a title="IMG_8714.jpg" href="http://www.flickr.com/photos/11137865@N06/4690322907/"><img style="display: inline; margin-left: 0px; margin-right: 0px;" title="CMS-2000 Inverter" src="http://farm5.static.flickr.com/4037/4690322907_be135e36a0_m.jpg" border="0" alt="CMS-2000 Inverter" align="left" /></a></p>
<p>During the installation, they’ve kindly put a Cat5 cable through the house for the RS-232 serial connection from the PV inverter to the computer. The CMS-2000 is basically a re-badged Solar Energy Australia “<a href="http://www.solaraustralia.com.au/solar_grid_feed_inverter_orion.html">Orion</a>” grid feed inverter, which comes with monitoring software “Pro Control” to log data from the inverter. Armed with this software, we can now pull some interesting data to see how much energy we generate at various times throughout the day.</p>
<p><a title="IMG_8741.jpg" href="http://www.flickr.com/photos/11137865@N06/4690372543/"><img title="Solar Panels" src="http://farm5.static.flickr.com/4057/4690372543_c352e448db.jpg" border="0" alt="Solar Panels" /></a></p>
<p>The only problem is, it doesn’t make sense to have a computer switched on 24&#215;7 just to monitor the inverter box – it’d be a massive waste of energy. So the fun begins when I want to monitor the solar inverter from a low-power, embedded computer which is actually a QNAP TS-109 <abbr title="Network Attached Storage">NAS</abbr> running my favourite Debian linux. More on this in upcoming posts.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/EdmundTse?a=RhOx5bg1L-g:GVGrLnh9FvY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=RhOx5bg1L-g:GVGrLnh9FvY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=RhOx5bg1L-g:GVGrLnh9FvY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/EdmundTse?i=RhOx5bg1L-g:GVGrLnh9FvY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=RhOx5bg1L-g:GVGrLnh9FvY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=RhOx5bg1L-g:GVGrLnh9FvY:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/EdmundTse/~4/RhOx5bg1L-g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.edmundtse.com/2010/07/08/installing-solar-panels-to-generate-grid-fed-electricity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.edmundtse.com/2010/07/08/installing-solar-panels-to-generate-grid-fed-electricity/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=installing-solar-panels-to-generate-grid-fed-electricity</feedburner:origLink></item>
		<item>
		<title>Study notes for ELEC5616 Computer and Network Security</title>
		<link>http://feedproxy.google.com/~r/EdmundTse/~3/22aLENNa8ww/</link>
		<comments>http://www.edmundtse.com/2010/07/03/study-notes-for-elec5616-computer-and-network-security/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 02:07:00 +0000</pubDate>
		<dc:creator>Edmund Tse</dc:creator>
				<category><![CDATA[USYD]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[lecture]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.edmundtse.com/2010/07/03/study-notes-for-elec5616-computer-and-network-security/</guid>
		<description><![CDATA[After a bit of distraction, my study notes for ELEC5616 Computer and Network Security is finally finished and have been posted. As usual, it’s up my my Sydney Uni page.]]></description>
			<content:encoded><![CDATA[<p>After a bit of distraction, my study notes for ELEC5616 Computer and Network Security is finally finished and have been posted. As usual, it’s up my my <a href="http://www.edmundtse.com/usyd/">Sydney Uni</a> page.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/EdmundTse?a=22aLENNa8ww:nAk1BTN1Wmo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=22aLENNa8ww:nAk1BTN1Wmo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=22aLENNa8ww:nAk1BTN1Wmo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/EdmundTse?i=22aLENNa8ww:nAk1BTN1Wmo:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=22aLENNa8ww:nAk1BTN1Wmo:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=22aLENNa8ww:nAk1BTN1Wmo:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/EdmundTse/~4/22aLENNa8ww" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.edmundtse.com/2010/07/03/study-notes-for-elec5616-computer-and-network-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.edmundtse.com/2010/07/03/study-notes-for-elec5616-computer-and-network-security/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=study-notes-for-elec5616-computer-and-network-security</feedburner:origLink></item>
		<item>
		<title>Mini-Project: Command line speech synth tool for Windows</title>
		<link>http://feedproxy.google.com/~r/EdmundTse/~3/N94DeE3xllU/</link>
		<comments>http://www.edmundtse.com/2010/07/03/mini-project-command-line-speech-synth-tool-for-windows/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 00:15:44 +0000</pubDate>
		<dc:creator>Edmund Tse</dc:creator>
				<category><![CDATA[Mini-Projects]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[speech]]></category>
		<category><![CDATA[synth]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.edmundtse.com/?p=595</guid>
		<description><![CDATA[The story behind this mini-project is, a friend of mine mentioned how he would SSH into his Mac at home and use “say” to send a short message to his parents, just like in a past XKCD webcomic: Mac users, lucky you. You get a Terminal utility called “say” that converts text to speech. Windows [...]]]></description>
			<content:encoded><![CDATA[<p>The story behind this mini-project is, a friend of mine mentioned how he would SSH into his Mac at home and use “say” to send a short message to his parents, just like in a past XKCD webcomic:</p>
<p><a href="http://xkcd.com/530/"><img title="Sadly, this is a true story.  At least I learned about the OS X 'say' command." src="http://imgs.xkcd.com/comics/im_an_idiot.png" alt="" width="500" height="296alt=&quot;I'm" /></a></p>
<p>Mac users, lucky you. You get a Terminal utility called “say” that converts text to speech. Windows doesn’t come with this tool, so I thought, it couldn’t be that difficult to make my own command line speech synth tool for Windows.</p>
<p><span id="more-595"></span></p>
<p>After a bit of research, I found that it’s really quite easy to make thanks to the Speech libraries in the .NET framework. Yep – no more than 30 lines of spaced out C# code:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Speech.Synthesis</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF;">namespace</span> speech
<span style="color: #000000;">&#123;</span>
    <span style="color: #FF0000;">class</span> say
    <span style="color: #000000;">&#123;</span>
        <span style="color: #0600FF;">static</span> SpeechSynthesizer synth <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> SpeechSynthesizer<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF;">static</span> <span style="color: #0600FF;">void</span> Main<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> args<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>args.<span style="color: #0000FF;">Length</span> <span style="color: #008000;">==</span> <span style="color: #FF0000;">0</span><span style="color: #000000;">&#41;</span>
            <span style="color: #000000;">&#123;</span>
                InteractiveMode<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
                return<span style="color: #008000;">;</span>
            <span style="color: #000000;">&#125;</span>
&nbsp;
            synth.<span style="color: #0000FF;">Speak</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span>.<span style="color: #0000FF;">Join</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot; &quot;</span>, args<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF;">static</span> <span style="color: #0600FF;">void</span> InteractiveMode<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #FF0000;">string</span> line<span style="color: #008000;">;</span>
            <span style="color: #0600FF;">while</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span>line <span style="color: #008000;">=</span> Console.<span style="color: #0000FF;">ReadLine</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span> <span style="color: #008000;">!=</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
            <span style="color: #000000;">&#123;</span>
                synth.<span style="color: #0000FF;">Speak</span><span style="color: #000000;">&#40;</span>line<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #000000;">&#125;</span>
        <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>This application can either take its input as command line arguments, or from standard input if it is started without any arguments.</p>
<p>For example:</p>
<pre>say.exe foo
(computer says “foo”)
say.exe foo bar
(computer says “foo bar”)
say.exe “foo bar”
(computer says “foo bar”)
say.exe
(computer waits for further input)
foo bar
(computer says “foo bar” then waits for further input)
CTRL+Z then ENTER exits the application</pre>
<p><strong>Source code</strong>: <a href="http://www.edmundtse.com/wp-content/uploads/2010/07/speech.zip">Speech Synthesiser VS10 Project</a> (.zip, 38KB)<br />
<strong> Binary file</strong>: <a href="http://www.edmundtse.com/wp-content/uploads/2010/07/say.exe">say.exe</a> (.exe, 7KB) requires .NET Client Profile 4.0</p>
<p>Enjoy!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/EdmundTse?a=N94DeE3xllU:P0E0mn8goUk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=N94DeE3xllU:P0E0mn8goUk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=N94DeE3xllU:P0E0mn8goUk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/EdmundTse?i=N94DeE3xllU:P0E0mn8goUk:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=N94DeE3xllU:P0E0mn8goUk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=N94DeE3xllU:P0E0mn8goUk:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/EdmundTse/~4/N94DeE3xllU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.edmundtse.com/2010/07/03/mini-project-command-line-speech-synth-tool-for-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.edmundtse.com/2010/07/03/mini-project-command-line-speech-synth-tool-for-windows/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=mini-project-command-line-speech-synth-tool-for-windows</feedburner:origLink></item>
		<item>
		<title>Study notes and a brief review of ELEC5509 Mobile Networks</title>
		<link>http://feedproxy.google.com/~r/EdmundTse/~3/_u4ssriG_HY/</link>
		<comments>http://www.edmundtse.com/2010/06/28/study-notes-and-a-brief-review-of-elec5509-mobile-networks/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 02:11:52 +0000</pubDate>
		<dc:creator>Edmund Tse</dc:creator>
				<category><![CDATA[USYD]]></category>
		<category><![CDATA[lecture]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[network]]></category>

		<guid isPermaLink="false">http://www.edmundtse.com/2010/06/28/study-notes-and-a-brief-review-of-elec5509-mobile-networks/</guid>
		<description><![CDATA[Exams for semester 1 this year are finally over. The first set of notes to go up is for ELEC5509 Mobile Networks taught by Abbas Jamalipour. As usual, you’ll be able to find it at my Sydney Uni section of the blog. I would have to say that this course is one of the least [...]]]></description>
			<content:encoded><![CDATA[<p>Exams for semester 1 this year are finally over. The first set of notes to go up is for ELEC5509 Mobile Networks taught by Abbas Jamalipour. As usual, you’ll be able to find it at my <a href="http://www.edmundtse.com/usyd/">Sydney Uni section of the blog</a>.</p>
<p>I would have to say that this course is one of the least enjoyable and least rewarding courses I’ve done over the years, and would strongly advise those doing Telecommunications Engineering at USYD to not take this course.</p>
<p>Read on for a brief review of the course.</p>
<p><span id="more-594"></span></p>
<p>This course was designed to give an insight into a range of mobile communication technologies, as well as some experience in research.</p>
<p>Even though it is a level 5 course, suitable for final year undergraduates or postgraduates, the course doesn’t go into the topics covered with enough detail to be satisfying. It turned out that much of the course is far too general – knowing that something exists and having a vague idea of what it’s used for would be enough to pass the course. I expected that to be assumed background knowledge so that we can dig into each of the topics in detail during the course. Instead, it was all that’s required.</p>
<p>Looking back having finished this course, it’s difficult to point identify much new knowledge I’ve gained from this course, because most of them have been touch on in the past in previous courses. Of the amount of knowledge actually gained, it really doesn’t seem to be all that useful for any intents and purposes.</p>
<p>I was impressed that teaching staff did personally solicit feedback from students to try and improve the course, but unfortunately in the process of giving feedback, I’ve been subjected to numerous reasons why I’m wrong about the quality of the course, and how I’m supposed to to like it. So much for actively listening to feedback. The stunning results are evident when you look at what’s actually been taught in this course. The latest and greatest in mobile technology (as at about 7 years ago). That’s why we’re still learning about AMPS as a mobile phone system, the reason why we apparently haven’t implemented E911 service, and what the lecturer believes we should expect to see in fourth generation (4G) mobiles and why it’s apparently still a fantasy. As I said, this course is overly outdated.</p>
<p>How about an introduction to research? Surely that can’t become outdated. After all, research is a skill. Things like writing a literature survey we still do today! Unfortunately this course’s idea of research was reflected in the assignment. Randomly allocated groups of 4 students were assigned a topic (no choice given!) and was tasked to “summarise” 5 IEEE academic papers in 3 pages of writing including abstract, intro, conclusion and references. That’s right – not a literature survey but just a 5 summaries of papers restricted to being IEEE published. So why are we not allowed to “summarise” possibly better written papers from a non-IEEE journal/conference? Maybe that’s what research is about.</p>
<p>For the course tutorials, what happens is that there is a tutor tasked to read out answers to a series of homework questions we were required to complete before class. Sounds marginally reasonable right? Think of it this way: You’ve just spent a number of hours interpreting poorly written questions and subsequently finding out the required information to write a response. We’re limited by the length of response so there’s no point in going into detail. Having done all that studying, you sit into the 1-2 hour long tutorial just to listen to sample answers read out to you, some of which are obviously inaccurate or incorrect based on the state of today’s technology.</p>
<p>All up, the combination of outdated, shallow content and poorly designed assessments make for an unenjoyable and unrewarding course. My study notes have now been uploaded and is available on my USYD page.</p>
<p>Meanwhile, I’m finalising my course notes for the ELEC5616 Computer and Network Security course, which is among the best courses I’ve done.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/EdmundTse?a=_u4ssriG_HY:gwYzGvwPWoU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=_u4ssriG_HY:gwYzGvwPWoU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=_u4ssriG_HY:gwYzGvwPWoU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/EdmundTse?i=_u4ssriG_HY:gwYzGvwPWoU:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=_u4ssriG_HY:gwYzGvwPWoU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=_u4ssriG_HY:gwYzGvwPWoU:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/EdmundTse/~4/_u4ssriG_HY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.edmundtse.com/2010/06/28/study-notes-and-a-brief-review-of-elec5509-mobile-networks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.edmundtse.com/2010/06/28/study-notes-and-a-brief-review-of-elec5509-mobile-networks/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=study-notes-and-a-brief-review-of-elec5509-mobile-networks</feedburner:origLink></item>
		<item>
		<title>COM interop for applications on Windows Phone 7?</title>
		<link>http://feedproxy.google.com/~r/EdmundTse/~3/KH_gMZmoPu4/</link>
		<comments>http://www.edmundtse.com/2010/05/17/com-interop-for-applications-on-windows-phone-7/#comments</comments>
		<pubDate>Mon, 17 May 2010 07:10:03 +0000</pubDate>
		<dc:creator>Edmund Tse</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Windows Phone]]></category>

		<guid isPermaLink="false">http://www.edmundtse.com/2010/05/17/com-interop-for-applications-on-windows-phone-7/</guid>
		<description><![CDATA[So recently an image for the phantom phone “HTC Mondrian” was leaked and spattered across the internet. Catching a chunk  of the spatter, I dug in to see what was inside. I noticed something rather interesting, while digging through the “HTC Test Tool” package. There is apparently a “normal app” called BatteryTool: &#60;App xmlns=&#34;&#34; ProductID=&#34;{ae2781c8-7afb-4e16-a643-c9c0ff33fc15}&#34; [...]]]></description>
			<content:encoded><![CDATA[<p>So recently an image for the phantom phone “HTC Mondrian” was leaked and spattered across the internet. Catching a chunk  of the spatter, I dug in to see what was inside.</p>
<p>I noticed something rather interesting, while digging through the “HTC Test Tool” package. There is apparently a “normal app” called BatteryTool:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;App</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">ProductID</span>=<span style="color: #ff0000;">&quot;{ae2781c8-7afb-4e16-a643-c9c0ff33fc15}&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">Title</span>=<span style="color: #ff0000;">&quot;BatteryTool&quot;</span> <span style="color: #000066;">RuntimeType</span>=<span style="color: #ff0000;">&quot;SilverLight&quot;</span> <span style="color: #000066;">Version</span>=<span style="color: #ff0000;">&quot;1.0.0.0&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">Genre</span>=<span style="color: #ff0000;">&quot;NormalApp&quot;</span>  <span style="color: #000066;">Author</span>=<span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">Description</span>=<span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">Publisher</span>=<span style="color: #ff0000;">&quot;&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
...</pre></div></div>

<p>But yet when we take a look inside the Silverlight .xap file, there is a dll called “COMInterface.dll”. The guess is that HTC’s using COM interop from within the Silverlight application to get access to lower level OS resources.</p>
<p><a href="http://www.edmundtse.com/wp-content/uploads/2010/05/image.png"><img style="display: inline; border: 0px;" title="Inside BatteryTool.xap" src="http://www.edmundtse.com/wp-content/uploads/2010/05/image_thumb.png" border="0" alt="Inside BatteryTool.xap" width="320" height="226" /></a></p>
<p>So even though apps should be running inside its own tightly sealed container in Windows Phone 7, I think it’s quite possible to break out of it via COM. Unfortunately this (ARM?) dll won’t quite work in the x86 WP7 Emulator…</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/EdmundTse?a=KH_gMZmoPu4:-dEbSeclIHw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=KH_gMZmoPu4:-dEbSeclIHw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=KH_gMZmoPu4:-dEbSeclIHw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/EdmundTse?i=KH_gMZmoPu4:-dEbSeclIHw:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=KH_gMZmoPu4:-dEbSeclIHw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=KH_gMZmoPu4:-dEbSeclIHw:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/EdmundTse/~4/KH_gMZmoPu4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.edmundtse.com/2010/05/17/com-interop-for-applications-on-windows-phone-7/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.edmundtse.com/2010/05/17/com-interop-for-applications-on-windows-phone-7/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=com-interop-for-applications-on-windows-phone-7</feedburner:origLink></item>
		<item>
		<title>Mini-Project: Moving a WordPress.com blog to own servers</title>
		<link>http://feedproxy.google.com/~r/EdmundTse/~3/NsbLodunDhU/</link>
		<comments>http://www.edmundtse.com/2009/11/30/mini-project-moving-a-wordpress-com-blog-to-own-servers/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 20:44:15 +0000</pubDate>
		<dc:creator>Edmund Tse</dc:creator>
				<category><![CDATA[Mini-Projects]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[website]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.edmundtse.com/2009/11/30/mini-project-moving-a-wordpress-com-blog-to-own-servers/</guid>
		<description><![CDATA[It’s been about a month since I’ve migrated my blog from a hosted service at WordPress.com to hosting my WordPress blog on my own servers. So far, everything is doing quite alright especially the benefits of self hosting WordPress which gives me total control over my contents and my plugins. So this is intended to [...]]]></description>
			<content:encoded><![CDATA[<p>It’s been about a month since I’ve migrated my blog from a hosted service at WordPress.com to hosting my WordPress blog on my own servers. So far, everything is doing quite alright especially the benefits of self hosting WordPress which gives me total control over my contents and my plugins.</p>
<p>So this is intended to be a guide plus some thoughts and recommendations for anyone who wants to move their blog from WordPress.com over to their own web host.</p>
<p>Moving from WordPress.com has advantages over moving from another service – pretty much all of your content can be migrated over without any loss of information. This includes posts, pages, categories, tags and even users if you have more than one. It’s also another reason why it is so easy to make the switch.</p>
<h2>Why host your own WordPress?</h2>
<p>For a while, my blog was hosted on WordPress.com. It was great – it was easy to set up, easy to use (especially with Live Writer), always available and best of all, it was all free.</p>
<p>But then, after a while there are some limitations that start to show up once you’ve used WordPress.com for a while. For a start, the <abbr title="univeral resource locator">URL</abbr> that comes with your blog is in the form of http://&lt;blog name&gt;.wordpress.com/, and you can’t really change this your http://&lt;blog name&gt;.com or anything shorter. Well you could, but you’d have to pay USD$10 a year just so that you can use your own domain name and point it at your WordPress.com blog. Registering the actual domain name costs extra, of course.</p>
<p>Apart from the domain name, all of the WordPress.com feature upgrades turns out to be included when you host your own WordPress blog. This includes uploading videos, customising the CSS look and feel, none of their ads and the option to put your own ads in, unlimited users and as much disk space as your hosting provider gives you. If you’re already reaching or exceeding the free limits of WordPress.com, then why not change over?</p>
<p>There is actually a community of people whom self host the free and open source WordPress blog engine, which can be sourced from <a href="http://www.wordpress.org/">http://www.wordpress.org/</a>.</p>
<h2>Intended audience</h2>
<p>This is a recount of the steps I took in migrating my blog. If you want to use this as a guide to do the same, then you would need prior knowledge or experience in setting up a basic web site.</p>
<h2>The Procedure</h2>
<p>The basic procedure involves exporting the contents of the blog posts from the old wordpress blog, and then importing it into the new self hosted WordPress installation. Although, there are some other things can be done to make it even more painless.</p>
<p> <span id="more-571"></span><br />
<h3>Step 1: Find a web host</h3>
<p>The first thing that we are going to do is to find a new place on the internet to be the ‘physical’ home of the blog. The easiest way to host the blog is to find a web host on the internet that would allocate to you some web space and bandwidth for a subscription based cost, or for free if you’re happy with suboptimal service levels. Look up potential hosts using an online directory.</p>
<p>At the same time, take note of the <a href="http://codex.wordpress.org/Hosting_WordPress">requirements to run WordPress</a>, and make sure that the web host you’re about to sign up with meets their requirements. For an in-depth guide to setting up WordPress, see the <a href="http://codex.wordpress.org/New_To_WordPress_-_Where_to_Start">WordPress Codex</a>.</p>
<p>When you sign up to a web hosting provider, you’ll be asked to nominate a domain name to be associated with the space. If you don’t have a domain name yet, this might be a good time to register your domain name through your web hosting provider.</p>
<p>I’ll leave it up to you to choose your favourite web host, but in this post I’ll assume that you have chosen one that uses the cPanel control panel system.</p>
<h3>Step 2: Set up the domain name</h3>
<p>This step really depends on whether you registered your web site separately or through your web host. If you registered through the web host, more often than not they’ll have it all set up for you.</p>
<p>In my case (<a href="http://www.edmundtse.com">www.edmundtse.com</a>), I have my domain name registered through Melbourne IT so I needed to change my domain’s “nameserver” – this nameserver controls which web host the domain name will send visitors to.</p>
<p><a href="http://www.edmundtse.com/wp-content/uploads/2009/11/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Changing nameserver" border="0" alt="Changing nameserver" src="http://www.edmundtse.com/wp-content/uploads/2009/11/image_thumb.png" width="360" height="140" /></a> </p>
<p>After this, it takes about a day for the re-delegation to propagate out to your <abbr title="Internet Service Provider">ISP</abbr> to let them know of the change of servers. So for now, if I type <a href="http://www.edmundtse.com">www.edmundtse.com</a> into my browser, it’ll still try to take me to the old place for a while before it realises I’ve changed it. For now, if you have an alternative method (e.g. using web host’s IP address) to access the control panel, we can proceed setting up the new blog.</p>
<h3>Step 3: Set up the database</h3>
<p>Since WordPress is database driven, we’ll need to set up a MySQL database for it. In cPanel, we’ll use the MySQL database wizard to set one up.</p>
<p><a href="http://www.edmundtse.com/wp-content/uploads/2009/11/image1.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.edmundtse.com/wp-content/uploads/2009/11/image_thumb1.png" width="240" height="89" /></a> </p>
<p>After setting up the database, we’ll have a new MySQL database that’s all set up and ready to go, and make sure to record the database name as well as the username and password that was specifically created to access the newly created database. Keep in mind that this username and password is not the same as the cPanel one, so don’t get them mixed up.</p>
<p>Also note that if you’ve selected say “wordpress” as your database name, then you’ll end up with an actual database name of your username followed by your nominated database name, like “username_wordpress”. This is the same for the database username as well.</p>
<h3>Step 4: Install WordPress</h3>
<p>Now we get to the fun part of setting it all up – using the famous (apparently) famous “5 minute install”. It actually takes less than 5 minute if you know what you’re doing.</p>
<p>First, we need to download the <a title="Download WordPress" href="http://wordpress.org/download/">WordPress package</a> from their website. Get the <a href="http://wordpress.org/latest.tar.gz">gzipped file</a>, since it’s a little smaller than the zip package. Afterwards, we’ll need to upload that file onto the web host, via cPanel’s file manager. So log on to cPanel (instructions from your web host) and click the File Manager icon.</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="cPanel file manager" border="0" alt="cPanel file manager" src="http://www.edmundtse.com/wp-content/uploads/2009/11/image2.png" width="58" height="72" /> </p>
<p>If you prefer to upload that file in another way, then that’s fine as well. After uploading the file, we’ll then extract the contents of the file archive in file manager as well. We do this by first clicking to select the uploaded file and then click the ‘Extract’ icon at the toolbar.</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Extract in File Manager" border="0" alt="Extract in File Manager" src="http://www.edmundtse.com/wp-content/uploads/2009/11/image3.png" width="101" height="73" /> </p>
<p>Then, we move all the files from with the newly created folder to the root folder of the web site, which should be /public_html/. Next, we navigate to our web site to set it up.</p>
<p>The first step here is to give the blog a name (probably the same name as the old one), and give it an email address so that it can create an administrator account.</p>
<p><a href="http://www.edmundtse.com/wp-content/uploads/2009/11/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Install wordpress" border="0" alt="Install wordpress" src="http://www.edmundtse.com/wp-content/uploads/2009/11/image_thumb2.png" width="220" height="183" /></a> <a href="http://www.edmundtse.com/wp-content/uploads/2009/11/image5.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Installation finished" border="0" alt="Installation finished" src="http://www.edmundtse.com/wp-content/uploads/2009/11/image_thumb3.png" width="220" height="165" /></a> </p>
<p>When we click the log in button to continue, and enter the admin details to log in, we’ll finally get to the WordPress dashboard! This dashboard is almost identical to the one at WordPress.com, but you won’t find the section for buying more features because you already have them all.</p>
<h3>Step 5: Export content</h3>
<p>Now we have to export the content from our existing WordPress.com blog. So we log on to the blog dashboard at <a href="http://www.wordpress.com/">http://www.wordpress.com/</a> and go to “Export” under the “Tools” section.</p>
<p><a href="http://www.edmundtse.com/wp-content/uploads/2009/11/image6.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Export wordpress" border="0" alt="Export wordpress" src="http://www.edmundtse.com/wp-content/uploads/2009/11/image_thumb4.png" width="192" height="238" /></a> </p>
<p>Clicking on the button “Download Export File” will then let you download a XML file that contains all of the posts, pages, categories, tags, comments and drafts. Its pretty much a dump of the WordPress database in a format that is specifically designed to hold your WordPress data. It just so happens that we can’t directly access the WordPress.com database – that would be quite a security risk if we were able to!</p>
<p>We then save the file onto the computer. Let’s just name that file “wordpress.xml”, and save it on the desktop, where it is readily accessible.</p>
<p>The steps from now on can be done almost in any order, but here’s what worked for me.</p>
<h3>Manually transfer settings</h3>
<p>Unfortunately I couldn’t find anything that automatically transfers blog settings across, so we’ll need to enter the blog details by hand. Go to the settings section in the dashboard, and we’ll first see general settings. Fill those out with the same information from the existing blog, but leave the new URLs as is.</p>
<p>Work through the rest of the subsections and make sure they are correct. If you’re not sure what a setting should be, refer to your existing blog settings. I want to point out some bits in particular: In the ‘writing’ subsection, enable remote publishing so that you can use <a title="Windows Live Writer" href="http://download.live.com/writer">Live Writer</a> to post to your blog. In ‘Permalinks’, you might like to change the permalink structure to ‘day and name’ so it’ll look more like the WordPress.com blog.</p>
<h3>Find and install blog theme</h3>
<p>Once the settings are done, we’ll customise the look and feel of the blog. Go to the ‘Appearance’ section and then ‘Add new theme’. Try to search for the name of your old theme, but there is a chance that it’s not listed. In that case, you can either use another theme or search for it on other areas of the internet. I am currently using Sadish’s ‘MistyLook’ theme, which isn’t listed in the themes list, but it’s actually still available on the <a title="MistyLook by Sadish" href="http://wpthemes.info/misty-look/">creator’s website</a>. He also has other free WordPress themes that are quite clean and elegant.</p>
<h3>Install theme</h3>
<p>If you found the theme via WordPress, installation couldn’t be easier. Just click the ‘Install’ button and then use the ‘Activate’ link to use it. If you’re downloading the theme package from elsewhere then we need to upload and extract the files to /public_html/wp-content/themes/theme_name/.</p>
<p>Afterwards, we can find the new theme as ‘available’ in the ‘Themes’ subsection under ‘Appearance’. Here we can activate the theme to change the blog look and feel.</p>
<h3>Delete starting content</h3>
<p>Before we import any content, let’s first delete all existing posts, pages and comments. If we don’t delete the about page, and during import there’s a page of the same name, then it’ll be renamed to about-2, which we don’t want.</p>
<h3>Import content</h3>
<p>Now we’ll need to import the content from the old blog. Previously, we’ve exported an XML file containing our posts, pages, comments, etc. But there is a problem which causes your links to break after importing. This is because when you upload and link to a file onto the WordPress.com blog, this link remains the same even after you’ve imported the content into the new blog. So before we import, we need to rewrite those links so that they would point to the correct location. Do the following find and replace (ViM commands given), changing the domain name to your needs:</p>
<pre>%s/edmundtse.wordpress.com/www.edmundtse.com/g
%s/edmundtse.files.wordpress.com/www.edmundtse.com\/wp-content\/uploads/g</pre>
<p>So in the new blog, we’ll go to “Import” also under the “Tools” section to import the content. The process imports the content that’s stored within the XML file as well as goes forth and downloads all the files you’ve uploaded onto your media library as well.</p>
<h3>Transfer widgets</h3>
<p>If you use widgets, you’ll also need to fix them up as well. There are a few widgets that’s not included in your WordPress installation by default, but all you have to do install the plugin and then you’ll find the widget.</p>
<h3>Transfer links</h3>
<p>If you have links and blogroll friends, then you’ll need to manually copy them across as well.</p>
<h3>Install plugins</h3>
<p>You might find that some features Akismet is installed by default, but WordPress.com Stats is not. It needs to be installed as a plugin. There are tons and tons of plugins you can use for WordPress on <a href="http://wordpress.org/extend/plugins/">WordPress’ own website</a>, and another bunch at <a href="http://wp-plugins.net/">http://wp-plugins.net/</a>. <a href="http://lifehacker.com/5365600/the-beginners-guide-to-tricking-out-your-wordpress-blog">Lifehacker recommended a few</a> which is great to get started with.</p>
<h2>And that’s it!</h2>
<p>Happy blogging!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/EdmundTse?a=NsbLodunDhU:r16s6qgeZ9M:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=NsbLodunDhU:r16s6qgeZ9M:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=NsbLodunDhU:r16s6qgeZ9M:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/EdmundTse?i=NsbLodunDhU:r16s6qgeZ9M:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=NsbLodunDhU:r16s6qgeZ9M:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=NsbLodunDhU:r16s6qgeZ9M:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/EdmundTse/~4/NsbLodunDhU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.edmundtse.com/2009/11/30/mini-project-moving-a-wordpress-com-blog-to-own-servers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.edmundtse.com/2009/11/30/mini-project-moving-a-wordpress-com-blog-to-own-servers/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=mini-project-moving-a-wordpress-com-blog-to-own-servers</feedburner:origLink></item>
		<item>
		<title>Cloning directory in Windows with dummy files</title>
		<link>http://feedproxy.google.com/~r/EdmundTse/~3/Pvq8V8OaamA/</link>
		<comments>http://www.edmundtse.com/2009/10/30/cloning-directory-in-windows-with-dummy-files/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 06:11:49 +0000</pubDate>
		<dc:creator>Edmund Tse</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.edmundtse.com/2009/10/30/cloning-directory-in-windows-with-dummy-files/</guid>
		<description><![CDATA[Given an existing directory containing files and folders, how can I reproduce the same structure somewhere else on the hard drive (or otherwise), but instead of copying the full file contents, just have dummy files with the same name? This question came from a question on Atomic MPC forums that I thought would be really [...]]]></description>
			<content:encoded><![CDATA[<p>Given an existing directory containing files and folders, how can I reproduce the same structure somewhere else on the hard drive (or otherwise), but instead of copying the full file contents, just have dummy files with the same name?</p>
<p>This question came from a question on <a href="http://forums.atomicmpc.com.au/index.php?showtopic=23542">Atomic MPC forums</a> that I thought would be really simple on unix given the multitude of shell utilities, but might be a little tricky on Windows command prompt.</p>
<p>So first, we want to re-create present working directory structure, replacing &#8220;C:\test&#8221; with where you want the files to be placed:</p>

<div class="wp_syntax"><div class="code"><pre class="dos" style="font-family:monospace;"><span style="color: #00b100; font-weight: bold;">for</span> /f &quot;delims=&quot; <span style="color: #33cc33;">%</span><span style="color: #448888;">i</span> <span style="color: #00b100; font-weight: bold;">in</span> <span style="color: #66cc66;">&#40;</span>'<span style="color: #b1b100; font-weight: bold;">dir</span> /a:d /b /s'<span style="color: #66cc66;">&#41;</span> <span style="color: #00b100; font-weight: bold;">do</span> <span style="color: #33cc33;">@</span><span style="color: #b1b100; font-weight: bold;">mkdir</span> &quot;C:\test<span style="color: #33cc33;">%</span><span style="color: #448888;">~pnxi</span>&quot;</pre></div></div>

<p>Then, we’ll just write empty files for every name that we have in our current directory into the target directory.</p>

<div class="wp_syntax"><div class="code"><pre class="dos" style="font-family:monospace;"><span style="color: #00b100; font-weight: bold;">for</span> /f &quot;delims=&quot; <span style="color: #33cc33;">%</span><span style="color: #448888;">i</span> <span style="color: #00b100; font-weight: bold;">in</span> <span style="color: #66cc66;">&#40;</span>'<span style="color: #b1b100; font-weight: bold;">dir</span> /a:-d /b /s'<span style="color: #66cc66;">&#41;</span> <span style="color: #00b100; font-weight: bold;">do</span> <span style="color: #33cc33;">@</span><span style="color: #b1b100; font-weight: bold;">echo</span>. &amp;gt; &quot;C:\test<span style="color: #33cc33;">%</span><span style="color: #448888;">~pnxi</span>&quot;</pre></div></div>

<p>So it’s not that difficult after all. Note that this won’t copy hidden files across – if you know you have them, then you probably know how to tweak the command to get them across too.</p>
<p>Enjoy.</p>
<p>Update: Here&#8217;s an explanation of how it works:</p>
<p><span id="more-549"></span></p>
<h3>Step 1</h3>
<p>Let&#8217;s start with the &#8216;dir&#8217; part, that is used to give me a directory listing.<br />
&#8216;/a:d&#8217; gives me only directories, and not files.<br />
&#8216;/b&#8217; gives me the result in bare formatting, so only the path and the name of the directory.<br />
&#8216;s&#8217; includes all subdirectories.</p>
<p>So, having done this, I now have a list of all current subdirectories. Now for every item in this list, (the &#8216;for&#8217; command), I will set the variable &#8216;%i&#8217; to that directory, and call the &#8216;mkdir&#8217; command. The &#8216;delims=&#8217; part makes sure the directory isn&#8217;t split by spaces.</p>
<p>Finally, I &#8216;mkdir&#8217; the new path, with is composed of C:\test at the beginning, and then append a special formatting of the directory path. %i would just give me the bare string, but I can extract the path &#8216;p&#8217;, the name &#8216;n&#8217; and extension &#8216;x&#8217; in that order, giving me %~pnxi. The reason for doing this is to remove the drive letter at the start so I can put it into the C:\test subdirectory.</p>
<p>The @ annotation before the command just suppresses printing of the command, so I don&#8217;t see anything if everything goes well.</p>
<h3>Step 2</h3>
<p>The for loop here is similar, but instead of looping over the directories, I&#8217;m not looping over non-directories. &#8216;/a:-d&#8217;.</p>
<p>The command here is &#8216;echo.&#8217; which prints a newline character (I think), and sends that to a file formatted in a way similar to step 1.</p>
<p>Update: It has been pointed out that &#8216;robocopy&#8217; has a &#8216;/create&#8217; flag that handles this as well. Thanks!<!--IBF.ATTACHMENT_471645--></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/EdmundTse?a=Pvq8V8OaamA:0-rW_CGCHZw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=Pvq8V8OaamA:0-rW_CGCHZw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=Pvq8V8OaamA:0-rW_CGCHZw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/EdmundTse?i=Pvq8V8OaamA:0-rW_CGCHZw:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=Pvq8V8OaamA:0-rW_CGCHZw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=Pvq8V8OaamA:0-rW_CGCHZw:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/EdmundTse/~4/Pvq8V8OaamA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.edmundtse.com/2009/10/30/cloning-directory-in-windows-with-dummy-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.edmundtse.com/2009/10/30/cloning-directory-in-windows-with-dummy-files/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=cloning-directory-in-windows-with-dummy-files</feedburner:origLink></item>
		<item>
		<title>Broken links (mostly) fixed</title>
		<link>http://feedproxy.google.com/~r/EdmundTse/~3/MnRKk6xRRWs/</link>
		<comments>http://www.edmundtse.com/2009/10/25/broken-links-mostly-fixed/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 05:07:19 +0000</pubDate>
		<dc:creator>Edmund Tse</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.edmundtse.com/2009/10/25/broken-links-mostly-fixed/</guid>
		<description><![CDATA[Right. A little while ago, I&#8217;ve reported that I’ve broken a lot of the links since the move to a new domain name due to the fact that they still pointed to my blog’s old place at WordPress.com (and I’ve locked down my blog so it’s inaccessible). Now I’ve managed to fix it in a [...]]]></description>
			<content:encoded><![CDATA[<p>Right. A little while ago, I&#8217;ve reported that I’ve <a href="http://www.edmundtse.com/2009/10/08/broken-links-everywhere-since-the-move/">broken a lot of the links</a> since the <a href="http://www.edmundtse.com/2009/09/18/move-to-edmundtse-com-success/">move to a new domain name</a> due to the fact that they still pointed to my blog’s old place at WordPress.com (and I’ve locked down my blog so it’s inaccessible). Now I’ve managed to fix it in a way that’s not the most convenient but is effective nonetheless.</p>
<p>I re-exported the blog using WordPress’s export function, which gave me an XML file containing all my blog contents. I did a massive find and replace on all links, and then imported to a new WordPress installation. Simple concept, and works beautifully. The only drawback is the amount of manual work required to set up the blog from scratch again.</p>
<p>Another way I could have done it was by searching through the entries in the database, and changing the links that way, but I kind of feel more comfortable just doing a find and replace on a text file. Maybe I’ll play around with databases a bit later.</p>
<p>The broken links that are left existed from before the move, and it&#8217;s good to finally have the tools (WordPress Broken Link Checker Plugin) to report such issues. With a wordpress.com blog, you don&#8217;t get that luxury.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/EdmundTse?a=MnRKk6xRRWs:Mg_LHOaZ7BQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=MnRKk6xRRWs:Mg_LHOaZ7BQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=MnRKk6xRRWs:Mg_LHOaZ7BQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/EdmundTse?i=MnRKk6xRRWs:Mg_LHOaZ7BQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=MnRKk6xRRWs:Mg_LHOaZ7BQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=MnRKk6xRRWs:Mg_LHOaZ7BQ:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/EdmundTse/~4/MnRKk6xRRWs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.edmundtse.com/2009/10/25/broken-links-mostly-fixed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.edmundtse.com/2009/10/25/broken-links-mostly-fixed/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=broken-links-mostly-fixed</feedburner:origLink></item>
		<item>
		<title>e-Record 6 – can’t add a new business?</title>
		<link>http://feedproxy.google.com/~r/EdmundTse/~3/JiM5H-jtt7E/</link>
		<comments>http://www.edmundtse.com/2009/10/12/e-record-6-cant-add-a-new-business/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 05:53:15 +0000</pubDate>
		<dc:creator>Edmund Tse</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[problem]]></category>

		<guid isPermaLink="false">http://www.edmundtse.com/2009/10/12/e-record-6-cant-add-a-new-business/</guid>
		<description><![CDATA[e-Record is a free tool offered by the Australian Tax Office (ATO) to help small businesses keep records needed for tax reporting. It uses FileNet Desktop eForms application (now belongs to IBM), and it is terribly out of date (just like Windows XP). So what happens when you install it on Windows Vista or Windows [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.edmundtse.com/wp-content/uploads/2009/10/image9.png"><img style="display: inline; border: 0px;" title="e-Record 6" src="http://www.edmundtse.com/wp-content/uploads/2009/10/image_thumb9.png" border="0" alt="e-Record 6" width="480" height="107" /></a></p>
<p>e-Record is a free tool offered by the <a href="http://www.ato.gov.au/">Australian Tax Office (ATO)</a> to help small businesses keep records needed for tax reporting. It uses FileNet Desktop eForms application (now belongs to IBM), and it is terribly out of date (just like Windows XP).</p>
<p>So what happens when you install it on Windows Vista or Windows 7? Well it kind of breaks. I ran into a problem while trying out e-Record 6.1 build 3 on Windows 7 Ultimate x86, and it can be reproduced like this: add a new business, and click through the initial steps.</p>
<p><span id="more-538"></span></p>
<p><a href="http://www.edmundtse.com/wp-content/uploads/2009/10/image1.png"><img style="display: inline; border-width: 0px;" title="Adding a new business" src="http://www.edmundtse.com/wp-content/uploads/2009/10/image_thumb1.png" border="0" alt="Adding a new business" width="407" height="163" /></a></p>
<p>What it’ll do is go through and start creating the forms based on a template, and it’ll keep going until a message box comes up and says “There is no current document. [5715, 0]”, with a single OK button. Click that and another message box will come up with a bit more detail, telling us that the error occurred at [line 6 of “EVENT_RecordNewBusinessDetails”]:</p>
<p><a href="http://www.edmundtse.com/wp-content/uploads/2009/10/image17.png"><img style="display: inline; border: 0px;" title="EVENT_RecordNewBusinessDetails error" src="http://www.edmundtse.com/wp-content/uploads/2009/10/image17_thumb.png" border="0" alt="EVENT_RecordNewBusinessDetails error" width="480" height="141" /></a></p>
<p>It doesn’t really make any sense, and that’s when ATO’s phone support really helped.</p>
<h3>Solution</h3>
<p>It turns out that this is a known issue from Vista onwards, and is related to a permissions problem. The fix is to <strong>replace</strong> all permissions of a folder object with allow full control to your user account.</p>
<p>To begin, let’s exit out of e-Record, and go to the Computer file system, and into C:\. There’ll be a folder named “Informed”.</p>
<p><a href="http://www.edmundtse.com/wp-content/uploads/2009/10/image3.png"><img style="display: inline; border-width: 0px;" title="The folder Informed" src="http://www.edmundtse.com/wp-content/uploads/2009/10/image_thumb3.png" border="0" alt="The folder Informed" width="284" height="186" /></a></p>
<p>If we right click on that folder, click on <em>Properties</em>, and go to the <em>Security </em>tab, we can see a list of security settings that have been applied to that folder. Click on the <em>Advanced </em>button, and then <em>Edit </em>(if Vista) and or <em>Change Permissions </em>(if Windows 7)</p>
<p><a href="http://www.edmundtse.com/wp-content/uploads/2009/10/image4.png"><img style="display: inline; border-width: 0px;" title="Informed properties" src="http://www.edmundtse.com/wp-content/uploads/2009/10/image_thumb4.png" border="0" alt="Informed properties" width="185" height="240" /></a><a href="http://www.edmundtse.com/wp-content/uploads/2009/10/image5.png"><img style="display: inline; border-width: 0px;" title="Informed advanced security settings" src="http://www.edmundtse.com/wp-content/uploads/2009/10/image_thumb5.png" border="0" alt="Informed advanced security settings" width="240" height="183" /></a></p>
<p>Untick the check box named <em>Include inheritable permissions from this object’s parent</em>, and when prompted to either add or remove the parent permissions, choose <em>Remove</em>.</p>
<p><a href="http://www.edmundtse.com/wp-content/uploads/2009/10/image6.png"><img style="display: inline; border-width: 0px;" title="image" src="http://www.edmundtse.com/wp-content/uploads/2009/10/image_thumb6.png" border="0" alt="image" width="240" height="168" /></a></p>
<p>Then, click the <em>Add </em>button to give it some custom permissions settings. If you know your computer account’s username, you can type it in and click <em>OK</em>. Otherwise, click <em>Advanced</em> then in the new windows, click <em>Find Now</em>. Afterwards, find and select your username in the list (the icon should be a single person) and then click <em>OK</em>, then <em>OK </em>again.</p>
<p><a href="http://www.edmundtse.com/wp-content/uploads/2009/10/image7.png"><img style="display: inline; border-width: 0px;" title="image" src="http://www.edmundtse.com/wp-content/uploads/2009/10/image_thumb7.png" border="0" alt="image" width="240" height="129" /></a></p>
<p>In the next window, we want to tick the Allow checkbox for the “Full control” permission. All the other check boxes below it will automatically be checked as well. Click <em>OK</em> to finish adding that permission, and then <em>OK</em> again to accept and apply those permissions to the object. At this stage, there should only be one permission entry for that folder.</p>
<p><a href="http://www.edmundtse.com/wp-content/uploads/2009/10/image8.png"><img style="display: inline; border-width: 0px;" title="image" src="http://www.edmundtse.com/wp-content/uploads/2009/10/image_thumb8.png" border="0" alt="image" width="449" height="97" /></a></p>
<p>Now, start up e-Record and try to add a new business again. If you didn’t close e-Record before, be sure to restart it before retrying.</p>
<h3>Why does this work?</h3>
<p>I have no idea. My assumption was that since my user account was a member of the Administrators group, and that the Administrators group had full control of this folder, it’d be the same. I’ve even checked the effective permissions for my user account on that folder object. It’s the same set (full control).</p>
<p>So why does it work when I removed all other permissions and replacing it with a full control for my user account only? I simply can’t explain.</p>
<p>Update 28 Jul 10: <a href="http://www.ato.gov.au/businesses/content.asp?doc=/content/00225495.htm">e-Record has been withdrawn</a> and will no longer be available from July 2010.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/EdmundTse?a=JiM5H-jtt7E:Xa7WF5uXUbY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=JiM5H-jtt7E:Xa7WF5uXUbY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=JiM5H-jtt7E:Xa7WF5uXUbY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/EdmundTse?i=JiM5H-jtt7E:Xa7WF5uXUbY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=JiM5H-jtt7E:Xa7WF5uXUbY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/EdmundTse?a=JiM5H-jtt7E:Xa7WF5uXUbY:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/EdmundTse?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/EdmundTse/~4/JiM5H-jtt7E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.edmundtse.com/2009/10/12/e-record-6-cant-add-a-new-business/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.edmundtse.com/2009/10/12/e-record-6-cant-add-a-new-business/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=e-record-6-cant-add-a-new-business</feedburner:origLink></item>
	</channel>
</rss>
