<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
	<title>Yermo's Blog</title><link>http://yml.com:80/homepage</link><description></description><language>en-us</language><pubDate>Thu, 24 Sep 2009 18:58:22 EST</pubDate><lastBuildDate>Mon, 19 Jul 2010 03:57:29 EST</lastBuildDate><docs>http://blogs.law.harvard.edu/tech/rss</docs><generator>formVista::iCMS BLOG</generator><item><title>Useful Unix/Linux Find command</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=577</link><comments>http://yml.com:80/homepage?article_id=577#comments</comments><description>&lt;p&gt;One of the problems I face these days is that I do too many disparate things. As a result, some uncommon tasks take a little while to get figured out. &lt;/p&gt;   &lt;p&gt;In this particular case I had a directory of photos spanning a few days. I wanted to use the dates of the photos to copy them into separate directories spanning the four days of my trip.&lt;/p&gt;   &lt;p&gt; You can use the Unix/Linux find command to select files that are older or newer than a given other file.&lt;/p&gt;   &lt;p&gt;So for instance, the directory of photos was:&lt;/p&gt;   &lt;p&gt;&lt;font size=&quot;2&quot;&gt;-rwxr-xr-x. 1 yml yml 4468694 Jun 24 22:25 DSC01079.JPG&lt;br /&gt;-rwxr-xr-x. 1 yml yml 4496797 Jun 24 22:34 DSC01080.JPG&lt;br /&gt;-rwxr-xr-x. 1 yml yml 4543774 Jun 24 22:34 DSC01081.JPG&lt;br /&gt;-rwxr-xr-x. 1 yml yml 3852189 Jun 24 23:00 DSC01082.JPG&lt;br /&gt;-rwxr-xr-x. 1 yml yml 3386850 Jun 25 01:41 DSC01083.JPG&lt;br /&gt;-rwxr-xr-x. 1 yml yml 4492462 Jun 25 12:14 DSC01084.JPG&lt;br /&gt;-rwxr-xr-x. 1 yml yml 4515675 Jun 25 15:07 DSC01105.JPG&lt;br /&gt;-rwxr-xr-x. 1 yml yml 3317623 Jun 25 23:02 DSC01118.JPG&lt;br /&gt;-rwxr-xr-x. 1 yml yml 3314088 Jun 25 23:02 DSC01119.JPG&lt;br /&gt;-rwxr-xr-x. 1 yml yml 3584793 Jun 25 23:04 DSC01120.JPG&lt;br /&gt;-rwxr-xr-x. 1 yml yml 3837912 Jun 26 01:11 DSC01121.JPG&lt;br /&gt;-rwxr-xr-x. 1 yml yml 3754608 Jun 26 01:11 DSC01122.JPG&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;   &lt;p&gt;To copy the files for June 25th, one approach is to select the files that are older (i.e. NOT newer than) than DSC01120.JPG, the last photo on the 25th and newer than DSC01082.JPG, the last photo on the 24th.&lt;/p&gt;   &lt;p&gt; &lt;font size=&quot;2&quot;&gt;[yml@nomad 101MSDCF]$ find . -name \*.JPG  -cnewer DSC01082.JPG \! -cnewer DSC01120.JPG -exec cp {} somedirectory&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;</description><pubDate>Mon, 28 Jun 2010 14:08:30 EST</pubDate><guid>http://yml.com:80/homepage?article_id=577</guid></item><item><title>Motorola Droid Faq</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=548</link><comments>http://yml.com:80/homepage?article_id=548#comments</comments><description>&lt;p&gt;For Droid owners:&lt;/p&gt;   &lt;p&gt; &lt;/p&gt;   &lt;p&gt;&lt;a href=&quot;http://androidforums.com/how-tips/17407-motorola-droid-ultra-faq.html%20&quot; target=&quot;_blank&quot;&gt;http://androidforums.com/how-tips/17407-motorola-droid-ultra-faq.html &lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</description><pubDate>Mon, 29 Mar 2010 14:19:26 EST</pubDate><guid>http://yml.com:80/homepage?article_id=548</guid></item><item><title>keyboard auto-repeat on Fedora Core 12</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=547</link><comments>http://yml.com:80/homepage?article_id=547#comments</comments><description>&lt;p&gt;Every once in a while, under Fedora Core 12, keyboard auto-repeat will be turned off for some strange reason. To restore keyboard auto-repeat without having to restart Xwindows use the commant:&lt;/p&gt;   &lt;blockquote&gt;     &lt;p&gt;&lt;strong&gt;xset r&lt;/strong&gt;&lt;/p&gt;   &lt;/blockquote&gt;   &lt;p&gt; See the man page for more information on the xset command.&lt;br /&gt;&lt;/p&gt;</description><pubDate>Mon, 29 Mar 2010 10:24:08 EST</pubDate><guid>http://yml.com:80/homepage?article_id=547</guid></item><item><title>Fedora Core 12 vmware workstation 7 &amp;quot;c header files matching your running kernel&amp;quot; error</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=546</link><comments>http://yml.com:80/homepage?article_id=546#comments</comments><description>&lt;p&gt;I have finally given up on Ubuntu 9.10. I should have done that some time ago.&lt;/p&gt;    &lt;p&gt;I've switched to Fedora Core 12, which I was loathe to do because of some very bad experiences with previous versions. I'm happy to report that FC 12 suffers from none of the problems I saw in Ubuntu. &lt;/p&gt;    &lt;p&gt; Networking works.&lt;/p&gt;    &lt;p&gt;Sound works. &lt;/p&gt;    &lt;p&gt;It's a more &quot;expert developer friendly&quot; distribution than Ubuntu which I would assume also explains why the quality of forum posts about Fedora Core seems to be much higher than Ubuntu. &lt;/p&gt;    &lt;p&gt;I am running on a Dell Vostro 400n; it's a cheap consumer grade SATA machine with an nVidia card:&lt;/p&gt;    &lt;p&gt;[root@humility kernels]# /sbin/lspci -nn | grep 'VGA\|NV'&lt;br /&gt;01:00.0 VGA compatible controller [0300]: nVidia Corporation GeForce 8600 GTS [10de:0400] (rev a1)&lt;br /&gt;&lt;/p&gt;    &lt;p&gt;The installation did not seem to include 3d drivers. This is the one place where the Ubuntu install process was smoother than the Fedora one.&lt;/p&gt;    &lt;p&gt;After some googling around I came across this guide:&lt;/p&gt;    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://forums.fedoraforum.org/showthread.php?t=204752&amp;amp;highlight=nvidia&quot;&gt;http://forums.fedoraforum.org/showthread.php?t=204752&amp;amp;highlight=nvidia&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Which seemed to work like a champ.&lt;/p&gt;    &lt;p&gt;However, it upgraded the kernel to Linux version 2.6.32.9-67.fc12.i686.PAE.&lt;/p&gt;    &lt;p&gt;I went to run VMware expecting it to &quot;just work&quot; and encountered the:&lt;/p&gt;    &lt;blockquote&gt;     &lt;p align=&quot;left&quot;&gt;&lt;strong&gt;&quot;c header files matching your running kernel were not found&quot;&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;   &lt;/blockquote&gt;    &lt;p align=&quot;left&quot;&gt;I did some more searching and there's some talk on the VMware community site that getting VMWare Workstation 7.0.1 to work with the Linux 2.6.32 kernel requires some patches, but there was no mention anywhere that I could find about the kernel headers issue.&lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;Based on a old post for some ancient distribution, I figured out that I needed to install the kernel-PAE-devel package to get the right headers:&lt;/p&gt;    &lt;blockquote&gt;     &lt;p align=&quot;left&quot;&gt;&lt;strong&gt;yum install kernel-PAE-devel&lt;/strong&gt;&lt;/p&gt;   &lt;/blockquote&gt;    &lt;p align=&quot;left&quot;&gt;which installed the kernel-PAE-devel-2.6.32.9-67.fc12.i686 package that included the /usr/src/kernels/2.6.32.9-67.fc12.i686.PAE/ directory.&lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;I re-ran vmware initially as a normal user and it failed to start any compilation. I then re-ran it as root and it compiled the new drivers correctly. Everything seems to work once again.&lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;&lt;br /&gt;&lt;/p&gt;</description><pubDate>Sat, 06 Mar 2010 17:44:51 EST</pubDate><guid>http://yml.com:80/homepage?article_id=546</guid></item><item><title>Slow DNS Lookups in Ubuntu 9.10 (Karmic Koala)</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=545</link><comments>http://yml.com:80/homepage?article_id=545#comments</comments><description>&lt;p&gt;One of the most frustrating things about Ubuntu/Kubuntu 9.10 (and 9.04) is the random but frequent 20 sec DNS lookup delay that happens when IPV6 is enabled. Apparently, the resolver first attempts an IPV6 lookup, even if no interfaces are defined. It will sit and time out, at random, for 20 seconds before attempting the IPV4 lookup.&lt;/p&gt;    &lt;p&gt;There are a number of proposed fixes. One is to turn of IPV6 in firefox. This seems to work for a while, but then fails.&lt;/p&gt;    &lt;p&gt; Here's a link to article about turning off IPV6 in Ubuntu:&lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;http://www.ubuntugeek.com/how-to-disable-ipv6-in-ubuntu.html&quot; target=&quot;_blank&quot;&gt;http://www.ubuntugeek.com/how-to-disable-ipv6-in-ubuntu.html&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;In grub, to turn off IPV6 edit /etc/default/grub and change&lt;/p&gt;    &lt;p&gt; &lt;/p&gt;    &lt;blockquote&gt;      &lt;p&gt;&lt;strong&gt;GRUB_CMDLINE_LINUX_DEFAULT=quiet splash&lt;/strong&gt;&lt;/p&gt;    &lt;/blockquote&gt;    &lt;p&gt;to&lt;/p&gt;    &lt;blockquote&gt;      &lt;p&gt;&lt;strong&gt;GRUB_CMDLINE_LINUX_DEFAULT=ipv6.disable=1 quiet splash&lt;/strong&gt;&lt;/p&gt;    &lt;/blockquote&gt;    &lt;p&gt; run&lt;/p&gt;    &lt;blockquote&gt;      &lt;p&gt; &lt;strong&gt;update-grub&lt;/strong&gt;&lt;/p&gt;    &lt;/blockquote&gt;    &lt;p&gt;and reboot.&lt;/p&gt;    &lt;p&gt;It's not clear to me yet whether this actually works around the problem or not. Initially on reboot, opening 20 some tabs in firefox seemed much quicker than before but I did get a long hang once I brought up thunderbird. So it may not be a fix after all. Only time will tell.&lt;/p&gt;    &lt;p&gt;To turn off IPV6 in firefox (which doesn't seem to work around the issue but is probably good to know):&lt;/p&gt;    &lt;p&gt; &lt;/p&gt;    &lt;p&gt;Enter &lt;strong&gt;about:config&lt;/strong&gt; in the URL bar then and search for:&lt;/p&gt;    &lt;blockquote&gt;      &lt;p&gt;network.dns.disableIPv6&lt;/p&gt;    &lt;/blockquote&gt;    &lt;p&gt;and set it to &lt;strong&gt;true&lt;/strong&gt;. &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;Here's a link to a very long bug report discussion on the subject: &lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/417757?comments=all&quot; target=&quot;_blank&quot;&gt;https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/417757?comments=all&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;2010-02-03 &lt;strong&gt;Update&lt;/strong&gt;:&lt;/p&gt;    &lt;p&gt;Even with all these changes, I was continuing to get DNS timeouts until I came upon this bug in launchpad (which of course I found /after/ commenting on the bug above, figures:&lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;https://bugs.launchpad.net/ubuntu/+source/nss-mdns/+bug/94940&quot; target=&quot;_blank&quot;&gt;https://bugs.launchpad.net/ubuntu/+source/nss-mdns/+bug/94940&lt;/a&gt;&lt;/p&gt;    &lt;p&gt; &lt;/p&gt;    &lt;p&gt;Editing /etc/nsswitch.conf and changing&lt;/p&gt;    &lt;p&gt;   hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4&lt;/p&gt;    &lt;p&gt;to&lt;/p&gt;    &lt;p&gt;   hosts:          files dns&lt;/p&gt;    &lt;p&gt; seems to /finally/ get the DNS lookup performance I would expect.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Update 2010-02-18 - spoke too soon:&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;While initial network connection speeds seem to improve from the steps above, it quickly became apparent that there's still a problem with networking. This seems to happen primarily when I do multiple simultaneous network connections. &lt;/p&gt;    &lt;p&gt;Here's a thread on the subject, which may or may not be useful:&lt;/p&gt;    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://ubuntuforums.org/showthread.php?t=1395866&amp;amp;highlight=slow+internet&quot;&gt;http://ubuntuforums.org/showthread.php?t=1395866&amp;amp;highlight=slow+internet&lt;/a&gt;&lt;/p&gt;   &lt;p&gt;&lt;strong&gt;Update 2010-02-21 - ok, maybe it's &quot;fixed&quot; now&lt;/strong&gt;&lt;/p&gt;   &lt;p&gt;Based on a forum post I read somewhere about the latest kernels implementing some standard too stringently, I decided to try to upgrade the firmware for my DLink DI-707 firewall gadget. It had been a firmware version 2.51. I upgraded it to version 2.57. I immediately noticed an improvement in network performance. My initial tests are not able to reproduce the problem I was seeing, but it's too early to tell for sure.&lt;/p&gt;   &lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description><pubDate>Thu, 28 Jan 2010 23:28:09 EST</pubDate><guid>http://yml.com:80/homepage?article_id=545</guid></item><item><title>Technorati</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=544</link><comments>http://yml.com:80/homepage?article_id=544#comments</comments><description>Submitted this blog to technorati. &lt;br /&gt;    &lt;pre&gt;F82AAZKE9KWM&lt;/pre&gt;</description><pubDate>Fri, 27 Nov 2009 20:09:55 EST</pubDate><guid>http://yml.com:80/homepage?article_id=544</guid></item><item><title>YML.COM Upgraded for formVista 0.8.9.2</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=543</link><comments>http://yml.com:80/homepage?article_id=543#comments</comments><description>&lt;p&gt;I've upgraded the&lt;a href=&quot;http://www.formvista.com&quot; target=&quot;_blank&quot;&gt; formVista install&lt;/a&gt; to the latest and greatest version. This version upgrades &lt;a href=&quot;http://www.jquery.com&quot; target=&quot;_blank&quot;&gt;jQuery to 1.3.2&lt;/a&gt; and also includes the &quot;Share&quot; links on blog articles making it easier to cross post things to other sites. This version also fixes yet another long standing login bug. So if you have any problems logging in &lt;a href=&quot;/formvista/frontend/icms.php/rd/12&quot;&gt;please let me know&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;</description><pubDate>Sat, 07 Nov 2009 15:36:18 EST</pubDate><guid>http://yml.com:80/homepage?article_id=543</guid></item><item><title>End of the World is clearly 2038, not 2012</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=542</link><comments>http://yml.com:80/homepage?article_id=542#comments</comments><description>&lt;p&gt;There's alot of talk about 2012 and the end of the world. This is all clearly false. The end of the world will be on Mon Jan 18, 2038 at 22:14:07. Mark your calendars. &lt;br /&gt;&lt;/p&gt;   &lt;blockquote&gt;     &lt;pre&gt;#include &amp;lt;stdio.h&amp;gt; #include &amp;lt;time.h&amp;gt; #include &amp;lt;limits.h&amp;gt;  int main(void)         {         time_t end_of_time;          end_of_time = INT_MAX;          printf(&quot;End of the world will be: %s\n&quot;,                 asctime(localtime(&amp;amp;end_of_time)), end_of_time );          return(0);          } &lt;/pre&gt;&lt;p&gt;End of the world will be: Mon Jan 18 22:14:07 2038  &lt;/p&gt;   &lt;/blockquote&gt;</description><pubDate>Sat, 17 Oct 2009 15:28:24 EST</pubDate><guid>http://yml.com:80/homepage?article_id=542</guid></item><item><title>Misc Points on Installing TrixBox 2.8.0.1 (Asterisk)</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=541</link><comments>http://yml.com:80/homepage?article_id=541#comments</comments><description>&lt;p&gt;Getting Trixbox 2.8.0.1 up and running has proven to be problematic.&lt;/p&gt;    &lt;p&gt;Here's a link to the &lt;a href=&quot;http://www.trixbox.org/devblog&quot; target=&quot;_blank&quot;&gt;developers blog&lt;/a&gt;. Doing a yum update without doing a &lt;a href=&quot;http://www.trixbox.org/devblog/asterisk-16010&quot; target=&quot;_blank&quot;&gt;yum clean all&lt;/a&gt; followed by removing the kmod-dahdi-linux and dahdi-linux packages (see linked article) will produce dependency conflicts and prevent the update from finishing.&lt;/p&gt;    &lt;p&gt;Further confounding things I ran into this error during the update:&lt;/p&gt;    &lt;p&gt; Transaction Check Error:&lt;br /&gt;  file /lib/modules/2.6.18-128.1.10.el5/extra/avmfritz.ko from install of kmod-mISDN-1.1.7.2-2_centos5.2.6.18_128.1.10.el5.i386 conflicts with file from package kmod-mISDN-1.1.7.2-1_centos5.2.6.18_128.1.10.el5.i686&lt;/p&gt;    &lt;p&gt;Searching online I came across &lt;a target=&quot;_blank&quot; href=&quot;http://www.trixbox.org/forums/trixbox-forums/help/yum-update-error-281&quot;&gt;this post&lt;/a&gt; that suggests doing:&lt;/p&gt;    &lt;p&gt;rpm -e --nodeps kmod-mISDN&lt;br /&gt; yum update&lt;/p&gt;    &lt;p&gt;which seems to work. &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Update 2009-10-12&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;After doing all the updates and going through the handstands of setting up incoming routes, recording some messages, creating an IVR along with some mailboxes, I had it working like a champ on one incoming line with one extension. &lt;/p&gt;    &lt;p&gt;Something to note, when you record greetings from an extension, for some reason it's not including the extensions number in the generated file in the /tmp directory. So you have to manually prepend the extension number onto the file before naming it and clicking submit in the web GUI. (otherwise you get a no such file error).&lt;/p&gt;    &lt;p&gt; I also noticed when using the handset to record messages, if you press the keypad prompts too quickly, asterix gets confused and doesn't recognize the number. It seems to do the same thing when going through the IVR. This could be a problem for users.&lt;br /&gt;&lt;/p&gt;    &lt;p&gt;So I was trying to get the second line, the fax line working, when I ran into a the dreaded &lt;strong&gt;&lt;em&gt;chan_dahdi.c: Detected alarm on channel tdm400&lt;/em&gt;&lt;/strong&gt; error. The line rings, then I get the error in the asterix log file (/var/log/asterix/full). After doing some searching around online, I was unable to find anything that seemed directly relevant.&lt;/p&gt;    &lt;p&gt;So I figured I'd try to setup the PSTN modules by running setup-pstn. Big mistake. Now for some reason both TDM400P ports are unrecognized and I'm back to getting the &lt;strong&gt;&lt;em&gt;No such command 'dahdi show channels' &lt;/em&gt;&lt;/strong&gt;error. Some configuration file or another got screwed up. &lt;/p&gt;    &lt;p&gt;So instead of spending my life trying to track down exactly which driver isn't getting loaded and what the correct configuration changes are, I'm just doing a reinstall. Back to square 1. &lt;/p&gt;    &lt;p&gt;Reinstall:&lt;/p&gt;    &lt;ol&gt;      &lt;li&gt;Install fresh copy of TrixBox 2.8.0.1 from ISO&lt;/li&gt;      &lt;li&gt;the install will hang at some points for what seems like a very long time.&lt;/li&gt;      &lt;li&gt;log in and set network and dns config using system-config-network&lt;/li&gt;      &lt;li&gt;reboot&lt;/li&gt;      &lt;li&gt;DNS settings get lost. Re-run system-network-config&lt;/li&gt;      &lt;li&gt;yum clean all&lt;/li&gt;      &lt;li&gt;to avoid nasty dependency problems: rpm -e --nodeps kmod-dahdi-linux&lt;/li&gt;      &lt;li&gt;rpm -e --nodeps kmod-mISDN&lt;/li&gt;      &lt;li&gt;yum -y update&lt;/li&gt;      &lt;li&gt;reboot for good measure&lt;/li&gt;    &lt;/ol&gt;    &lt;p&gt;at this point the system should be functional. I have noticed that the default postfix install does not work. There's some setting somewhere that's causing it to send mail from trixbox.localdomain instead of the domain I set. Using the trixbox supplied &quot;&lt;em&gt;&lt;strong&gt;install-sendmail&lt;/strong&gt;&lt;/em&gt;&quot; script (see help-trixbox) postfix can be removed and a civilized sendmail install created. You have to manually run sendmail after the install using /etc/rc.d/init.d/sendmail start. Also make sure to enable sendmail to run on reboot using &lt;em&gt;&lt;strong&gt;chkconfig sendmail on&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;    &lt;p&gt;At this point to configure a working simple PBX with a simple voicemail system with a couple of voice mailboxes:&lt;/p&gt;    &lt;ol&gt;      &lt;li&gt;load the Web GUI&lt;/li&gt;      &lt;li&gt;click on the &quot;switch&quot; account link in the upper right hand corner.&lt;/li&gt;      &lt;li&gt;in my case I have a TDM400P card with 1 local port and 2 PSTN ports. You'll want to make sure that TrixBox is seeing the ports correctly. Go to the PBX -&amp;gt; PBX Status menu item. In the middle of the report you should see something like:&lt;br /&gt;Dahdi driver info                                                                 &lt;div&gt;          &lt;div class=&quot;boxbody&quot;&gt;            &lt;pre style=&quot;margin:2px 0px 0px;&quot;&gt;   Chan Extension  Context         Language   MOH Interpret        Blocked    State       pseudo            default         en         default                         In Service       1            from-internal   en         default                         In Service       2            from-pstn       en         default                         In Service       3            from-pstn       en         default                         In Service &lt;/pre&gt;          &lt;/div&gt;        &lt;/div&gt;      &lt;/li&gt;      &lt;li&gt;In my case, I have a physical phone connected to channel 1 (port 0). To set up a physical extension to go PBX-&amp;gt;PBX Settings and select the Extensions menu on the left (top of the menu under Basic)&lt;/li&gt;      &lt;li&gt;Select ZAP as the extensions type then select an extension number (in my case 601), a display name (Yermo Lamers), channel (in my case 0). If you want voicemail enables and your voicemails emailed to you as .wav files, select enable voicemail and enter and email address for the voicemails to be delivered to. &lt;br /&gt;&lt;/li&gt;      &lt;li&gt;For the IVR, you'll want a company level drop voicemail box. I created a second virtual SIP extension. I enabled voicemail for it and have the voicemails emailed to an address that gets forwarded to both Anatoly and I. &lt;br /&gt;&lt;/li&gt;      &lt;li&gt;Now that you have an extension, you can record some greetings. Go to the System Recordings menu item on the left (near the very bottom). You have the choice of enabling a wide range of default system recordings or recording your own. Personally I like the &quot;Abandon all Hope Ye Who Enter Here&quot; one, but I don't think it'll work too well for our purposes. &lt;br /&gt;&lt;/li&gt;      &lt;li&gt;You can record greetings through your connected extension. Simply enter the number of extension in the first box and click GO. Now pick up the handset for that extension and press *77. You'll hear a single beep. Speak your greeting clearly. Press # when finished. TrixBox/Asterix will speak at you. I've noticed that if you press 1 to hear your recording too quickly or press * too quickly to rerecord it trixbox gets confused and hangs up. &lt;br /&gt;&lt;/li&gt;      &lt;li&gt;Once you're happy with your recording you have to rename the file. There seems to be a bug whereby the file is not correctly named. It should include the extension number but does not. cd to /tmp and you should see a file called -ivrrecording.wav. Rename that file to include the extension number. In my case it's 601-ivrrecording.wav (to move the file with the embedded - use &lt;strong&gt;&lt;em&gt;mv -- -ivrrecording.wav 601-ivrrecording.wav&lt;/em&gt;&lt;/strong&gt;)&lt;/li&gt;      &lt;li&gt;Now you can enter a name for this recording in the WEB Gui and click save.&lt;/li&gt;      &lt;li&gt;At this point, you can create a simple IVR. In my case a caller may either go straight to my own mailbox or leave a message in the billing mailbox after pressing 1. &lt;br /&gt;&lt;/li&gt;      &lt;li&gt;Go to IVR on the left menu.&lt;/li&gt;      &lt;li&gt;Click ADD IVR&lt;/li&gt;      &lt;li&gt;Give your IVR a name and select the greeting you recorded above. There are a bunch of options here. In the bottom section, you can enter what actions the caller may do. It's not clear in the dialog but the little boxes on the left under Return to IVR are actually the number the user should enter to select the option.&lt;/li&gt;      &lt;li&gt;In my case I want the caller to press 1 to get to the billing dropbox extension 100 to leave a voicemail.&lt;/li&gt;      &lt;li&gt;Enter 1 in the little box, check extensions and select the voicemailbox you'd like the user sent to. In my case it's 100. &lt;br /&gt;&lt;/li&gt;      &lt;li&gt;Now create an &quot;&lt;strong&gt;inbound route&lt;/strong&gt;&quot; which will tie incoming calls to the IVR. Select Inbound Routes from the left menu. &lt;br /&gt;&lt;/li&gt;      &lt;li&gt;For my setup here, all I need is to select the IVR option at the bottom and indicate my newly created IVR should answer the phone. No other fields need to be filled in. This will create a default inbound route called &lt;em&gt;&lt;strong&gt;any DID / any CID&lt;/strong&gt;&lt;/em&gt;.&lt;/li&gt;      &lt;li&gt;Now that everything is set up click on the orange &lt;strong&gt;&lt;em&gt;Apply Configuration Changes&lt;/em&gt;&lt;/strong&gt; button in the top middle of the display. Without this nothing will work as it reloads Asterix with all of your configuration changes. &lt;br /&gt;&lt;/li&gt;      &lt;li&gt;You can now dial your number from an outside line and leave yourself a voicemail.&lt;/li&gt;    &lt;/ol&gt;    &lt;p&gt;I have noticed that the voice prompts are quite slow to respond, but they do seem to work.&lt;/p&gt;    &lt;p&gt;At this point I'm back to where I started. Voicemail works on the first line but there's some problem on the second line which may be hardware related. The card seems to detect the rings but won't pick up. I see this in the /var/log/asterix/full log:&lt;/p&gt;    &lt;p&gt;[Oct 13 01:49:45] WARNING[3213] chan_dahdi.c: CallerID feed failed: Success                                                                                                         &lt;br /&gt;[Oct 13 01:49:45] WARNING[3213] chan_dahdi.c: CallerID returned with error on channel 'DAHDI/2-1'                                                                                   &lt;br /&gt;[Oct 13 01:49:45] VERBOSE[3213] logger.c:     -- Executing [s@from-pstn:1] Set(&quot;DAHDI/2-1&quot;, &quot;__FROM_DID=s&quot;) in new stack                                                            &lt;br /&gt;[Oct 13 01:49:45] VERBOSE[3213] logger.c:     -- Executing [s@from-pstn:2] Gosub(&quot;DAHDI/2-1&quot;, &quot;app-blacklist-check,s,1&quot;) in new stack                                               &lt;br /&gt;[Oct 13 01:49:45] VERBOSE[3213] logger.c:     -- Executing [s@app-blacklist-check:1] GotoIf(&quot;DAHDI/2-1&quot;, &quot;0?blacklisted&quot;) in new stack                                              &lt;br /&gt;[Oct 13 01:49:45] VERBOSE[3213] logger.c:     -- Executing [s@app-blacklist-check:2] Return(&quot;DAHDI/2-1&quot;, &quot;&quot;) in new stack                                                           &lt;br /&gt;[Oct 13 01:49:45] VERBOSE[3213] logger.c:     -- Executing [s@from-pstn:3] ExecIf(&quot;DAHDI/2-1&quot;, &quot;1 ?Set(CALLERID(name)=)&quot;) in new stack                                              &lt;br /&gt;[Oct 13 01:49:45] VERBOSE[3213] logger.c:     -- Executing [s@from-pstn:4] Set(&quot;DAHDI/2-1&quot;, &quot;__CALLINGPRES_SV=allowed_not_screened&quot;) in new stack                                   &lt;br /&gt;[Oct 13 01:49:45] VERBOSE[3213] logger.c:     -- Executing [s@from-pstn:5] Set(&quot;DAHDI/2-1&quot;, &quot;CALLERPRES()=allowed_not_screened&quot;) in new stack                                       &lt;br /&gt;[Oct 13 01:49:45] VERBOSE[3213] logger.c:     -- Executing [s@from-pstn:6] Goto(&quot;DAHDI/2-1&quot;, &quot;ivr-2,s,1&quot;) in new stack                                                              &lt;br /&gt;[Oct 13 01:49:45] VERBOSE[3213] logger.c:     -- Goto (ivr-2,s,1)                                                                                                                   &lt;br /&gt;[Oct 13 01:49:45] VERBOSE[3213] logger.c:     -- Executing [s@ivr-2:1] Set(&quot;DAHDI/2-1&quot;, &quot;MSG=custom/DTLink_greeting&quot;) in new stack                                                  &lt;br /&gt;[Oct 13 01:49:45] VERBOSE[3213] logger.c:     -- Executing [s@ivr-2:2] Set(&quot;DAHDI/2-1&quot;, &quot;LOOPCOUNT=0&quot;) in new stack                                                                 &lt;br /&gt;[Oct 13 01:49:45] VERBOSE[3213] logger.c:     -- Executing [s@ivr-2:3] Set(&quot;DAHDI/2-1&quot;, &quot;__DIR-CONTEXT=default&quot;) in new stack                                                       &lt;br /&gt;[Oct 13 01:49:45] VERBOSE[3213] logger.c:     -- Executing [s@ivr-2:4] Set(&quot;DAHDI/2-1&quot;, &quot;_IVR_CONTEXT_ivr-2=&quot;) in new stack                                                         &lt;br /&gt;[Oct 13 01:49:45] VERBOSE[3213] logger.c:     -- Executing [s@ivr-2:5] Set(&quot;DAHDI/2-1&quot;, &quot;_IVR_CONTEXT=ivr-2&quot;) in new stack                                                          &lt;br /&gt;[Oct 13 01:49:45] VERBOSE[3213] logger.c:     -- Executing [s@ivr-2:6] GotoIf(&quot;DAHDI/2-1&quot;, &quot;0?begin&quot;) in new stack                                                                  &lt;br /&gt;[Oct 13 01:49:45] VERBOSE[3213] logger.c:     -- Executing [s@ivr-2:7] Answer(&quot;DAHDI/2-1&quot;, &quot;&quot;) in new stack                                                                         &lt;br /&gt;[Oct 13 01:49:45] VERBOSE[3213] logger.c:     -- Executing [s@ivr-2:8] Wait(&quot;DAHDI/2-1&quot;, &quot;1&quot;) in new stack                                                                          &lt;br /&gt;[Oct 13 01:49:46] WARNING[3213] chan_dahdi.c: Ring/Off-hook in strange state 6 on channel 2                                                                                         &lt;br /&gt;[Oct 13 01:49:46] WARNING[3213] chan_dahdi.c: Detected alarm on channel 2: Red Alarm&lt;br /&gt;[Oct 13 01:49:46] VERBOSE[3213] logger.c:   == Spawn extension (ivr-2, s, 8) exited non-zero on 'DAHDI/2-1'&lt;br /&gt;[Oct 13 01:49:46] VERBOSE[3213] logger.c:     -- Executing [h@ivr-2:1] Hangup(&quot;DAHDI/2-1&quot;, &quot;&quot;) in new stack&lt;br /&gt;[Oct 13 01:49:46] VERBOSE[3213] logger.c:   == Spawn extension (ivr-2, h, 1) exited non-zero on 'DAHDI/2-1'&lt;br /&gt;[Oct 13 01:49:46] VERBOSE[3213] logger.c:     -- Hungup 'DAHDI/2-1'&lt;br /&gt;[Oct 13 01:49:51] NOTICE[2533] chan_dahdi.c: Alarm cleared on channel 2&lt;br /&gt;&lt;/p&gt;    &lt;p&gt;To come up to speed on TrixBox I did end up buying this book which did offer some answers to problems I had run into. It's by no means a definitive tome but does provide a reasonable introduction to the system. &lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;http://www.amazon.com/gp/product/1847192998?ie=UTF8&amp;amp;tag=personaltoolscom&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1847192998&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;160&quot; width=&quot;130&quot; border=&quot;0&quot; align=&quot;left&quot; alt=&quot;trixbox_ce_2.6.jpg&quot; style=&quot;border-style:solid;border-width:0px;margin:10px;&quot; src=&quot;/formvista/site_local/user_files/public/1/graphics/trixbox_ce_2.6.jpg&quot; /&gt;&lt;/a&gt;&lt;img height=&quot;1&quot; width=&quot;1&quot; border=&quot;0&quot; alt=&quot;ir?t=personaltoolscom&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=1847192998&quot; src=&quot;http://www.assoc-amazon.com/e/ir?t=personaltoolscom&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=1847192998&quot; style=&quot;border:medium none;margin:0px;&quot; /&gt;&lt;/p&gt;    &lt;p&gt; I don't yet have anonymous comments built into formvista, the software powering YML.COM. But if you have any questions, feel free to &lt;a href=&quot;/formvista/frontend/icms.php/rd/12&quot;&gt;contact me&lt;/a&gt;. I'm an asterix novice but will be happy to share what little I know. At soime point before too terribly long I hope to open up registrations to YML.COM to the general public. I just need to put more things in the place before I'm ready to do that.&lt;br /&gt;&lt;/p&gt;</description><pubDate>Mon, 12 Oct 2009 01:53:31 EST</pubDate><guid>http://yml.com:80/homepage?article_id=541</guid></item><item><title>A Warning About WSSC to Landlords of Empty Properties</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=540</link><comments>http://yml.com:80/homepage?article_id=540#comments</comments><description>&lt;p&gt;As many of you know, I manage and am trying to sell an empty commercial property in Oxon Hill. Recently I realized I had not received a water bill for the property in some time. So I called &lt;a target=&quot;_blank&quot; href=&quot;http://www.wsscwater.com&quot;&gt;WSSC&lt;/a&gt; (The Washington Suburban Sanitary Commission) to ask about why I hadn't received a bill. I figured this was due to some clerical error. &lt;/p&gt;    &lt;p&gt;After waiting on hold for ages, I spoke to the nice rep and to my shock and horror he told me:&lt;br /&gt;&lt;/p&gt;    &lt;p align=&quot;center&quot;&gt; &lt;strong&gt;ANOTHER PARTY TOOK OVER THE BILL!&lt;/strong&gt;&lt;/p&gt;    &lt;p align=&quot;center&quot;&gt;&lt;strong&gt;I WAS NEVER NOTIFIED!&lt;/strong&gt;&lt;/p&gt;    &lt;p align=&quot;center&quot;&gt;&lt;strong&gt;AND OF COURSE THEY HADN'T PAID IT!&lt;/strong&gt;&lt;/p&gt;    &lt;p align=&quot;center&quot;&gt;&lt;strong&gt; AND THE ACCOUNT WAS IN DANGER OF BEING TURNED OFF!&lt;/strong&gt;&lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;&lt;strong&gt;OH S#$T!&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;&lt;strong&gt;&lt;/strong&gt;Me: &quot;How can it have been transfered! I never transferred the account!!&quot;&lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;The WSSC Phone Rep: &quot;Sorry Sir, that's not how it works&quot;&lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;Me: &quot;How could it have been transferred if never signed an authorization to allow the transfer?!? I never signed &lt;strong&gt;/ANYTHING/&lt;/strong&gt;! What the &lt;strong&gt;!@$#%!&lt;/strong&gt; is going on?!?&quot;&lt;br /&gt;&lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;The WSSC Phone Rep: &quot;I'm sorry Sir, It's public record. If someone calls to take over an account we honor the request.&quot;&lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;Me: &quot;What the $@#!$!@# do you mean? That's insane. Of course I have to authorize the transfer!&quot;&lt;/p&gt;    &lt;p&gt;The WSS Phone Rep: &quot;I'm sorry sir, that's not the way it works. We don't know you or anyone. We just accept the calls.&quot; &lt;br /&gt;&lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;Me: &quot;So you're trying to tell me that I can take over the bill of anyone's house and then not pay the bill so their water gets shut off???&quot;&lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;The WSSC Phone Rep: &quot;We do send a notice to the property, Sir.&quot;&lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;Me: &quot;What if it's an empty property?!? There's no mail delivery at the property. It's empty. The company address is here. The billing address is here. I should have been notified of the change of account /HERE/.&quot;&lt;/p&gt;    &lt;p&gt;The WSSC Phone Rep: &quot;I'm sorry Sir, that's not how it works. We don't send a notice to the billing address. Only to the property.&quot; &lt;br /&gt;&lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;Me: &quot;Can we transfer the account back to me?&quot; &lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;The WSSC Phone Rep: &quot;Yes, sir.&quot; &lt;/p&gt;    &lt;p&gt;Me: &quot;Is the water in danger of being shut off&quot;&lt;/p&gt;    &lt;p&gt; The WSSC Rep: &quot;Yes Sir, but we can take care of that and give you some time to pay the account&quot;. &lt;br /&gt;&lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;Me: &quot;If someone changes the account again, can I at least get notified?&quot;&lt;/p&gt;    &lt;p align=&quot;left&quot;&gt; The WSSC Phone Rep: &quot;I'm sorry Sir. That's not how it works. There's no way we will notify you. You are just going to have to notice that you didn't get a bill and call us back&quot;. &lt;/p&gt;    &lt;p&gt;This is nuts. &lt;br /&gt;&lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;Amazing. I very rarely get angry but this is just nuts. So if there's a property, like the one next door to my house here which was foreclosed on a couple of weeks ago and is now empty, you could call up WSSC, change the holder of the account giving them only an address and a phone number and then not pay the bill. After some time they shut off the water. (which luckily in my case did not happen).&lt;br /&gt;&lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;What happens if there's a fire? &lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;With all the empty and/or foreclosed properties around these days, this seems like a serious vulnerability in ths sytem. The rep kept saying that the water bill is public and that they don't have any control over this. Anyone can just call and they have to take them at their word. &lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;It seems to me that if you are the holder of the water account, then it should not be transferrable without your /WRITTEN/ consent. This is like saying that someone can come along and take over your mortgage and not pay it allowing you to get foreclosed. &lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;I don't think it works this way with the power company. I certainly hope not. Imagine the damage you could do. &lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;Now I should have noticed that I had not received a water bill in some time. I missed two cycles. But it's a 3 month billing cycle and with the literally dozens of bills I pay every month for two properties and two businesses, things like this can easily fall through the crack. &lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;So if you're stuck with an empty property you're trying to unload make sure you notice whether or not you're getting a water bill. This is one of the craziest things I've come across and it seems to break every notion of a contractual obligation. &lt;/p&gt;    &lt;p align=&quot;left&quot;&gt;I must be misunderstanding something. This simply can't work this way. &lt;br /&gt;&lt;/p&gt;</description><pubDate>Wed, 30 Sep 2009 15:01:00 EST</pubDate><guid>http://yml.com:80/homepage?article_id=540</guid></item><item><title>spyware &amp;amp; virus removal</title><author>lance.nospamplease@nospam.vetsclub.umd.org</author><dc:creator>mothman</dc:creator><link>http://yml.com:80/homepage?article_id=159</link><comments>http://yml.com:80/homepage?article_id=159#comments</comments><description>free programs &amp;amp; tools for spyware &amp;amp; virus removal&lt;br /&gt;&lt;br /&gt;if your running windows you need this!!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;beware of fake spyware get the real deal&lt;br /&gt;http://www.spywarewarrior.com/rogue_anti-spyware.htm&lt;br /&gt;&lt;br /&gt;stuff that works:&lt;br /&gt;adaware - http://www.lavasoft.de/&lt;br /&gt;spybot search &amp;amp; destroy - http://spybot.safer-networking.de/en/index.html&lt;br /&gt;spywareblaster - http://www.javacoolsoftware.com/spywareblaster.html&lt;br /&gt;&lt;br /&gt;tools to get what the others can't remove. - manual removal tools&lt;br /&gt;http://www.spywareinfo.com/~merijn/cwschronicles.html&lt;br /&gt;http://www.spywareinfo.com/~merijn/downloads.html&lt;br /&gt;&lt;br /&gt;free virus removal tools: (they both only work with IE6 )&lt;br /&gt;symantec/norton -     http://security.symantec.com/sscv6/default.asp?langid=ie&amp;amp;venid=sym&lt;br /&gt;&lt;br /&gt;tips on your browser change to Mozilla or Mozilla Firefox&lt;br /&gt;http://www.mozilla.org/products/&lt;br /&gt;http://www.mozilla.org/products/firefox/start/&lt;br /&gt;&lt;br /&gt;A free firewall that works:&lt;br /&gt;/trial_zaFamily.jsp?lid=zassskulist_trial &lt;br /&gt;</description><pubDate>Tue, 25 Jan 2005 08:07:31 EST</pubDate><guid>http://yml.com:80/homepage?article_id=159</guid></item><item><title>Marketing Book - The Purple Cow</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=538</link><comments>http://yml.com:80/homepage?article_id=538#comments</comments><description>&lt;p&gt;The advent of the word processor spelled the doom of the professional typist. An entire industry was distrupted. We all know that the mass adoption of the Internet in the early '90s put the writing on the wall for newspaper and traditional media businesses. &lt;/p&gt;    &lt;p&gt;However, something that I had never thought through was how the development of social networking and linked blogs was disruptive to classic marketing and pr. Even at DTLink Software, we have noticed that what used to work just a few years ago no longer does. &lt;/p&gt;    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.amazon.com/gp/product/159184021X?ie=UTF8&amp;amp;tag=personaltoolscom&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=159184021X&quot;&gt;&lt;img height=&quot;160&quot; width=&quot;106&quot; align=&quot;left&quot; src=&quot;/formvista/site_local/user_files/public/1/graphics/purple_cow.jpg&quot; alt=&quot;purple_cow.jpg&quot; style=&quot;border-style:solid;border-width:0px;margin:10px;&quot; /&gt;&lt;/a&gt;&lt;img height=&quot;1&quot; width=&quot;1&quot; border=&quot;0&quot; alt=&quot;ir?t=personaltoolscom&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0470379286&quot; src=&quot;http://www.assoc-amazon.com/e/ir?t=personaltoolscom&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0470379286&quot; style=&quot;border:medium none;margin:0px;&quot; /&gt;I just finished reading &lt;a target=&quot;_blank&quot; href=&quot;http://www.amazon.com/gp/product/159184021X?ie=UTF8&amp;amp;%25u205Etag=personaltoolscom&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=159184021X&quot;&gt;The Purple Cow&lt;/a&gt; by Seth Godin. In it he makes some very interesting assertions about how modern day marketing has changed fundamentally and provides some surprising case studies to support his positions. &lt;br /&gt;&lt;/p&gt;</description><pubDate>Thu, 24 Sep 2009 17:47:19 EST</pubDate><guid>http://yml.com:80/homepage?article_id=538</guid></item><item><title>What I'm reading now - The New Rules of Marketing and PR</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=539</link><comments>http://yml.com:80/homepage?article_id=539#comments</comments><description>&lt;a href=&quot;http://www.amazon.com/gp/product/0470379286?ie=UTF8&amp;amp;tag=personaltoolscom&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0470379286&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;160&quot; width=&quot;104&quot; align=&quot;left&quot; src=&quot;/formvista/site_local/user_files/public/1/graphics/marketing_new_rules.jpg&quot; alt=&quot;marketing_new_rules.jpg&quot; style=&quot;margin:10px;&quot; /&gt;&lt;/a&gt;As another step in my quest to better understand the impact of social networking on marketing, I'm now reading &lt;a target=&quot;_blank&quot; href=&quot;http://www.amazon.com/gp/product/0470379286?ie=UTF8&amp;amp;tag=personaltoolscom&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0470379286&quot;&gt;The New Rules of Marketing and PR&lt;/a&gt;&lt;img height=&quot;1&quot; width=&quot;1&quot; border=&quot;0&quot; alt=&quot;ir?t=personaltoolscom&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0470379286&quot; src=&quot;http://www.assoc-amazon.com/e/ir?t=personaltoolscom&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0470379286&quot; style=&quot;border:medium none;margin:0px;&quot; /&gt;. &lt;br /&gt;</description><pubDate>Thu, 24 Sep 2009 18:01:51 EST</pubDate><guid>http://yml.com:80/homepage?article_id=539</guid></item><item><title>Online Marketing Blog</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=537</link><comments>http://yml.com:80/homepage?article_id=537#comments</comments><description>&lt;p&gt;Ryan found this one and I agree it seems pretty good:&lt;/p&gt;   &lt;p&gt;&lt;a href=&quot;http://www.doshdosh.com/&quot;&gt;Internet Marketing and Making Money Online &lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</description><pubDate>Mon, 31 Aug 2009 13:58:20 EST</pubDate><guid>http://yml.com:80/homepage?article_id=537</guid></item><item><title>MSIE 8</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=536</link><comments>http://yml.com:80/homepage?article_id=536#comments</comments><description>&lt;p&gt; Just testing to if MSIE 8 breaks anything on the site. It seems that Xinha loads just fine. The jQuery dialogs seem to work in the forums. So far so good.&lt;/p&gt;   &lt;p&gt; &lt;/p&gt;   &lt;p&gt;This is another test. &lt;br /&gt;&lt;/p&gt;</description><pubDate>Fri, 21 Aug 2009 20:28:32 EST</pubDate><guid>http://yml.com:80/homepage?article_id=536</guid></item><item><title>fiormVista 0.8.9.0 is now available for download</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=535</link><comments>http://yml.com:80/homepage?article_id=535#comments</comments><description>&lt;p&gt;formVista(tm), the business website management engine that forms the basis for our &lt;a href=&quot;http://www.collabinvest.net/&quot; target=&quot;_blank&quot;&gt;http://www.collabinvest.net&lt;/a&gt; service, has escaped leaving a bloody trail of death and destruction in its wake. &lt;br /&gt;Version 0.8.9.0 which is late alpha to early beta &lt;span class=&quot;text_exposed_hide&quot;&gt;...&lt;/span&gt;&lt;span class=&quot;text_exposed_show&quot;&gt;quality is now available for immediate download from: &lt;a href=&quot;http://www.formvista.com/downloads.html&quot; target=&quot;_blank&quot;&gt;http://www.formvista.com/downloads.html&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</description><pubDate>Tue, 18 Aug 2009 23:24:05 EST</pubDate><guid>http://yml.com:80/homepage?article_id=535</guid></item><item><title>My Legal Firewall</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=534</link><comments>http://yml.com:80/homepage?article_id=534#comments</comments><description>Here's something you may want to look at, an inexpensive legal document drafting wizard run by our attorney. Check it out: &lt;a href=&quot;http://digicontracts.com/kits/firewall.aspx?affId=89801&quot; target=&quot;_blank&quot;&gt;My Legal Firewall&lt;/a&gt;.&lt;br /&gt;</description><pubDate>Mon, 17 Aug 2009 13:41:18 EST</pubDate><guid>http://yml.com:80/homepage?article_id=534</guid></item><item><title>Subversion (svn)  &amp;quot;Base checksum mismatch&amp;quot;</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=533</link><comments>http://yml.com:80/homepage?article_id=533#comments</comments><description>&lt;p&gt;So I managed to corrupt a copy of some code I checked out of my subversion repository. The error I'd get was:&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Sending homepage.tmpl                                                                                          &lt;br /&gt;Transmitting file data .svn: Commit failed (details follow):                                                          &lt;br /&gt;svn: Base checksum mismatch on '/site_local/themes/collabinvest/homepage.tmpl':                                       &lt;br /&gt;   expected:  55af923730fef72abba8efa7060b569b                                                                        &lt;br /&gt;     actual:  cea863f3dbb5b18c90561a66abfe2121                                                                        &lt;br /&gt;&lt;br /&gt;svn: Your commit message was left in a temporary file:&lt;br /&gt;svn:    '/usr/local/WWW/collabinvest.yml.com/html/formvista/site_local/themes/collabinvest/svn-commit.2.tmp'&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;To &quot;work around&quot; this problem commit the individual files and/or directories that work. Copy the files that error out to another directory.&lt;/p&gt;    &lt;p&gt;Check out a clean copy of your code into another directory. Copy over the files that would not commit into the new checked out version. Recommit. It should work.&lt;/p&gt;    &lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description><pubDate>Tue, 11 Aug 2009 18:16:15 EST</pubDate><guid>http://yml.com:80/homepage?article_id=533</guid></item><item><title>Character Encodings</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=532</link><comments>http://yml.com:80/homepage?article_id=532#comments</comments><description>&lt;p&gt;  Here is an EXCELLENT article in the HTMLPurifier documentation &lt;a target=&quot;_blank&quot; href=&quot;http://htmlpurifier.org/docs/enduser-utf8.html&quot;&gt;on character encodings.&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&amp;nbsp;And I guess it was just a matter of time before I too linked to an article over at&lt;a href=&quot;http://www.joelonsoftware.com/articles/Unicode.html&quot; target=&quot;_blank&quot;&gt; Joel on Software&lt;/a&gt;. &lt;br /&gt;&lt;/p&gt;</description><pubDate>Thu, 09 Jul 2009 13:25:24 EST</pubDate><guid>http://yml.com:80/homepage?article_id=532</guid></item><item><title>MSIE &quot;Operation Aborted&quot; issues</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=531</link><comments>http://yml.com:80/homepage?article_id=531#comments</comments><description>&lt;p&gt;While testing the latest codebase we've once again run into the infamous MSIE Operation Aborted error.&amp;nbsp;&lt;/p&gt;     &lt;p&gt;&amp;nbsp;Here's an article that discusses the issue in some depth:&lt;/p&gt;     &lt;p&gt; &lt;a href=&quot;http://www.clientcide.com/code-snippets/manipulating-the-dom/ie-and-operation-aborted/&quot;&gt;IE and Operation Aborted&lt;/a&gt;&lt;/p&gt;     &lt;p&gt;&lt;a href=&quot;http://support.microsoft.com/kb/927917#more_information&quot;&gt;MSDN Knowledgebase Article&lt;/a&gt;&lt;/p&gt;     &lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/ie/archive/2008/04/23/what-happened-to-operation-aborted.aspx&quot;&gt;MSIE IE Blog article&lt;/a&gt;&lt;/p&gt;     &lt;p&gt;Interesting the same codebase running on a non-SSL enabled site is not exhibiting this problem for me.More as I find out more.&lt;br /&gt;&lt;/p&gt;</description><pubDate>Mon, 18 May 2009 17:22:37 EST</pubDate><guid>http://yml.com:80/homepage?article_id=531</guid></item><item><title>New Flu Stain Discovered</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=530</link><comments>http://yml.com:80/homepage?article_id=530#comments</comments><description>&lt;p&gt;As reported on Slashdot:&lt;/p&gt;    &lt;div id=&quot;text-4289607&quot;&gt;      &lt;p&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;mailto:fraseraj@netspace.net.au&quot;&gt;Combat Wombat&lt;/a&gt; writes with this excerpt from Reuters:  &lt;em&gt;&amp;quot;A strain of flu never seen before has &lt;a href=&quot;http://www.reuters.com/article/wtMostRead/idUSTRE53N22820090424?sp=true&quot;&gt;killed up to 60 people in Mexico&lt;/a&gt;  and also appeared in the United States, where eight people were  infected but recovered, health officials said on Friday. Mexico's  government said at least 20 people have died of the flu and it may also  be responsible for 40 other deaths. [The government] shut down schools  and canceled major public events in Mexico City to try to prevent more  deaths in the sprawling, overcrowded capital. ... Close analysis showed  the disease is &lt;a href=&quot;http://www.cdc.gov/media/transcripts/2009/t090423.htm&quot;&gt;a mixture of swine, human and avian viruses&lt;/a&gt;,  according to the CDC. Humans can occasionally catch swine flu from pigs  but rarely have they been known to pass it on to other people. Mexico  reported 1,004 suspected cases of the new virus, including four  possible cases in Mexicali on the border with California.&lt;/em&gt;&lt;/p&gt;      &lt;p&gt;See the &lt;a href=&quot;http://science.slashdot.org/article.pl?sid=09/04/25/163202&amp;amp;art_pos=1&amp;amp;art_pos=1&quot;&gt;slashdot article. &lt;/a&gt;&lt;br /&gt;&lt;/p&gt;    &lt;/div&gt;    &lt;p&gt; &lt;/p&gt;</description><pubDate>Sat, 25 Apr 2009 14:17:29 EST</pubDate><guid>http://yml.com:80/homepage?article_id=530</guid></item><item><title>PHP Leaks Memory in socket_read()</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=529</link><comments>http://yml.com:80/homepage?article_id=529#comments</comments><description>&lt;p&gt;This has taken quite some time to track down. Ref this bug report over at bugs.php:&lt;/p&gt;     &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://bugs.php.net/bug.php?id=42846%20&quot;&gt;http://bugs.php.net/bug.php?id=42846 &lt;/a&gt;&lt;/p&gt;     &lt;p&gt;Personally from what I'm seeing, the comment in the report that this is just how PHP memory management works is incorrect. Calls to socket_read() in PHP 5.2.6 under Ubuntu 8.10 causes the process to grow without bounds. &lt;/p&gt;     &lt;p&gt;Here is a slightly modified sample client and server pulled from the PHP documentation socket examples page::&lt;/p&gt;     &lt;h2&gt;The server code: &lt;br /&gt;&lt;/h2&gt;     &lt;pre&gt;&amp;lt;?php  error_reporting(E_ALL);    /* Allow the script to hang around waiting for connections. */  set_time_limit(0);    /* Turn on implicit output flushing so we see what we're getting   * as it comes in. */  ob_implicit_flush();    $address = '127.0.0.1';  $port = 10000;    if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {      echo &quot;socket_create() failed: reason: &quot; . socket_strerror(socket_last_error()) . &quot;\n&quot;;  }    if (socket_bind($sock, $address, $port) === false) {      echo &quot;socket_bind() failed: reason: &quot; . socket_strerror(socket_last_error($sock)) . &quot;\n&quot;;  }    if (socket_listen($sock, 5) === false) {      echo &quot;socket_listen() failed: reason: &quot; . socket_strerror(socket_last_error($sock)) . &quot;\n&quot;;  }    do {      if (($msgsock = socket_accept($sock)) === false) {          echo &quot;socket_accept() failed: reason: &quot; . socket_strerror(socket_last_error($sock)) . &quot;\n&quot;;          break;      }        do {       print( &quot;MEMORY USAGE BEFORE READ IS '&quot; . memory_get_usage() . &quot;'\n&quot; );            if (false === ($buf = socket_read($msgsock, 2048, PHP_NORMAL_READ))) {              echo &quot;socket_read() failed: reason: &quot; . socket_strerror(socket_last_error($msgsock)) . &quot;\n&quot;;              break 2;          }         print( &quot;MEMORY USAGE AFTER READ IS '&quot; . memory_get_usage() . &quot;'\n&quot; );        } while (true);        socket_close($msgsock);    } while (true);    socket_close($sock);    ?&amp;gt;    &lt;/pre&gt;     &lt;p&gt; &lt;/p&gt;    &lt;h2&gt;&lt;strong&gt;The client code:&lt;/strong&gt;&lt;/h2&gt;     &lt;pre&gt;&amp;lt;?php&lt;/pre&gt;     &lt;pre&gt;error_reporting(E_ALL);&lt;/pre&gt;     &lt;pre&gt;  echo &quot;&amp;lt;h2&amp;gt;TCP/IP Connection&amp;lt;/h2&amp;gt;\n&quot;;&lt;/pre&gt;     &lt;pre&gt;  /* Get the port for the WWW service. */&lt;/pre&gt;     &lt;pre&gt;$service_port = 10000;&lt;/pre&gt;     &lt;pre&gt;  /* Get the IP address for the target host. */&lt;/pre&gt;     &lt;pre&gt;$address = gethostbyname('localhost');&lt;/pre&gt;     &lt;pre&gt;  /* Create a TCP/IP socket. */&lt;/pre&gt;     &lt;pre&gt;$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);&lt;/pre&gt;     &lt;pre&gt;if ($socket === false) {&lt;/pre&gt;     &lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;socket_create() failed: reason: &quot; . socket_strerror(socket_last_error()) . &quot;\n&quot;;&lt;/pre&gt;     &lt;pre&gt;} else {&lt;/pre&gt;     &lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;OK.\n&quot;;&lt;/pre&gt;     &lt;pre&gt;}&lt;/pre&gt;     &lt;pre&gt;  echo &quot;Attempting to connect to '$address' on port '$service_port'...&quot;;&lt;/pre&gt;     &lt;pre&gt;$result = socket_connect($socket, $address, $service_port);&lt;/pre&gt;     &lt;pre&gt;if ($result === false) {&lt;/pre&gt;     &lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;socket_connect() failed.\nReason: ($result) &quot; . socket_strerror(socket_last_error($socket)) . &quot;\n&quot;;&lt;/pre&gt;     &lt;pre&gt;} else {&lt;/pre&gt;     &lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;OK.\n&quot;;&lt;/pre&gt;     &lt;pre&gt;}&lt;/pre&gt;     &lt;pre&gt;  while( true )&lt;/pre&gt;     &lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/pre&gt;     &lt;pre&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;Sending Hello&quot;;&lt;/pre&gt;     &lt;pre&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp; $in = &quot;hello\n&quot;;&lt;/pre&gt;     &lt;pre&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp; socket_write($socket, $in, strlen($in));&lt;/pre&gt;     &lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;OK.\n&quot;;&lt;/pre&gt;     &lt;pre&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp; sleep( 1 );&lt;/pre&gt;     &lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/pre&gt;     &lt;pre&gt;  echo &quot;Closing socket...&quot;;&lt;/pre&gt;     &lt;pre&gt;socket_close($socket);&lt;/pre&gt;     &lt;pre&gt;echo &quot;OK.\n\n&quot;;&lt;/pre&gt;     &lt;pre&gt;?&amp;gt;&lt;/pre&gt;     &lt;h2&gt;Running it: &lt;br /&gt;&lt;/h2&gt;    &lt;p&gt;&amp;nbsp;Running it will produce a constantly growing server process.&lt;/p&gt;    &lt;p&gt;&amp;nbsp;MEMORY USAGE BEFORE READ IS '61324'&lt;br /&gt;MEMORY USAGE AFTER READ IS '61728'&lt;br /&gt;MEMORY USAGE BEFORE READ IS '61788'&lt;br /&gt;MEMORY USAGE AFTER READ IS '61924'&lt;br /&gt;MEMORY USAGE BEFORE READ IS '61924'&lt;br /&gt;MEMORY USAGE AFTER READ IS '61956'&lt;br /&gt;MEMORY USAGE BEFORE READ IS '61956'&lt;br /&gt;MEMORY USAGE AFTER READ IS '61988'&lt;br /&gt;MEMORY USAGE BEFORE READ IS '61988'&lt;br /&gt;MEMORY USAGE AFTER READ IS '62020'&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description><pubDate>Mon, 13 Apr 2009 13:51:06 EST</pubDate><guid>http://yml.com:80/homepage?article_id=529</guid></item><item><title>Removing Extra Whitespace Between List Item Entries in IE</title><author>ryan.nospamplease@nospam.powerfulwebsites.com</author><dc:creator>647</dc:creator><link>http://yml.com:80/homepage?article_id=527</link><comments>http://yml.com:80/homepage?article_id=527#comments</comments><description>&lt;p&gt; &lt;/p&gt;     &lt;p&gt;&lt;span class=&quot;clogListBody&quot;&gt;      Using a CSS styled unordered list you can create a fairly sophisticated navigational bar with rollover states.&lt;br /&gt;&lt;br /&gt;In IE6 and IE7 without some special consideration, you end up with spurious white space rendered between the list item.&lt;br /&gt;&lt;br /&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://nbinteractive.com/albums/css_navbar/css_nav_bar_without_IEfix.html&quot;&gt;Click here for and HTML example&lt;/a&gt; of the problem (you'll need to be using IE 6 or IE 7).&lt;br /&gt;&lt;a href=&quot;http://nbinteractive.com/albums/css_navbar/css_nav_bar_with_IEfix.html&quot; target=&quot;_blank&quot;&gt;&lt;br /&gt;Click here for an example of the fix &lt;/a&gt;and a detailed explanation of how to do it.&lt;/span&gt; &lt;/p&gt;</description><pubDate>Fri, 06 Mar 2009 14:29:10 EST</pubDate><guid>http://yml.com:80/homepage?article_id=527</guid></item><item><title>How To Opt Out Of Verizon Info Sharing</title><author>buffalo.nospamplease@nospam.icarus.yml.com</author><dc:creator>buffalo</dc:creator><link>http://yml.com:80/homepage?article_id=528</link><comments>http://yml.com:80/homepage?article_id=528#comments</comments><description>If you don't want Verizon to start sharing various bits of your personal info with &amp;quot;affililiates, agents, or parent companies&amp;quot;, you must notify them within 45 days. Further details can be had &lt;a href=&quot;http://i.gizmodo.com/5166365/free-advice-watch-the-mail-and-opt-out-of-verizon-sharing-your-personal-data&quot; target=&quot;_blank&quot;&gt;here.&lt;/a&gt;</description><pubDate>Mon, 09 Mar 2009 08:50:26 EST</pubDate><guid>http://yml.com:80/homepage?article_id=528</guid></item><item><title>Finding Next and Prev entries from an SQL Result set given only a single reference number.</title><author>yml.nospamplease@nospam.yml.com</author><dc:creator>Yermo</dc:creator><link>http://yml.com:80/homepage?article_id=525</link><comments>http://yml.com:80/homepage?article_id=525#comments</comments><description>&lt;p&gt;For ages I've been doing handstands dealing with the next and previous problem in SQL result sets. This is used, for instance, in the Member Photos section.&amp;nbsp;&lt;/p&gt;    &lt;p&gt;Today I've been working to try to improve linking to the shared photos area. As of this writing, I still use the long encrypted links which embed values that make it easier for me to generate the next and previous link.&lt;/p&gt;    &lt;p&gt; For ages, I've had this sense that there had to be an easier way. &lt;/p&gt;    &lt;p&gt;And of course there is a MUCH better way than I've been doing it. Once I saw the solution, I found myself thinking &amp;quot;now why didn't I think that of that, it's so obvious&amp;quot;.&lt;/p&gt;    &lt;p&gt;So let's say you have a photo_id value which is the unique key of your list of photos. You want to know what the photo_id of the next and previous photos in the list is. &lt;/p&gt;    &lt;p&gt;You can solve this problem with a very simple LEFT JOIN:&lt;/p&gt;    &lt;pre&gt;&lt;strong&gt;SELECT photos.photo_id, next.photo_id AS next_id, prev.photo_id AS prev_id  FROM photos  LEFT JOIN photos AS next ON next.photo_id &amp;gt; photos.photo_id  LEFT JOIN photos AS prev ON prev.photo_id &amp;lt; photos.photo_id  WHERE photos.photo_id = &amp;lt;photo_id to display here&amp;gt;  ORDER BY photos.photo_id ASC, prev_id DESC LIMIT 1  &lt;/strong&gt;&lt;/pre&gt;    &lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description><pubDate>Mon, 02 Mar 2009 18:48:02 EST</pubDate><guid>http://yml.com:80/homepage?article_id=525</guid></item>
	</channel>
</rss>