<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Fruits of my Labour</title>
	<atom:link href="http://www.toao.net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.toao.net</link>
	<description>by Mango</description>
	<lastBuildDate>Sun, 18 Jul 2010 21:44:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Business Equipment Leasing Tips</title>
		<link>http://www.toao.net/441-business-equipment-leasing-tips</link>
		<comments>http://www.toao.net/441-business-equipment-leasing-tips#comments</comments>
		<pubDate>Sun, 16 May 2010 16:10:57 +0000</pubDate>
		<dc:creator>Mango</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.toao.net/?p=441</guid>
		<description><![CDATA[Mango runs the IT department at his day job, which involves evaluating business equipment for purchase or lease.&#160; Here are a few tips that we would really like everyone to know.&#160; Or if you don't care about leasing but like making fun of sales people, you can just skip to the bottom. Find out the [...]]]></description>
			<content:encoded><![CDATA[<br />Mango runs the IT department at his day job, which involves evaluating business equipment for purchase or lease.&nbsp; Here are a few tips that we would really like everyone to know.&nbsp; Or if you don't care about leasing but like making fun of sales people, you can just skip to the bottom.<br />
<br  />
<span id="more-441"></span><br   />
<br  />
<b>Find out the Purchase Price</b><br   />
Every salesperson we have spoken with has required massive amounts of convincing to reveal the purchase price of a piece of equipment.&nbsp; We're not sure if it's because they don't want us to get sticker shock, or if they're on commission from the leasing company.&nbsp; But here's an example of why the purchase price is something very important to know: maybe it's far cheaper to purchase than to lease it!&nbsp; We currently have a printer on lease that cost an astonishing FORTY-FOUR PERCENT more to lease than it would to purchase.&nbsp; (Mango hastens to add here that he was NOT the one who made that deal.)  At this rate, it would have been cheaper to even put the equipment on a credit card, or better still a line of credit.<br />
<br  />
<b>ALWAYS negotiate a buyout.</b><br   />
Here's another advantage to purchasing equipment: when a typical lease ends, you get...nothing.&nbsp; If you've negotiated a buyout, you can purchase the equipment for often 10% of its original value.&nbsp; Then you have the option to actually own something after paying for it for five years.<br />
<br  />
<b>Myth: If I purchase equipment, the company's service contract won't cover me.</b><br   />
Not always.&nbsp; Sometimes, the service contract is separate from the lease, and completely optional.&nbsp; You can purchase the service contract separately, not at all, or on an a la carte basis.<br />
<br  />
<b>Girl, you've got nothing but time.</b><br   />
Maybe that's lyrics from a Sara Evans song, and maybe you're not a girl, but you still have nothing but time.&nbsp; Don't be taken in by promotional pricing that they can "only guarantee until the end of the quarter".&nbsp; These people want your business.&nbsp; Every time we've said, "well, we can't do a deal until after the quarter, but we like that price," they've said "...well...ok."<br />
<br  />
<b>Could you outsource?</b><br   />
If you're doing a lot of production in-house, consider outsourcing it.&nbsp; We considered replacing a very old and decrepit folding machine and were dismayed by the prices we were quoted.&nbsp; Then we investigated outsourcing all our large volume mailing.&nbsp; As it turned out, after we factored in staff time, we discoved that we could pay to the outsourcing company exactly what we currently paid to do the work ourselves.&nbsp; It was a bonus not to have to do the work, and as an additional bonus, we didn't have to replace expensive equipment.<br />
<br  />
<b>Is it really worth it?</b><br   />
Maybe not.&nbsp; Why not divide the monthly cost of the equipment by the number of times per month you expect to use it?<br />
<br  />
<b>Could you live with home office-grade machines?</b><br   />
We find it very economical and convenient to do our own colour laser printing.&nbsp; We were offered some very large and very very expensive colour laser printers by various office equipment companies.&nbsp; We ended up purchasing a Xerox colour laser printer online for an astonishing $30 + toner!&nbsp; Off-brand toner is approximately half the price of OEM toner, and in this case the image quality looks exactly the same.&nbsp; This brought the cost of an average page with 50% coverage (we think figures based on 5% coverage are worthless) to an appealing $0.09 - exactly half the price of the cheapest local print shop.&nbsp; True, it's a much smaller machine than what we were offered by the office equipment companies - in fact, it sits on a desk - but it did come with a year of free on-site service, and is more than up to the task of printing several hundred pages in a day.&nbsp; We used eBay saved searches to find excellent deals on extra paper trays, a duplexer, and spare parts that we will one day need to replace.<br />
<br  />
<b>NEVER do pre-authorized payments.</b><br   />
Why?&nbsp; Because every leasing company we've ever dealt with never stops them on time.&nbsp; It's true that writing a cheque every month is time consuming, but convincing them to give back two or three payments AFTER your lease expires is MUCH MORE time consuming.&nbsp; Dealing with them suddenly starting payments again THREE YEARS after you no longer have the equipment is even more time consuming.&nbsp; If you do have a pre-authorized payment, and you request that your bank block future payments, spend the extra $5 to have them block payments of any amount, not just the typical amount.&nbsp; Sometimes, if the bank declines a payment, the first thing the leasing company will do is subtract $0.01 and try again.<br />
<br  />
<b>Put the expiry dates of leases on your calendar, in advance if you need to.</b><br   />
We do this, and we also have a sticker on each piece of leased equipment that states when it expires.&nbsp; The reason is: sometimes, the contract states that the lease auto-renews itself for a year (or five!) if you continue to pay for it.&nbsp; Sometimes it states that the lease must be cancelled at least three months before the end of the term.&nbsp; To get around this, we simply submit a letter at the time we sign a lease stating we wish to cancel the lease at the end of the term.&nbsp; (It qualifies as "at least three months"!)<br />
<br  />
<b>Read the contract.&nbsp; Read every single word.</b><br   />
We needed to replace a mailing machine.&nbsp; Fortunately, there are only three companies in Canada licensed by Canada Post to manufacture postage meters, so research was relatively simple.&nbsp; We were intrigued by a machine offered to us by Pitney-Bowes...but dismayed to find the contract was four pages long and written in positively microscopic-sized font.&nbsp; Buried on page two, in the middle of the section about obtaining service to the machine, was: "PBC may change the services, the terms pursuant to which the services are provided to you, or terminate such services, upon written notice to you."&nbsp; Wait, what?!&nbsp; They can decide that they don't want to provide service to us, on a whim?&nbsp; Oh, but it gets better!&nbsp; On page four: "After the first year of the initial term, PBC may increase the subscription and/or rental fees upon 30 days prior written notice."<br />
<br />
Yes, you read that right.&nbsp; <i>They can actually increase the rental fees of the equipment <u>and there's nothing you can do about it!!</u></i>  We mentioned this to our salesperson, and her response was a shocking, "Well, it probably wouldn't go up by much, if at all."&nbsp; We asked how much it had gone up in the past, but were not surprised to be told that she was "not able to provide that information".&nbsp; We suggested that since it wouldn't go up by much, she wouldn't mind giving us a different contract without that provision.&nbsp; She told us she couldn't do that.&nbsp; We asked for permission to terminate the lease early without penalty if the rate went up.&nbsp; That too was shot down.<br />
<br />
Needless to say, we didn't sign THAT one.<br />
<br  />
<b>Find out what consumables cost.</b><br   />
Find out exactly what consumables cost, including shipping and handling, and whether or not you can get them from off-brand suppliers.&nbsp; (You'll have to figure out this last one on your own.)  Find out how long a consumable will last in the real world.&nbsp; Toner cartridges for printers are often quoted by how many pages they'll print <i>at 5% coverage</i>.&nbsp; 5% coverage is about equivalent to a small logo in one corner of the page.&nbsp; If you plan to print more than that, and you almost certainly will, the cartridges will last for a significantly less number of pages.<br />
<br />
On the other hand, maybe it's okay to have expensive consumables.&nbsp; If your machine is inexpensive enough that it offsets the cost of the consumables, perhaps it will even out.&nbsp; We had someone once tell us that their printer was the best because their cartridge lasted for 30,000 pages and cost "next to nothing".&nbsp; Perhaps it was true, for given values of "next to nothing", but their printer itself was nearly double the price of everyone else's.&nbsp; For our use, there was no possible way that total cost of ownership would have been cheaper.<br />
<br  />
<b>Tips for specific types of equipment:</b><br   />

<div style='padding:0 30px;'><br  />
<b>Copiers and printers</b><br   />
If you have to pay for toner, find out how the machine calculates how much toner is remaining.&nbsp; Some cartridges have a counter that counts up each time you print a page.&nbsp; A friend of ours has a Samsung printer that does this.&nbsp; But here's the problem: the counter increments <i>whether or not you've used that colour</i>!&nbsp; So if you print a few thousand pages of plain black text, your colour cartridges will be worthless, even though you haven't used them!&nbsp; Our favourite printers have bottles of toner instead of cartridges.&nbsp; These bottles have no counter; the printer simply uses them until they're empty.&nbsp; They're also very very easy to refill.<br />
<br />
If you purchase a home office-grade printer, try and find one that can be connected to a network so that you can share it amongst a few computers easily.&nbsp; Also, consider a model that supports PostScript.&nbsp; PostScript is useful for many reasons.&nbsp; For example, if the printer manufacturer does not provide drivers for Linux, but the printer supports PostScript, it's often trivial to make it work.<br />
<br  />
<b>Postage equipment</b><br   />
In Canada, Canada Post prohibits you from owning a postage <i>meter</i>.&nbsp; However, you can own a postage <i>machine</i>.&nbsp; One is completely useless without the other.&nbsp; Sometimes, the contracts for the meter and the machine are separate, so if you decide to cancel a contract, be sure to cancel <b>both</b>.&nbsp; Better still, choose a company that only asks that you sign a single contract.&nbsp; We investigated purchasing a postage machine and renting a meter.&nbsp; However, the meter rental was only a few dollars less expensive than renting the machine and the meter together.<br />
<br />
We mentioned Pitney Bowes before.&nbsp; We've also used equipment from Neopost.&nbsp; It had a device to automatically seal envelopes, but we were never able to make it work particularly well.&nbsp; We had their technician come in a few times to service it, but with very little success.&nbsp; One day, we received two letters in the mail: one from Neopost, and one from the local Neopost dealer.&nbsp; The letter from Neopost was not sealed.&nbsp; The letter from the dealer was taped shut.&nbsp; After this stunning display of confidence in the company's own product, we gave up trying.<br />
<br />
We currently use a machine from Francotyp-Postalia.&nbsp; It is a quarter of the price of the machine we used to have from Neopost with the only difference being that the scale is a few kg smaller.</div><br  />
<b>Do you like the salesperson?</b><br   />
Finally, follow your instincts.&nbsp; If your instincts say the salesperson is honest, (and you have good instincts,) they probably are.&nbsp; Here's something to watch out for: if all the salesperson will do is tell you everything they can think of that's negative about their competitor's product, that's a bad sign.&nbsp; If they'll actually talk about their own product and tell you about everything positive about it, you're probably ready to do a deal.&nbsp; And finally, if you start hearing quotes like these...well...you have our permission to laugh at them and then write about it on the internet.<br />
<br  />
<b>Him:</b> "...and the competitor's model doesn't have an automatic feeder!"<br  />
<b>Us:</b> "Actually...according to their salesperson, yes it does."<br  />
<b>Him:</b> "Nope.&nbsp; I can assure you that 100%.&nbsp; It doesn't have an automatic feeder."<br  />
<b>Us:</b> "Ok, well, we won't argue with you about a product that's not yours, so--"<br  />
<b>Him:</b> "IT DOESN'T!!"<br  />
<i>[We took the competitor's product.&nbsp; It had an automatic feeder.]</i><br   />
<br  />
<b>Him:</b> "This is a GREAT deal!&nbsp; It's the best deal you're gonna get!"<br  />
<b>Us:</b> "You told us that with the deal you offered us yesterday, and the deal you offered us two days ago.&nbsp; But each time you've said that you've later offered us a better deal."<br  />
<b>Him:</b> "But this IS the best deal you're gonna get.&nbsp; You're just gonna have to trust me."<br  />
<i>[Three days later, he offered us yet a better deal.&nbsp; We selected a competitor.]</i><br   />
<br  />
<b>Him:</b> "You could go with [model A], or you could go with [model B] for just $30 more per month."<br  />
<b>Us:</b> "What's [model B] do?"<br  />
<b>Him:</b> "It's..." <i>[shrugs]</i> "...better.&nbsp; Better built."<br  />
<b>Us:</b> "So your [model A] isn't well-built?"<br  />
<b>Him:</b> "Oh, [model A] is well-built too."<br  />
<b>Us:</b> "What features does it not have that [model B] does?"<br  />
<b>Him:</b> "Not...really any.&nbsp; But it's better.&nbsp; In your case I'd recommend it."<br />
<br  />
<i>[he wanted us to take a refurb]</i><br  />
<b>Him:</b> "You can tell it's been well-taken care of.&nbsp; You can just tell by lookin' at it."<br  />
<b>Us:</b> "It's...got scratches and dents all over it."<br  />
<b>Him:</b> "Yeah, but it it works well.&nbsp; Inside.&nbsp; You can just tell by lookin' at it."<br  />
<b>Us:</b> "Ok.&nbsp; How can you tell that?"<br  />
<i>[We expected some sort of explanation for his claim.&nbsp; Apparently our question was not specific enough.]</i><br  />
<b>Him:</b> "By lookin' at it!"<br />
<br  />
<b>Him:</b> "Oh, a binding machine!&nbsp; When you want to replace that, talk to me!&nbsp; I know all about those!"<br  />
<b>Us:</b> "That's a paper cutter."<br />
<br  />
<b>Him:</b> "So, when you're thinking about replacing your machine, just give me a call!"<br  />
<b>Us:</b> "We doubt we'll be doing that.&nbsp; The current one breaks down all the time and it's terribly frustrating to use.&nbsp; It's also too expensive for the amount we use it."<br  />
<b>Him:</b> "Well, I'm sure you'll like our newest model.&nbsp; I could let it go at [price that's much more than what we're paying]."<br  />
<b>Us:</b> "That's even FURTHER from being cost-effective."<br  />
<b>Him:</b> "Well, we're not going to know that for sure, are we?&nbsp; Not until we come in and do a complete collective cost-comparison analysis!"<br  />
<i>[We are NOT going to purchase anything from a salesman who can't even think of a buzzword for "analysis" that starts with a C.]</i><br   />
]]></content:encoded>
			<wfw:commentRss>http://www.toao.net/441-business-equipment-leasing-tips/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free Skype-to-SIP Software!</title>
		<link>http://www.toao.net/440-free-skype-to-sip-software</link>
		<comments>http://www.toao.net/440-free-skype-to-sip-software#comments</comments>
		<pubDate>Mon, 26 Apr 2010 02:47:14 +0000</pubDate>
		<dc:creator>Mango</dc:creator>
				<category><![CDATA[VoIP]]></category>

		<guid isPermaLink="false">http://www.toao.net/?p=440</guid>
		<description><![CDATA[We don't like Skype.&#160; Actually, that's not true.&#160; We like the concept of Skype, that is, making free calls to people via the Internet.&#160; We just don't like having to use a computer to do it.&#160; We got all excited when we read about Skype for Asterisk, thinking it would be an easy way to [...]]]></description>
			<content:encoded><![CDATA[<br />We don't like Skype.&nbsp; Actually, that's not true.&nbsp; We like the <i>concept</i> of Skype, that is, making free calls to people via the Internet.&nbsp; We just don't like having to use a computer to do it.&nbsp; We got all excited when we read about Skype for Asterisk, thinking it would be an easy way to receive calls from our Skype-using friends, on a regular phone.<br />
<br />
But then we kept reading and said, "Sixty-six dollars <i>per channel</i>!?&nbsp; Forget that!"<br />
<br />
Fortunately, there is a cheaper - and in fact, free - way of accomplishing the same thing.<br />
<br  />
<span id="more-440"></span><br   />
<br />
We accomplished this with <a href='http://www.mhspot.com/sts/siptosis.html' target='_blank'>Skype-to-SIP Software called SipToSis</a>.&nbsp; SipToSis does exactly what it advertises and is exceedingly configurable - so much so that it practically made us salivate.&nbsp; Now, we can receive Skype calls via an IP Phone or ATA, make Skype calls using a SIP URI, trigger the phone to dial a Skype user via the computer, and even route Skype calls to voicemail if we don't pick up the phone.<br />
<br />
We configured Skype and SipToSis as a Windows service so that Windows would automatically restart it if it was accidentally closed, and so there wouldn't be an annoying command prompt window open all the time.&nbsp; The fine people who wrote SipToSis also wrote a program called Appicus which allows you to run any program as a Windows service.&nbsp; It's low cost, but not free.&nbsp; So, to <a href='http://www.codeproject.com/kb/system/xyntservice.aspx' target='_blank'>run Windows programs as a service</a> we decided to use <a href='http://www.codeproject.com/kb/system/xyntservice.aspx' target='_blank'>XYNTService</a>.<br />
<br />
We made a few changes to SipToSis' defaultsiptosis.cfg file.&nbsp; Here are the <b>changes only</b>:<br />


<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;"># Once we got everything working properly, we turned off logging.
<span style="color: #000099;">logConfigFile</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">none</span>
# Check every minute to be sure Skype is still here.
<span style="color: #000099;">connectorWatchDogMinutes</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">1</span>
# Our internet connection experiences very little jitter so we set the jitter buffer to the lowest level.
<span style="color: #000099;">jitterLevel</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">1</span>
# We had to set skypeUserId to make XYNTService work.
<span style="color: #000099;">skypeUserId</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">mangosUserIdGoesHere</span>
# We disabled this because we don't use DTMF on Skype and it uses less CPU.
<span style="color: #000099;">enableSkypeDtmfDetector</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">no</span>
# If we made a Skype call on the computer, SipToSis should ring the phone and wait for us to answer before calling the remote user.
<span style="color: #000099;">JoinManualSkypeOutboundCallToSip</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">yes</span></pre></div></div>
We configured the rest of the configuration files in the way that the manual suggested.<br />
<br />
Here's how we configured XYNTService:<br />


<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;"><span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>Settings<span style="">&#93;</span></span>
<span style="color: #000099;">ServiceName</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> SipToSis</span>
<span style="color: #000099;">CheckProcessSeconds</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 300</span>
&nbsp;
<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>Process0<span style="">&#93;</span></span>
<span style="color: #000099;">CommandLine</span> <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #933;">&quot;java.exe -Xms24m -Xmx24m -Djava.library.path=. -classpath tritonus_gsm-0.3.6.jar;tritonus_share-0.3.6.jar;jmf.jar;jspeex.jar;sip.jar;ua.jar;mailapi.jar;smtp.jar;activation.jar;skype.jar;log4j-1.2.15.jar;siptosis.jar;. local.ua.SkypeUA&quot;</span>
<span style="color: #000099;">WorkingDir</span> <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #933;">&quot;C:\Program Files\SipToSis&quot;</span>
<span style="color: #000099;">PauseStart</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 1000</span>
<span style="color: #000099;">PauseEnd</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 1000</span>
<span style="color: #000099;">UserInterface</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> No</span>
<span style="color: #000099;">Restart</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> Yes</span>
<span style="color: #000099;">UserName</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> Mango's Windows Username</span>
<span style="color: #000099;">Domain</span> <span style="color: #000066; font-weight:bold;">=</span>
<span style="color: #000099;">Password</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> Mango's Windows Password</span>
&nbsp;
<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>Process1<span style="">&#93;</span></span>
<span style="color: #000099;">CommandLine</span> <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #933;">&quot;C:\Program Files\Skype\Phone\Skype.exe /minimized&quot;</span>
<span style="color: #000099;">WorkingDir</span> <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #933;">&quot;C:\Program Files\Skype\Phone&quot;</span>
<span style="color: #000099;">PauseStart</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 1000</span>
<span style="color: #000099;">PauseEnd</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 2000</span>
<span style="color: #000099;">UserInterface</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> Yes</span>
<span style="color: #000099;">Restart</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> Yes</span>
<span style="color: #000099;">UserName</span> <span style="color: #000066; font-weight:bold;">=</span>
<span style="color: #000099;">Domain</span> <span style="color: #000066; font-weight:bold;">=</span>
<span style="color: #000099;">Password</span> <span style="color: #000066; font-weight:bold;">=</span></pre></div></div>
Enjoy!]]></content:encoded>
			<wfw:commentRss>http://www.toao.net/440-free-skype-to-sip-software/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seamless Email Server Migration</title>
		<link>http://www.toao.net/438-seamless-email-server-migration</link>
		<comments>http://www.toao.net/438-seamless-email-server-migration#comments</comments>
		<pubDate>Sat, 13 Mar 2010 19:17:24 +0000</pubDate>
		<dc:creator>Mango</dc:creator>
				<category><![CDATA[Web Programming and Admin]]></category>

		<guid isPermaLink="false">http://www.toao.net/?p=438</guid>
		<description><![CDATA[Those of you who run your own email servers will likely need to move from server to server from time to time.&#160; It would be nice if you could just change an MX record and have all email instantly arrive at the new server.&#160; Unfortunately, for various reasons, not everyone obeys TTL, and may cache [...]]]></description>
			<content:encoded><![CDATA[<br />Those of you who run your own email servers will likely need to move from server to server from time to time.&nbsp; It would be nice if you could just change an MX record and have all email instantly arrive at the new server.&nbsp; Unfortunately, for various reasons, not everyone obeys TTL, and may cache the old MX record for an unknown period of time.&nbsp; Here's a list of basic instructions for how to migrate your email from one server to another, guaranteeing that no email will fall through the cracks.<br />
<br  />
<span id="more-438"></span><br   />
<br />

<ol><li>Before you start, be sure the new email server is configured exactly as you please.&nbsp; Make sure that your SPF records are correct and DomainKeys is working.</li>
<li>Change the TTL of your mail server's DNS record to something short like five minutes.&nbsp; Do this at least the length of your previous TTL before the migration.</li>
<li>Several hours before the migration, disable "Leave mail on server" for any users that use POP3.&nbsp; (The POP3 clients will download multiple copies of mail left on the server.)</li>
<li>Create all your email accounts on the new server, exactly as they are on the old server.</li>
<li>Create a subdomain on the new server, something like tempmail.example.com.</li>
<li>Create an alias (forwarder) for each mail account on the new server.&nbsp; If you have an account murphy@example.com, create an alias murphy@tempmail.example.com that forwards to murphy@example.com.</li>
<li>Create an alias (forwarder) for each mail account on the old server.&nbsp; If you have an account murphy@example.com, create an alias murphy@example.com that forwards to murphy@tempmail.example.com.&nbsp; This way, any mail sent to the old server during the migration will be forwarded to the new server.&nbsp; Send an email to murphy@example.com and be sure it arrives in Murphy's account on BOTH servers.<br />
<br />
The next few steps should be done as quickly as possible so that users notice little to no downtime:<br /><br /></li>
<li>Change everyone's email passwords on the old server to something random so that they are no longer able to log in to the old server.</li>
<li>Use rsync or a similar tool to synchronize the mail folders from the old server to the new one.</li>
<li>Change the MX record for example.com so that it points to the new server.</li>
<li>Change any DNS records or redirects to webmail so that they point to the new server.</li>
<li>Change any DNS records for the POP3/SMTP/IMAP servers so that they point to the new server.</li>
<li>Reinstate "Leave mail on server" for POP3 clients, if appropriate.</li></ol>
<br />
Congratulations!&nbsp; If all went according to plan, nobody noticed.]]></content:encoded>
			<wfw:commentRss>http://www.toao.net/438-seamless-email-server-migration/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No, Really, I Don&#039;t Need a Bag!</title>
		<link>http://www.toao.net/437-no-really-i-dont-need-a-bag</link>
		<comments>http://www.toao.net/437-no-really-i-dont-need-a-bag#comments</comments>
		<pubDate>Fri, 05 Mar 2010 16:11:50 +0000</pubDate>
		<dc:creator>Mango</dc:creator>
				<category><![CDATA[Humor]]></category>

		<guid isPermaLink="false">http://www.toao.net/?p=437</guid>
		<description><![CDATA[I hear that some places around the world have banned plastic bags. Vancouver is not included in this, however some stores such as Whole Foods have voluntarily quit giving them out. Others charge for bags to encourage customers to bring their own. And when you think about how many plastic bags probably end up in [...]]]></description>
			<content:encoded><![CDATA[<br />I hear that some places around the world have banned plastic bags. Vancouver is not included in this, however some stores such as Whole Foods have voluntarily quit giving them out. Others charge for bags to encourage customers to bring their own. And when you think about how many plastic bags probably end up in the trash, I think it's a great idea! So I, being relatively environmentally conscious, bring a reusable bag for my shopping as much as possible.<br />
<br />
Of course, me being Mango, and thus more than relatively eccentric, I take things a bit farther than that.<br />
<br  />
<span id="more-437"></span><br   />
<br />
I never use disposable products unless I think it's absolutely necessary. For example, if I decide I want to eat lunch from a takeout place, I bring a plate, much to my co-workers' amusement.<br />
<br />
I have discovered that the practice of not wanting to use disposable products is confusing. In fact, at times I get reactions similar to what I would expect if I asked, "Hi, I'd like a veggie stir-fry on brown rice, and for a 20% tip, you'll need to solve a Sudoku puzzle in under three minutes!"<br />
<br />
<br  />
<strong><u>Case in point:</u></strong><br   />
<br />
Cashier: "Paper or plastic?"<br />
Me: "I don't need a bag. Thanks though!"<br />
Cashier: "Okay, great!" <em>[starts putting my things in a plastic bag]</em><br   />
Me: "I actually don't need a bag. Thanks though!"<br />
Cashier: <em>[big smile]</em> "Okay, great!" <em>[continues putting my things in the bag]</em><br   />
Me: <em>[Pays, takes my things out of the bag, and walks out of the store]</em><br   />
Cashier: "WELL YOU COULD HAVE TOLD ME YOU DIDN'T WANT A BAG!"<br />
<br />
<br  />
<strong><u>I decided to start saying something I thought was funny to see if they noticed.</u></strong><br   />
<br />
Cashier: "Paper or plastic?"<br />
Me: "No bag, thanks. Just trying to save whatever kind of tree plastic comes from!"<br />
<br />
This worked, but a few weeks later I saw written on an internet forum "<img src='http://travelblog.toao.net/pub/hawaii/censored.gif' style='width:34px;height:15px;' alt='#@$%' />!!!! If one more customer uses that <img src='http://travelblog.toao.net/pub/hawaii/censored.gif' style='width:34px;height:15px;' alt='#@$%' />ing 'save a plastic tree' line I'm gonna <img src='http://travelblog.toao.net/pub/hawaii/censored.gif' style='width:34px;height:15px;' alt='#@$%' /> him up real good!"<br />
<br />
So I decided to stop using that line. Apparently, other customers have the same sense of humor as me, and it got annoying.<br />
<br />
<br  />
<strong><u>Wherein I am responsible for an entire fast-food restaurant grinding to a halt.</u></strong><br   />
<br />
Once, I was at a food court getting lunch. I note I did not have my plate with me this time, which was a good thing, because I don't think they'd have been able to handle it. They were giving out trays with things like lots of plastic cutlery, condiments, an empty drink container with lid and straw, a handful of napkins, and a paper place mat, most of which I didn't need.<br />
<br />
Cashier: "Take tray!"<br />
Me: "No, I don't need one, thanks though!"<br />
Cashier: "Not want tray?"<br />
Me: "No, thank you!"<br />
Chef: "Take tray!"<br />
Me: "No thanks - just my lunch please!"<br />
Chef: <span style='font-size:25pt;font-weight:bold;line-height:normal;'>"TAKE TRAY."</span><br   />
<br />
By this point I realize I'm causing a minor scene, but those of you who know me know I enjoy a nice fuss from time to time. And, at least I was doing it with no effort whatsoever while being perfectly polite. As I left, (fortunately with my food), I noticed that the entire staff of the restaurant had stopped whatever they were doing to stare at me. As I walked away, I heard the chef explain to the cashier, "He no <em>want </em>tray."<br />
<br />
<br  />
<strong><u>This guy may have had a point, but I don't know what it was.</u></strong><br   />
<br />
I was at a store buying something. I didn't have far to go, and of course, I'm the Eccentric Environmentalist, so I told the guy at the desk I didn't need a bag. He stops and thinks about that for a second, but puts it in the bag anyway. Then he comes right around to my side of the counter to hand it to me. And he leans down (I'm short) to whisper in my ear, as if it's all some big secret.<br />
<br />
I admit, I'm intrigued. By crackey, if there is a plastic bag secret, you can bet I want to hear it.<br />
<br />
"Take bag!" he whispers. "In case..." <em>[he pauses for emphasis] </em>"...of <em>security</em>!"<br />
<br />
Okay, I'll take the bag if you really want me to that much. But...wait, what?? In case of...security!? At first I thought this was one of those stores where the guards assume you're shoplifting if you don't have your item in a bag. (THAT's another story.) But I look around and it's only me and him in this tiny little store. Besides, I'm three feet from the door. I still don't <em>really </em>know what he meant.<br />
<br />
<br  />
<strong><u>Weary, I considered myself beaten.</u></strong><br   />
<br />
I went to a bakery for a snack. True to form, I had a plate in my pocket.<br />
<br />
Me: "May I please have a raisin muffin? And, er, I know it might be a bit strange, but could you put it on this plate please?"<br />
Baker: "Of course!" <em>[gets a raisin muffin, gets out a bag...]</em><br   />
Me: "You know what, I don't even need the bag! <img src='http://www.toao.net/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Just on the plate is fine!" (Yes, I even vocalized the smiley.)<br />
Baker: "Oh, sure! <img src='http://www.toao.net/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> " <em>[puts away the bag, gets out a piece of parchment and puts it on the plate...]</em><br   />
Me: "Actually, I'm fine with the muffin just on the plate. I like to <img src='http://www.toao.net/wordpress/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> recycle and stuff," I explain.<br />
Baker: "All right!"<em> [puts away the parchment, gets out a damn <strong>paper napkin</strong>, puts it on the plate, puts the raisin muffin on top, and triumphantly presents it to me.]</em><br   />
<br />
Weary, and wanting my raisin muffin, I considered myself beaten.<br />
<br />
I saved the napkin.]]></content:encoded>
			<wfw:commentRss>http://www.toao.net/437-no-really-i-dont-need-a-bag/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Making the Simply Accounting Session Date default to today</title>
		<link>http://www.toao.net/38-making-the-simply-accounting-session-date-default-to-today</link>
		<comments>http://www.toao.net/38-making-the-simply-accounting-session-date-default-to-today#comments</comments>
		<pubDate>Thu, 04 Mar 2010 11:01:52 +0000</pubDate>
		<dc:creator>Mango</dc:creator>
				<category><![CDATA[Simply Accounting]]></category>

		<guid isPermaLink="false">http://www.toao.net/38/making-the-simply-accounting-session-date-default-to-today/</guid>
		<description><![CDATA[In Simply Accounting, the Session Date is used for default dates of transactions.&#160; When one creates, for example, an invoice, the date is automatically assumed to be whatever the Session Date is.&#160; We've found no way to change the default of the Session Date from within Simply, but this can be accomplished by this handy [...]]]></description>
			<content:encoded><![CDATA[<br />In Simply Accounting, the Session Date is used for default dates of transactions.&nbsp; When one creates, for example, an invoice, the date is automatically assumed to be whatever the Session Date is.&nbsp; We've found no way to change the default of the Session Date from within Simply, but this can be accomplished by this handy script.<br />
<br  />
<span id="more-38"></span><br   />
<br />
We are updating this post from two years ago.&nbsp; For some reason, the VBScript we wrote before quit working, due to something about the focus on the Session Date window.&nbsp; We couldn't make it work and decided it was less trouble to rewrite the script with <a href="http://www.autohotkey.com/" target="_blank">AutoHotkey</a>.<br />
<br />
Here is the compiled version: <a href='/pub/SetSimplySessionDate.exe'>SetSimplySessionDate.exe</a>.&nbsp; Use it by creating a shortcut to <b>SetSimplySessionDate.exe c:\path\to\your\datafile.sai</b>.&nbsp; For any programmers here, we include the source code below:<br />


<div class="wp_syntax"><div class="code"><pre class="autoit" style="font-family:monospace;"><span style="font-style: italic; color: #009933;">; SetSimplySessionDate - Automatically set the session date when opening Simply Accounting.</span>
<span style="font-style: italic; color: #009933;">; by Mango - http://www.toao.net/</span>
&nbsp;
<span style="font-style: italic; color: #009933;">; No point in this running more than once.</span>
#SingleInstance force
&nbsp;
<span style="font-style: italic; color: #009933;">; Find out if the user has specified a data file</span>
<span style="color: #0000FF; font-weight: bold;">If</span> <span style="color: #FF0000; font-weight: bold;">&#40;</span>%0% <span style="color: #FF0000; font-weight: bold;">==</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">0</span><span style="color: #FF0000; font-weight: bold;">&#41;</span> <span style="color: #FF0000; font-weight: bold;">&#123;</span>
 <span style="color: #000080; font-style: italic; font-weight: bold;">MsgBox</span> % <span style="font-weight: bold; color: #008080;">&quot;You must specify the path and file name of a data file.  Example: SetSimplySessionDate.exe &quot;</span><span style="font-weight: bold; color: #008080;">&quot;c:\accounting\company.sai&quot;</span><span style="font-weight: bold; color: #008080;">&quot;&quot;</span>
 <span style="color: #0000FF; font-weight: bold;">Exit</span>
 <span style="color: #FF0000; font-weight: bold;">&#125;</span>
DataFile <span style="color: #FF0000; font-weight: bold;">=</span> %1%
&nbsp;
<span style="font-style: italic; color: #009933;">; Run Simply Accounting</span>
<span style="color: #000080; font-style: italic; font-weight: bold;">Run</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">%DataFile</span>%<span style="color: #FF0000; font-weight: bold;">,</span> <span style="color: #FF0000; font-weight: bold;">,</span> UseErrorLevel
<span style="color: #0000FF; font-weight: bold;">If</span> <span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">%ErrorLevel</span>% <span style="color: #FF0000; font-weight: bold;">==</span> ERROR<span style="color: #FF0000; font-weight: bold;">&#41;</span> <span style="color: #FF0000; font-weight: bold;">&#123;</span>
 <span style="color: #000080; font-style: italic; font-weight: bold;">MsgBox</span> % DataFile <span style="color: #FF0000; font-weight: bold;">.</span> <span style="font-weight: bold; color: #008080;">&quot; could not be loaded.  Be sure that the path to the file is correct.&quot;</span>
 <span style="color: #0000FF; font-weight: bold;">Exit</span>
 <span style="color: #FF0000; font-weight: bold;">&#125;</span>
&nbsp;
<span style="font-style: italic; color: #009933;">; Wait until it's active, or time out if it never becomes active</span>
<span style="color: #000080; font-style: italic; font-weight: bold;">WinWait</span><span style="color: #FF0000; font-weight: bold;">,</span> Simply Accounting <span style="color: #FF0000; font-weight: bold;">-</span> Session Date<span style="color: #FF0000; font-weight: bold;">,</span> <span style="color: #FF0000; font-weight: bold;">,</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">60</span>
<span style="color: #0000FF; font-weight: bold;">If</span> <span style="color: #FF0000; font-weight: bold;">&#40;</span>ErrorLevel <span style="color: #FF0000; font-weight: bold;">==</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span><span style="color: #FF0000; font-weight: bold;">&#41;</span> <span style="color: #FF0000; font-weight: bold;">&#123;</span>
 <span style="color: #0000FF; font-weight: bold;">Exit</span>
 <span style="color: #FF0000; font-weight: bold;">&#125;</span>
<span style="color: #000080; font-style: italic; font-weight: bold;">WinActivate</span><span style="color: #FF0000; font-weight: bold;">,</span> Simply Accounting <span style="color: #FF0000; font-weight: bold;">-</span> Session Date
&nbsp;
<span style="font-style: italic; color: #009933;">; Type in today's date.</span>
FormatTime<span style="color: #FF0000; font-weight: bold;">,</span> TimeString<span style="color: #FF0000; font-weight: bold;">,</span> <span style="color: #FF0000; font-weight: bold;">,</span> ShortDate
<span style="color: #000080; font-style: italic; font-weight: bold;">ControlSetText</span><span style="color: #FF0000; font-weight: bold;">,</span> Edit1<span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">%TimeString</span>%
<span style="color: #000080; font-style: italic; font-weight: bold;">Send</span> <span style="color: #FF0000; font-weight: bold;">&#123;</span>Enter<span style="color: #FF0000; font-weight: bold;">&#125;</span></pre></div></div>
Note: This requires the "Show Change Session Date at Startup" option to be enabled.&nbsp; To do this, load Simply Accounting normally. From the Setup menu, select User Preferences. In the left column, select View. Place a check in “Show Change Session Date at Startup”.<br />
<br />
<br />
We include the old VBScript below, however we recommend using the new version instead.<br />


<div class="wp_syntax"><div class="code"><pre class="vb" style="font-family:monospace;"><span style="color: #008000;">' Script to automatically set the Simply Accounting session date
</span><span style="color: #008000;">' By Mango - March 17, 2008
</span>
<span style="color: #008000;">' Find out if the user has specified a data file
</span><span style="color: #000080;">If</span> WScript.Arguments.Count = 0 <span style="color: #000080;">Then</span>
 MsgBox <span style="color: #800000;">&quot;No data file specified!&quot;</span>
 wscript.quit
 <span style="color: #000080;">End</span> <span style="color: #000080;">If</span>
&nbsp;
<span style="color: #008000;">' Set datafile
</span>datafile = WScript.Arguments(0)
&nbsp;
<span style="color: #008000;">' Create the Wscript.Shell object.
</span><span style="color: #000080;">Set</span> shell = CreateObject(<span style="color: #800000;">&quot;Wscript.Shell&quot;</span>)
&nbsp;
<span style="color: #008000;">' Run Simply Accounting
</span>shell.run <span style="color: #800000;">&quot;&quot;</span><span style="color: #800000;">&quot;&quot;</span> &amp; datafile &amp; <span style="color: #800000;">&quot;&quot;</span><span style="color: #800000;">&quot;&quot;</span>
&nbsp;
<span style="color: #008000;">' Wait until it's active, or time out if it never becomes active
</span><span style="color: #000080;">Do</span> <span style="color: #000080;">Until</span> shell.AppActivate(<span style="color: #800000;">&quot;Simply Accounting - Session Date&quot;</span>)
 Wscript.Sleep 250
 Tries = Tries + 1
 <span style="color: #000080;">If</span> Tries &gt; 200 <span style="color: #000080;">Then</span> wscript.quit
<span style="color: #000080;">Loop</span>
&nbsp;
<span style="color: #008000;">' Type in today's date
</span>shell.SendKeys <span style="color: #000080;">date</span> &amp; <span style="color: #800000;">&quot;{ENTER}&quot;</span></pre></div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.toao.net/38-making-the-simply-accounting-session-date-default-to-today/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Change Back/Forward buttons to Previous/Next</title>
		<link>http://www.toao.net/433-change-backforward-buttons-to-previousnext</link>
		<comments>http://www.toao.net/433-change-backforward-buttons-to-previousnext#comments</comments>
		<pubDate>Tue, 23 Feb 2010 03:06:02 +0000</pubDate>
		<dc:creator>Mango</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.toao.net/?p=433</guid>
		<description><![CDATA[Over the past few weeks we've been testing the Microsoft ComfortCurve Keyboard 2000 and we love it!&#160; Its keys are nice and responsive, it's comfortable to use, and its buttons are in very intuitive places.&#160; The best part is it's practically a steal - we've seen it for as low as $15.&#160; It has only [...]]]></description>
			<content:encoded><![CDATA[<br />Over the past few weeks we've been testing the Microsoft ComfortCurve Keyboard 2000 and we love it!&nbsp; Its keys are nice and responsive, it's comfortable to use, and its buttons are in very intuitive places.&nbsp; The best part is it's practically a steal - we've seen it for as low as $15.&nbsp; It has only one minor flaw which is that there are very few multimedia buttons.&nbsp; There are play/pause, volume up/down, and mute.&nbsp; But there are no buttons for stop, previous, or next.<br />
<br />
There were however browser Back/Forward buttons.&nbsp; And we never use the mute button.&nbsp; For some reason, SharpKeys, which we've used in the past wouldn't do the job.&nbsp; The keyboard came with software called IntelliType but it used a great deal of RAM and, oddly, slowed down our cursor a great deal.&nbsp; No matter.&nbsp; This is an excellent excuse to point out again just how much we like <a href="http://www.autohotkey.com/" target="_blank">AutoHotkey</a>.<br />


<div class="wp_syntax"><div class="code"><pre class="autoit" style="font-family:monospace;"><span style="color: #F000FF; font-style: italic;">#NoTrayIcon</span>
#SingleInstance force
Browser_Back::Media_Prev
Browser_Forward::Media_Next
Volume_Mute::Media_Stop</pre></div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.toao.net/433-change-backforward-buttons-to-previousnext/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disable Targus PowerPoint Remote Buttons</title>
		<link>http://www.toao.net/432-disable-targus-powerpoint-remote-buttons</link>
		<comments>http://www.toao.net/432-disable-targus-powerpoint-remote-buttons#comments</comments>
		<pubDate>Tue, 16 Feb 2010 21:43:03 +0000</pubDate>
		<dc:creator>Mango</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.toao.net/?p=432</guid>
		<description><![CDATA[A company called Targus makes remote controls designed for use with PowerPoint presentations.&#160; They allow you to control your presentation from some distance away from the actual computer running the show. While this sounds like a great idea in theory, in practice these remotes are BEYOND frustrating.&#160; The reason is that there are too many [...]]]></description>
			<content:encoded><![CDATA[<br />A company called Targus makes remote controls designed for use with PowerPoint presentations.&nbsp; They allow you to control your presentation from some distance away from the actual computer running the show.<br />
<br />
While this sounds like a great idea in theory, in practice these remotes are BEYOND frustrating.&nbsp; The reason is that there are too many buttons, and pressing the wrong button at the wrong time will make the presentation quit working.&nbsp; And no matter how carefully we instruct the presenter to recover from such incidents, ("If everything stops working press this button labeled Magic Fix-It Button!") ostensibly they will forget.&nbsp; Every.&nbsp; Single.&nbsp; Time.<br />
<br />
These buttons, they must be disabled.<br />
<br  />
<span id="more-432"></span><br   />
<br />
We wanted to solve two problems.&nbsp; The first was the button designed to switch applications.&nbsp; It's an excellent idea, but for some reason it doesn't work properly.&nbsp; You can switch out of your presentation, but you can't switch back.&nbsp; The second was the button that suddenly blanks the screen.&nbsp; We are told that this button is coronary-inducing.<br />
<br />
We wrote the following script using the excellent and free <a href="http://www.autohotkey.com/" target='_blank'>AutoHotkey</a> program.&nbsp; It works like a charm, in both PowerPoint and OpenOffice.org Impress.&nbsp; If you don't have AutoHotkey, we used its compiler to make an EXE file.&nbsp; You may simply download the file to <a href='/pub/Disable_Targus_Buttons.exe'>disable Targus PowerPoint Remote buttons</a>.<br />


<div class="wp_syntax"><div class="code"><pre class="autoit" style="font-family:monospace;"><span style="font-style: italic; color: #009933;">; Disable Targus Remote Buttons - by Mango - http://www.toao.net/</span>
#SingleInstance force
&nbsp;
<span style="font-style: italic; color: #009933;">; First, disable Alt+Shift+Tab.</span>
!<span style="color: #FF0000; font-weight: bold;">+</span>Tab::<span style="color: #0000FF; font-weight: bold;">Return</span>
&nbsp;
<span style="font-style: italic; color: #009933;">; Next, disable Shift+Alt, a byproduct of disabling Alt+Shift+Tab.</span>
<span style="color: #FF0000; font-weight: bold;">+</span>Alt::
&nbsp;
<span style="font-style: italic; color: #009933;">; If a window is active named &quot;PowerPoint Slide Show&quot;, disable the 'b' key as it will blank the screen.</span>
#IfWinActive<span style="color: #FF0000; font-weight: bold;">,</span> PowerPoint Slide Show
 <span style="color: #FF0000; font-weight: bold;">&#123;</span>
 b::<span style="color: #0000FF; font-weight: bold;">Return</span>
 <span style="color: #FF0000; font-weight: bold;">&#125;</span>
&nbsp;
<span style="font-style: italic; color: #009933;">; Disable the 'b' key in OpenOffice.org Impress.</span>
#IfWinActive<span style="color: #FF0000; font-weight: bold;">,</span> ahk_class SALTMPSUBFRAME
 <span style="color: #FF0000; font-weight: bold;">&#123;</span>
 b::<span style="color: #0000FF; font-weight: bold;">Return</span>
 <span style="color: #FF0000; font-weight: bold;">&#125;</span></pre></div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.toao.net/432-disable-targus-powerpoint-remote-buttons/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Which Email Providers are the Most Popular?</title>
		<link>http://www.toao.net/431-most-popular-email-providers</link>
		<comments>http://www.toao.net/431-most-popular-email-providers#comments</comments>
		<pubDate>Wed, 10 Feb 2010 01:37:02 +0000</pubDate>
		<dc:creator>Mango</dc:creator>
				<category><![CDATA[Web Programming and Admin]]></category>

		<guid isPermaLink="false">http://www.toao.net/?p=431</guid>
		<description><![CDATA[At Mango's day job, he operates a mailing list for his customers.&#160; Approximately 2,000 customers have subscribed to it.&#160; He wanted to set up test email accounts with various webmail providers to be sure his emails arrived as intended.&#160; But which webmail providers should he choose?&#160; The most popular email providers were easily found with [...]]]></description>
			<content:encoded><![CDATA[<br />At Mango's day job, he operates a mailing list for his customers.&nbsp; Approximately 2,000 customers have subscribed to it.&nbsp; He wanted to set up test email accounts with various webmail providers to be sure his emails arrived as intended.&nbsp; But which webmail providers should he choose?&nbsp; The most popular email providers were easily found with this MySQL query:<br />


<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SELECT</span>
<span style="color: #000099;">SUBSTRING</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008000;">`email`</span><span style="color: #000033;">,</span> <span style="color: #000099;">LOCATE</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008000;">'@'</span><span style="color: #000033;">,</span> <span style="color: #008000;">`email`</span><span style="color: #FF00FF;">&#41;</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">AS</span> <span style="color: #008000;">`domain`</span><span style="color: #000033;">,</span>
<span style="color: #000099;">COUNT</span><span style="color: #FF00FF;">&#40;</span><span style="color: #CC0099;">*</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">AS</span> <span style="color: #008000;">`count`</span>
<span style="color: #990099; font-weight: bold;">FROM</span> <span style="color: #008000;">`table`</span>
<span style="color: #990099; font-weight: bold;">GROUP BY</span> <span style="color: #008000;">`domain`</span>
<span style="color: #990099; font-weight: bold;">ORDER BY</span> <span style="color: #008000;">`count`</span> <span style="color: #990099; font-weight: bold;">DESC</span></pre></div></div>
For our list, the results were:<br />
<br />
Major regional ISPs - 39%<br />
Hotmail - 14%<br />
Yahoo - 9%<br />
Gmail - 8%<br />
AOL - 1%<br />
<br />
The remaining 29% consisted of small ISPs and insignificant webmail providers, each less than 1% of the total.]]></content:encoded>
			<wfw:commentRss>http://www.toao.net/431-most-popular-email-providers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free Tools for Windows</title>
		<link>http://www.toao.net/430-free-tools-for-windows</link>
		<comments>http://www.toao.net/430-free-tools-for-windows#comments</comments>
		<pubDate>Wed, 10 Feb 2010 01:13:08 +0000</pubDate>
		<dc:creator>Mango</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.toao.net/?p=430</guid>
		<description><![CDATA[Everyone seems to have their list of free Windows applications they can't do without, and here's ours.&#160; All of these are free for the download and their authors deserve a serious hat tip for all of their excellent work.&#160; We list them in alphabetical order: AutoHotkey AutoHotkey is the quintessential keystroke and mouse automator that [...]]]></description>
			<content:encoded><![CDATA[<br />Everyone seems to have their list of free Windows applications they can't do without, and here's ours.&nbsp; All of these are free for the download and their authors deserve a serious hat tip for all of their excellent work.&nbsp; We list them in alphabetical order:<br />
<br  />
<b><a href='http://www.autohotkey.com/' target='_blank'>AutoHotkey</a></b><br   />
AutoHotkey is the quintessential keystroke and mouse automator that you really must try to see just how powerful it is.&nbsp; You can automate almost any program by sending it keystrokes and mouse clicks.&nbsp; You can remap keys on your keyboard or mouse.&nbsp; One of our favourite features is that you may compile your finished script into a single EXE that may be run on any Windows computer.<br />
<br  />
<span id="more-430"></span><br  />
<b><a href='http://id3-tagit.pluemper.name/' target='_blank'>ID3-TagIT 3</a></b><br   />
ID3-TagIT 3 is excellent software for bulk editing of ID3 tags in MP3 files.<br />
<br  />
<b><a href='http://mpc-hc.sourceforge.net/' target='_blank'>Media Player Classic Home Cinema</a></b><br   />
This is our favourite media player.&nbsp; It plays a wide variety of media formats, is simple to use, and best of all, it uses just a few megabytes of RAM.<br />
<br  />
<b><a href='http://notepad-plus.sourceforge.net/' target='_blank'>Notepad++</a></b><br   />
Notepad++ is our favourite text editor.&nbsp; It's fast, colour-codes many languages, supports collapsing of code, and has plenty of other very useful features.&nbsp; Be sure to get the NppAutoIndent plugin.<br />
<br  />
<b><a href='http://www.chiark.greenend.org.uk/~sgtatham/putty/' target='_blank'>PuTTY</a></b><br   />
PuTTY is an excellent Telnet/SSH client.&nbsp; If you currently use the Windows Telnet program, you will no doubt consider PuTTY a breath of fresh air.<br />
<br  />
<b><a href='http://www.erightsoft.com/SUPER.html' target='_blank'>SUPER</a></b><br   />
SUPER provides an excellent user interface for popular audo/video converters.&nbsp; Their developers state, "SUPER does for FREE what other encoders CAN'T do for money!"&nbsp; This is absolutely correct.&nbsp; There are no codecs to install because everything you need comes in a single EXE file.&nbsp; Their website is very difficult to navigate, so here is a <a href='http://www.erightsoft.org/GetFile.php?SUPERsetup.exe' target='_blank'>link to download the setup file</a>.<br />
<br  />
<b>SmartRipper</b><br   />
SmartRipper is an excellent tool for ripping MPEG video from DVDs.&nbsp; We found it difficult to find a free program that would rip the original MPEG video into a single file without transcoding.&nbsp; SmartRipper does.&nbsp; Unfortunately, its author no longer offers it for download but it is easy to find with Google.<br />
<br  />
<b><a href='http://www.faxback.com/msfaxplugin/' target='_blank'>T.38 Plug-In for Microsoft Fax</a></b><br   />
Without a fax machine, and a phone line, and need to send a fax?&nbsp; This plug-in is for you.&nbsp; Get a Pay Per Call account from Callcentric and send faxes with the Microsoft Fax printer driver for just pennies per page.&nbsp; (To clarify, the software is free; Callcentric charges a few cents per minute in termination fees.)<br />
<br  />
<b><a href='http://www.wingrep.com/' target='_blank'>Windows Grep</a></b><br   />
Ever need to search through a large number of files for some specific text?&nbsp; Windows has a built-in tool to do this...but it doesn't always work.&nbsp; Enter Windows Grep, the Windows version of the popular Grep tool.&nbsp; It even supports regular expressions.<br />
<br  />
<b><a href='http://winscp.net/eng/index.php' target='_blank'>WinSCP</a></b><br   />
WinSCP is a great companion to PuTTY and is the best FTP/SFTP client we've ever found.<br />
<br  />
<b><a href='http://www.codeproject.com/KB/system/xyntservice.aspx' target='_blank'>XYNTService Project</a></b><br   />
With the XYNTService Project, you may start any program (including PHP or AutoHotkey scripts) as a Windows Service.&nbsp; It has more features and is easier to use than srvany.exe!<br />
<br  />
<b><a href='http://www.zoiper.com/' target='_blank'>Zoiper</a></b><br   />
The free version of this excellent softphone supports up to three SIP accounts.<br />
<br />
<br />
]]></content:encoded>
			<wfw:commentRss>http://www.toao.net/430-free-tools-for-windows/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatic Read More in Joomla</title>
		<link>http://www.toao.net/182-automatic-read-more-in-joomla</link>
		<comments>http://www.toao.net/182-automatic-read-more-in-joomla#comments</comments>
		<pubDate>Sun, 07 Feb 2010 15:40:22 +0000</pubDate>
		<dc:creator>Mango</dc:creator>
				<category><![CDATA[Joomla]]></category>

		<guid isPermaLink="false">http://www.toao.net/?p=182</guid>
		<description><![CDATA[We've always wanted to be able to set up Joomla to automatically add a "Read More" link for articles in Category Blog or Section Blog Layouts so that the articles would all be the same length and they would line up just as pretty as you please.&#160; Google revealed a handful of other people attempting [...]]]></description>
			<content:encoded><![CDATA[<br />We've always wanted to be able to set up Joomla to automatically add a "Read More" link for articles in Category Blog or Section Blog Layouts so that the articles would all be the same length and they would line up just as pretty as you please.&nbsp; Google revealed a handful of other people attempting the same thing, but having no solution.&nbsp; So Mango wrote a plugin for it.<br />
<br  />
<span id="more-182"></span><br  />
<b>By popular request, we have added the following new features in the new <a href='/pub/plg_AutoReadMore.zip'>Version 1.1 Beta 3</a>:</b><br  />
<ul>
<li>Thumbnails are linked to the full version of the article.</li>
<li>Portuguese and Spanish language files are included.&nbsp; Thanks to the volunteers who translated these!</li>
<li>FJ Related Articles is tentatively supported.</li>
<li>"Developer mode" feature to assist PHP coders in making Auto Read More compatible with other modules.</li>
<li>Bug where special characters were not displayed correctly has been fixed.</li>
<li>Bug where multiple thumbnails were sometimes not displayed correctly has been fixed.</li></ul><br  />
<strong>Features:</strong><br  />
<ul>
<li>Automatically adds "Read more..." link after a configurable number of characters.</li>
<li>Articles with shorter intro text display their intro text only.</li>
<li>Works on the Front Page, Category Blog, or Section Blog.</li>
<li>Will not break HTML or break the article in the middle of a word.</li>
<li>Configurable to ignore specific categories, sections, articles, or the Front Page.</li>
<li>Commented so that you may read through the code and add your own features if you like.</li>
</ul>Latest version (1.1 Beta 3): <a href='/pub/plg_AutoReadMore.zip'>Download Plugin to insert Read More links automatically in Joomla articles</a><br   />
<br  />
<b>Note:</b> If you already use a different version of Auto Read More, <b>you must uninstall it first.</b><br   />
<br />
Old versions: <a href='/pub/plg_AutoReadMore1.0.zip'>1.0</a>, <a href='/pub/plg_AutoReadMore1.1Beta.zip'>1.1 Beta</a>, <a href='/pub/plg_AutoReadMore1.1Beta2.zip'>1.1 Beta 2</a><br   />
<br />
Feature requests, bug reports, and general comments welcome!]]></content:encoded>
			<wfw:commentRss>http://www.toao.net/182-automatic-read-more-in-joomla/feed</wfw:commentRss>
		<slash:comments>40</slash:comments>
		</item>
	</channel>
</rss>
