<?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>Walt-O-Matic &#187; Operating Systems</title>
	<atom:link href="http://www.wwco.com/~wls/blog/category/operating-systems/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.wwco.com/~wls/blog</link>
	<description>Pure Walt, from Concentrated Thought</description>
	<lastBuildDate>Thu, 29 Jul 2010 11:42:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Find and Replace in Word using C# .NET</title>
		<link>http://www.wwco.com/~wls/blog/2010/07/03/find-and-replace-in-word-using-c-net/</link>
		<comments>http://www.wwco.com/~wls/blog/2010/07/03/find-and-replace-in-word-using-c-net/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 22:24:31 +0000</pubDate>
		<dc:creator>Walt Stoneburner</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Trick]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Workaround]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[BASIC]]></category>
		<category><![CDATA[C-Sharp]]></category>
		<category><![CDATA[CSharp]]></category>
		<category><![CDATA[DotNet]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[floating]]></category>
		<category><![CDATA[footers]]></category>
		<category><![CDATA[global]]></category>
		<category><![CDATA[headers]]></category>
		<category><![CDATA[MS]]></category>
		<category><![CDATA[MS-WORD]]></category>
		<category><![CDATA[Net]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[region]]></category>
		<category><![CDATA[replace]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[shapes]]></category>
		<category><![CDATA[text]]></category>
		<category><![CDATA[textbox]]></category>
		<category><![CDATA[textboxes]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[Visual]]></category>
		<category><![CDATA[Word]]></category>

		<guid isPermaLink="false">http://www.wwco.com/~wls/blog/?p=754</guid>
		<description><![CDATA[Solution to how to do a global search and replace in MS-Word, including across floating text objects, in C#/.NET.]]></description>
			<content:encoded><![CDATA[<p>Heads up, this article contains high quantity of geek content.  Non-geeks should move along.</p>
<p>I&#8217;ve been trying to use Microsoft.Office.Interop.Word to perform a global bulk search and replace operations across an entire document. The problem was, however, if a document contained a floating text box, which manifested itself as a shape object of type textbox, the find and replace wouldn&#8217;t substitute the text for that region.  Even using Word&#8217;s capability to record a macro and show the VBA code wasn&#8217;t helpful, as the source code in BASIC wasn&#8217;t performing the same operation as inside the Word environment.</p>
<p>What I wanted was a simple routine to replace text anywhere inside of a document.  If you Google for this you&#8217;ll get the wrong kind of textbox, the wrong language, people telling you not to use floating textboxes, and all kinds of weird story iterators.</p>
<p>One site seemed to have <A HREF="http://word.mvps.org/FAQs/Customization/ReplaceAnywhere.htm">the solution</A>; many kind thanks to <a href="http://word.mvps.org/AboutMVPs/doug_robbins.htm">Doug Robbins</a>, <a href="http://word.mvps.org/AboutMVPs/greg_maxey.htm">Greg Maxey</a>, Peter Hewett, and <a href="http://word.mvps.org/AboutMVPs/jonathan_west.htm">Jonathan West</a> for coming up with this solution and explaining it so well.</p>
<p>However, the solution was in Visual Basic for Applications, and I needed a C# solution for a .NET project.  Here&#8217;s my port, which works with Office 2010 and Visual Studio 2010 C#/.NET 4.0.  I&#8217;ve left a lot of redundant qualifiers and casting on to help people searching for this article.</p>
<pre class="brush: plain;">
using System;
using System.Collections.Generic;
using System.ComponentModel;
using Microsoft.Office.Interop.Word;

// BEGIN: Somewhere in your code
Application app = null;
Document doc = null;
try
{
  app = new Microsoft.Office.Interop.Word.Application();

  doc = app.Documents.Open(filename, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing);

  FindReplaceAnywhere(app, find_text, replace_text);

  doc.SaveAs(outfilename, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing);
}
finally
{
  try
  {
      if (doc != null) ((Microsoft.Office.Interop.Word._Document) doc).Close(true, Missing, Missing);
  }
  finally { }
  if (app != null) ((Microsoft.Office.Interop.Word._Application) app).Quit(true, Missing, Missing);
}
// END: Somewhere in your code             

// Helper
private static void searchAndReplaceInStory(Microsoft.Office.Interop.Word.Range rngStory, string strSearch, string strReplace)
{
    rngStory.Find.ClearFormatting();
    rngStory.Find.Replacement.ClearFormatting();
    rngStory.Find.Text = strSearch;
    rngStory.Find.Replacement.Text = strReplace;
    rngStory.Find.Wrap = WdFindWrap.wdFindContinue;

    object arg1 = Missing; // Find Pattern
    object arg2 = Missing; //MatchCase
    object arg3 = Missing; //MatchWholeWord
    object arg4 = Missing; //MatchWildcards
    object arg5 = Missing; //MatchSoundsLike
    object arg6 = Missing; //MatchAllWordForms
    object arg7 = Missing; //Forward
    object arg8 = Missing; //Wrap
    object arg9 = Missing; //Format
    object arg10 = Missing; //ReplaceWith
    object arg11 = WdReplace.wdReplaceAll; //Replace
    object arg12 = Missing; //MatchKashida
    object arg13 = Missing; //MatchDiacritics
    object arg14 = Missing; //MatchAlefHamza
    object arg15 = Missing; //MatchControl

    rngStory.Find.Execute(ref arg1, ref arg2, ref arg3, ref arg4, ref arg5, ref arg6, ref arg7, ref arg8, ref arg9, ref arg10, ref arg11, ref arg12, ref arg13, ref arg14, ref arg15);
}

// Main routine to find text and replace it,
//   var app = new Microsoft.Office.Interop.Word.Application();
public static void FindReplaceAnywhere(Microsoft.Office.Interop.Word.Application app, string findText, string replaceText)
{
    // http://forums.asp.net/p/1501791/3739871.aspx
    var doc = app.ActiveDocument;

    // Fix the skipped blank Header/Footer problem
    //    http://msdn.microsoft.com/en-us/library/aa211923(office.11).aspx
    Microsoft.Office.Interop.Word.WdStoryType lngJunk = doc.Sections[1].Headers[WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.StoryType;

    // Iterate through all story types in the current document
    foreach (Microsoft.Office.Interop.Word.Range rngStory in doc.StoryRanges)
    {

        // Iterate through all linked stories
        var internalRangeStory = rngStory;

        do
        {
            searchAndReplaceInStory(internalRangeStory, findText, replaceText);

            try
            {
                //   6 , 7 , 8 , 9 , 10 , 11 -- http://msdn.microsoft.com/en-us/library/aa211923(office.11).aspx
                switch (internalRangeStory.StoryType)
                {
                    case Microsoft.Office.Interop.Word.WdStoryType.wdEvenPagesHeaderStory: // 6
                    case Microsoft.Office.Interop.Word.WdStoryType.wdPrimaryHeaderStory:   // 7
                    case Microsoft.Office.Interop.Word.WdStoryType.wdEvenPagesFooterStory: // 8
                    case Microsoft.Office.Interop.Word.WdStoryType.wdPrimaryFooterStory:   // 9
                    case Microsoft.Office.Interop.Word.WdStoryType.wdFirstPageHeaderStory: // 10
                    case Microsoft.Office.Interop.Word.WdStoryType.wdFirstPageFooterStory: // 11

                        if (internalRangeStory.ShapeRange.Count &gt; 0)
                        {
                            foreach (Microsoft.Office.Interop.Word.Shape oShp in internalRangeStory.ShapeRange)
                            {
                                if (oShp.TextFrame.HasText != 0)
                                {
                                    searchAndReplaceInStory(oShp.TextFrame.TextRange, findText, replaceText);
                                }
                            }
                        }
                        break;

                    default:
                        break;
                }
            }
            catch
            {
                // On Error Resume Next
            }

            // ON ERROR GOTO 0 -- http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

            // Get next linked story (if any)
            internalRangeStory = internalRangeStory.NextStoryRange;
        } while (internalRangeStory != null); // http://www.harding.edu/fmccown/vbnet_csharp_comparison.html
    }

}
</pre>
<p>Let me know if it worked for you; bug fixes and enhancements welcome.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wwco.com/~wls/blog/2010/07/03/find-and-replace-in-word-using-c-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Virtual Server Problems</title>
		<link>http://www.wwco.com/~wls/blog/2010/04/02/virtual-server-problems/</link>
		<comments>http://www.wwco.com/~wls/blog/2010/04/02/virtual-server-problems/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 22:30:17 +0000</pubDate>
		<dc:creator>Walt Stoneburner</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.wwco.com/~wls/blog/?p=687</guid>
		<description><![CDATA[I recently switched operating system vendors, and to my surprise when I went to port over the web content from one system to another, things didn&#8217;t go as smoothly as I had hoped.  What used to be /etc/httpd was now /etc/apache2, and inside this directory files were organized differently that I was used to, [...]]]></description>
			<content:encoded><![CDATA[<p>I recently switched operating system vendors, and to my surprise when I went to port over the web content from one system to another, things didn&#8217;t go as smoothly as I had hoped.  What used to be /etc/httpd was now /etc/apache2, and inside this directory files were organized differently that I was used to, and so forth.  Still, I would have hoped moving from Apache2 on RedHat to  Apache2 on Ubuntu would have been easier.</p>
<p>Empirical evidence was suggesting that all of my user&#8217;s virtual sites were working, but all of mine, no matter where I had them on the system, were reporting the error: <STRONG>You don&#8217;t have permission to access / on this server.</STRONG></p>
<p>Here&#8217;s what was going on, primarily recounted so if I ever do this to myself in the future, I&#8217;ll know what to look for.</p>
<p>The virtual host files, which now appear in <strong>/etc/apache2/sites-available</strong> as <strong>*.conf</strong> files, had a slight difference.  Some of them had this in their Directory directive:</p>
<ul>Order allow,deny<br />
allow from all</ul>
<p>Mine did not.  But, then again, some other websites did not as well.  Turns out those directives were placed inside their <strong>.htaccess</strong> files.</p>
<p>Now, not all sites had the .htaccess file, and things had been working before without the explicit directive in each virtual host .conf file.</p>
<p>Turns out I had some how tromped on the <STRONG>default</STRONG> file, which contains a directive that looks like this:</p>
<ul>&lt;Directory /&gt;
<ul>Options FollowSymLinks<BR>AllowOverride None</ul>
<p>&lt;/Directory&gt;</ul>
<p>If it is not present, then all virtual hosts <em>must</em> explicitly allow access (via .htaccess or their .conf file).</p>
<p>This directive allows Apache to serve up any file the URL asks for&#8230; which one may not want to do.  It seems the secure way <em>is</em> to edit the virtual host .conf files, and not rely on some default magic.</p>
<p>But, because that was in my old configuration long ago, and not in the new one, my virtual host .conf files didn&#8217;t have it, but my more modern ones for my users did.  Depending on which template I used to base new sites off was how some sites worked and some didn&#8217;t.</p>
<p>After fixing this, I ran into a new problem.  Some sites weren&#8217;t coming up still, but this time with permission errors.</p>
<p>When I migrated over the web content, it preserved user and group ownerships from the other system.  These did not match the new Apache2 user and group on the new system.</p>
<p>However, I got lucky.  There was no user/group mapping on the new system, which meant I could execute a find command to find and fix them.  It looked something like this:</p>
<ul>find /home -nogroup -print<br />
find /home -nouser -print<br />
find /home -group 49 -exec chgrp www-data &#8216;{}&#8217; \;</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.wwco.com/~wls/blog/2010/04/02/virtual-server-problems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebCams on OS X</title>
		<link>http://www.wwco.com/~wls/blog/2009/09/23/webcams-on-os-x/</link>
		<comments>http://www.wwco.com/~wls/blog/2009/09/23/webcams-on-os-x/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 14:51:05 +0000</pubDate>
		<dc:creator>Walt Stoneburner</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Cameras]]></category>
		<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[400]]></category>
		<category><![CDATA[800]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[drivers]]></category>
		<category><![CDATA[firewire]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[multiple]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[Snow]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[webcam]]></category>
		<category><![CDATA[webcams]]></category>

		<guid isPermaLink="false">http://www.wwco.com/~wls/blog/?p=669</guid>
		<description><![CDATA[Lots of cool software exists for webcams on OS X.]]></description>
			<content:encoded><![CDATA[<p>OS X is capable of using USB and Firewire cameras, with perhaps the most famous being the <a href="http://en.wikipedia.org/wiki/ISight">iSight</a>, second to the Built-in iSight of Apple&#8217;s laptops.</p>
<p><STRONG>Use other cameras!</STRONG><br />
But it turns out you can use a lot of <a href="http://webcam-osx.sourceforge.net/cameras/index.php">third party cameras</a> using the <a href="http://webcam-osx.sourceforge.net/">Macam driver</a>.</p>
<p><STRONG>Use multiple cameras!</STRONG><br />
If you&#8217;re using multiple cameras at once, say for security monitoring, you&#8217;re going to want to take a look at <a href="http://www.securityspy.com/">SecuritySpy</a>, which has motion detection, time lapse, and the ability to view from a remote browser, plus many other features.</p>
<p><STRONG>Barcode Reader!</STRONG><br />
<a href="http://www.evological.com/evobarcode.html">EvoBarcode</a> will let you use your camera as a bar code reader.</p>
<p><STRONG>Web Streaming!</STRONG><br />
<a href="http://www.evological.com/evocam.html">EvoCam</a> will let you stream multiple cameras and push images to servers.</p>
<p><STRONG>Stop Motion Photographer!</STRONG><br />
<a href="http://boinx.com/istopmotion/overview/">iStopMotion</a> will help you make your own stop motion movies.</p>
<p><STRONG>Real-time Special Effects!</STRONG><br />
<a href="http://www.ecamm.com/mac/iglasses/">iGlasses</a> will enhance and alter your video feeds.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wwco.com/~wls/blog/2009/09/23/webcams-on-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drag&#8217;n&#039;Drop Problems with Parallels 4</title>
		<link>http://www.wwco.com/~wls/blog/2009/09/09/dragndrop-problems-with-parallels-4/</link>
		<comments>http://www.wwco.com/~wls/blog/2009/09/09/dragndrop-problems-with-parallels-4/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 18:35:07 +0000</pubDate>
		<dc:creator>Walt Stoneburner</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Bug Report]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[Parallels]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Drag]]></category>
		<category><![CDATA[Drop]]></category>
		<category><![CDATA[Guest]]></category>
		<category><![CDATA[Host]]></category>
		<category><![CDATA[Machine]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[Virtual]]></category>

		<guid isPermaLink="false">http://www.wwco.com/~wls/blog/?p=660</guid>
		<description><![CDATA[Since installing Snow Leopard, I can no longer Drag'n'Drop files from Windows to the hosting OS X environment, though the inverse works just fine. Is anyone else having this problem, because I'm not seeing much about it on the Parallel's forums. I think the bug is real.]]></description>
			<content:encoded><![CDATA[<p>To say that I&#8217;m distrusting of Microsoft Windows&#8217; security is putting things lightly. And when I&#8217;m in a situation where Microsoft&#8217;s anti-open standards force Microsoft as a necessity, I tend to use a virtual machine to sandbox its activities.</p>
<p>On Mac OS X, I use a wonderful product called <a href="http://www.parallels.com/">Parallels</a>, which has the added bonus of being able to drag&#8217;n'drop files and directories between the guest operating system (Windows) and the host operating system (OS X).</p>
<p>After installing the latest Snow Leopard (10.6), I found that while I could drag files into Windows from OS X, the reverse was no longer true. Dragging something from the Windows desktop out to the OS X desktop, which used to work in Leopard (10.5), simply results in nothing happening.</p>
<p><center><img src="http://wwco.com/~wls/livejournal/paralllels-shared-services.png" alt="Parallels 4.x Shared Services Drag'n'Drop" title="Note how Drag'n'Drop is enabled" style="border: thin solid black;"/></center></p>
<p>Now, I&#8217;m aware that Apple did some pretty big changes under the hood in Snow Leopard. And, I&#8217;m aware that even the Finder got a fairly intensive overhaul. And, I&#8217;m even willing to accept that there might be bumps during the transition process, as the good folks at Parallels <a href="http://mac.softpedia.com/progChangelog/Parallels-Desktop-Changelog-17461.html">update their product to address little tidbits</a> like this.</p>
<p>However, I&#8217;m kinda surprised that this kind of thing snuck past testing. Even more to my surprise is that I don&#8217;t hear many people talking about it. Such conclusions lead me to think that perhaps I have a local configuration issue.</p>
<p>But then I heard from another user of Parallels that updated to Snow Leopard. He ran into the same problem: Drag&#8217;n'Drop worked only in one direction now.</p>
<p>Most of the Snow Leopard fuss currently centers on the fact that <a href="http://kb.parallels.com/en/6637">Parallels 2.x and 3.x no longer work under Snow Leopard</a>. Parallels made such a good and stable product that early users saw no need to update as it met their needs. However, Apple&#8217;s approach to operating systems is far more progressive than Microsoft&#8217;s, as they are willing to sacrifice backwards compatibility in software and hardware, if the technology is substantially old and the new benefits far outweigh the trouble. Thus, Apples tends to fix problems, rather than bandaid-ing workarounds; in the long haul everyone benefits with faster, smaller, more featured applications instead of bloatware.</p>
<p>However, I&#8217;m riding the Parallels 4.x wave on the bleeding edge. I&#8217;ve got the Parallels Tools installed. I&#8217;ve got the Enable Drag&#8217;n'Drop checked in the Shared Services config.  Still, nothing.</p>
<p>I did a little digging around and found one user, <a href="http://forum.parallels.com/showthread.php?t=93209">Jamie Daniel, who was experiencing the same problem</a>.  As his question went unanswered, I tried myself.</p>
<p>I wrote an entry in the Parallels forum entitled <a href="http://forum.parallels.com/showthread.php?t=93560">Drag files from Guest to Host no longer working</a>, detailing the problem.</p>
<p>And, while I was luckier than Jamie and got an answer, it was fairly clear someone gave a cursory glance and cut&#8217;n'pasted a response without reading what I was asking. In short that I <strong><em>did not</em></strong> want Windows to be able to read or write to <em>any</em> OS X drives. For, should Windows get a virus, I didn&#8217;t want it having free reign of the OS X filesystem to corrupt. Thus only I, via Drag&#8217;n'Drop, should be able to marshal content between the two environments.</p>
<p>Willing to accept the fact that I may have a configuration problem, despite being a power user of Parallels since day one, I am also willing to accept that this is simply a Snow Leopard compatibility issue that Parallels will soon be addressing. Problem is, I can&#8217;t seem to raise the issue to a level where someone can confirm or deny it.</p>
<p>Worse yet, I can&#8217;t seem to be able to login to Windows via the Finder anymore to mouse a Windows disk within OS X, where as I used to be able to do that as well. While workarounds, from using a USB disk (which mounts in both environments), <a href="https://www.getdropbox.com/referrals/NTYxMjgzNDk">DropBox</a>, and using the Windows Guest account&#8217;s Parallel&#8217;s mount point, I&#8217;d really like the old capability back.</p>
<p>So, I ask, Parallels 4.x users that are using Snow Leopard, <strong>are you no longer able to drag from Windows to the OS X desktop</strong>? </p>
<p><strong>If you can</strong>, how are you doing it? </p>
<p><strong>If you can&#8217;t</strong>, please <a href="http://forum.parallels.com/showthread.php?t=93560">head over to the Parallels forum</a> and let them know it&#8217;s broken for you as well. This is not an attack Parallels request, they&#8217;re good people &mdash; this is just to raise awareness to let them know the issue is real so they can look into it.</p>
<p><strong>UPDATE 14-Sep-2009:</strong> Found a work around, but I&#8217;m not happy about it. What I don&#8217;t like about it is that it appears to expose Windows disks to OS X. While I trust OS X, the inverse does not appear to be necessary to perform a Drag&#8217;n'Drop from OS X to Windows. I&#8217;d expect the Enable Drag-and-Drop to be enough.</p>
<p>If you turn on the Share All Disks with OS X, then Drag&#8217;n'Drop from the Windows desktop to OS X Desktop works.</p>
<p><CENTER><img src="http://www.wwco.com/~wls/livejournal/Parallels4DragHack.png" alt="Parallels 4 Drag'n'Drop Hack" style="border:thin solid black;" width="486" height="472" /></CENTER></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wwco.com/~wls/blog/2009/09/09/dragndrop-problems-with-parallels-4/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Snow Leopard: That Doesn&#8217;t Sound Like Apple</title>
		<link>http://www.wwco.com/~wls/blog/2009/08/30/snow-leopard-that-doesnt-sound-like-apple/</link>
		<comments>http://www.wwco.com/~wls/blog/2009/08/30/snow-leopard-that-doesnt-sound-like-apple/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 21:24:12 +0000</pubDate>
		<dc:creator>Walt Stoneburner</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Customer Service]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[common]]></category>
		<category><![CDATA[consistency]]></category>
		<category><![CDATA[customer]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[MacMini]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[price]]></category>
		<category><![CDATA[sales]]></category>
		<category><![CDATA[sense]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[Snow]]></category>

		<guid isPermaLink="false">http://www.wwco.com/~wls/blog/?p=649</guid>
		<description><![CDATA[Had a very strange experience in the Apple Store in Reston, VA where I learned three very disturbing things. Snow Leopard purchasers beware. Hardware purchases, stop in your tracks.]]></description>
			<content:encoded><![CDATA[<p>I went to the Apple Store today with a friend that was looking at buying a MacMini and another friend that was picking up a copy of Snow Leopard, which sells for $29.  That is, unless you&#8217;d <a href="http://www.amazon.com/dp/B001AMHWP8/?tag=slingcode-20">like a copy for $25</a>.</p>
<p>Apple&#8217;s policy toward operating systems has historically been a good one. There is no home, business, professional, expert, business, yadda-yadda-yadda flavors. There is no upgrade or full version. There is no pricing tier. Everything is one low price, you can upgrade or install fresh at any time.</p>
<p>And, if you buy a machine at the Apple Store it comes with the latest-and-greatest software, and if a new product on it comes out within 30-days, simply come back and pick up your updated version for either free or a very steeply discounted price. This is how it&#8217;s been at the Tyson&#8217;s Store for years. It shines of Apple customer service.</p>
<p>We went to the new Apple Store in Reston, VA and had the most disturbing news presented by Apple blue-shirt, John.</p>
<p>Unfortunately, I have no way of knowing at this time if what he told us is fact, fiction, or fallacy. So don&#8217;t take what you read here as gospel, but rather use it as guideline for formulating solid questions when you deal with Apple for the next few months.</p>
<p>#1) Apple had on display a Mac Box Set (OS X Snow Leopard, iLife &#8216;09, and iWork &#8216;09) for $169. My friend having iLife &#8216;08 and iWork &#8216;08 asked, &#8220;is it worth the cost to upgrade?&#8221; The Apple guy looked at us and said straight faced, &#8220;honestly, no&#8230; the features are minimal, just get <a href="http://en.wikipedia.org/wiki/Mac_OS_X_v10.6">Snow Leopard</a>.&#8221; Now, I appreciate his honesty and opinion, and that alone commanded enough respect for me to retain trust in Apple &mdash; much like <a href="http://en.wikipedia.org/wiki/Miracle_on_34th_Street">Macy&#8217;s sending people to Gimbel&#8217;s</a>. However, I suspect we got lucky and that was not the Apple corporate line. Nor would pointing out you can get it for <a href="http://www.amazon.com/dp/B001AMLPYM/?tag=slingcode-20">much less at about $114</a>.</p>
<p>#2) We noticed the word &#8220;upgrade&#8221; all over the box and asked, &#8220;do you have to <em>have</em> Leopard installed to install this?&#8221;  The answer, surprisingly, was <em>yes</em>.  This was an upgrade and not a regular OS X disc like Apple historically has done. We were told that the real OS wasn&#8217;t coming out until December. Yes, December. When asked about machine recovery, he confessed they had a special version in the back they could use under dire emergencies. This begs the question if $29 is an upgrade price, with the &#8216;full&#8217; OS will be the normal $120 later.</p>
<p><STRONG>Update 31-Aug-2009:</STRONG> An Apple employee in BestBuy also confirmed what&#8217;s out now is an upgrade path. Although according to him, if you buy a new machine (with Leopard on it) you get the Snow Leopard update for <em>free</em>, which sounds like the Steve Jobs&#8217;s Apple policy we&#8217;re used to.</p>
<p>#3) When we asked about the MacMini, we were told that it had Leopard on it and that if we wanted Snow Leopard, we&#8217;d have to buy that for an additional $29. However, the electronic Apple Store online was selling MacMini&#8217;s with Snow Leopard already installed, without the extra cost. I probed deeply about this. Did the machines really have Leopard, and not Snow Leopard? Yes, the excuse was that they hadn&#8217;t moved inventory with the old OS on it. I asked if one simply got the upgrade for free like Tyson&#8217;s always used to do. Again, no. When I pointed out that buying online was the-cost-of-Snow-Leopard cheaper, I was met by an indifferent shrug.</p>
<p>All three of these things were very non-Apple. </p>
<p>Again, I don&#8217;t know if it was the sales person, the store in general, or Apple taking a page from the Microsoft book of marketing. But suffice it to say there was an abrupt halt on major purchases today.</p>
<p>Customers expect two things from a business, common sense and consistency. Price is often a very distance third.</p>
<p><STRONG>A Side Note:</STRONG> Customer service plays a big role, and I have another Apple story which illustrates going above and beyond. In BestBuy, when we went to go get a copy of Snow Leopard, they were out of stock. However, while browsing another part of the store, the Apple employee came up and handed over a copy of Snow Leopard. Apparently, a FedEx shipment had just arrived, so he pulled one out of the box, and then hunted down our party in the whole store, on the off chance we hadn&#8217;t left yet. <em>That&#8217;s service.</em> You know that BestBuy&#8217;s floor staff would not have done that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wwco.com/~wls/blog/2009/08/30/snow-leopard-that-doesnt-sound-like-apple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Printing in Parallels</title>
		<link>http://www.wwco.com/~wls/blog/2009/08/12/printing-in-parallels/</link>
		<comments>http://www.wwco.com/~wls/blog/2009/08/12/printing-in-parallels/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 23:57:39 +0000</pubDate>
		<dc:creator>Walt Stoneburner</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[Parallels]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Trick]]></category>
		<category><![CDATA[31000]]></category>
		<category><![CDATA[err]]></category>
		<category><![CDATA[failed]]></category>
		<category><![CDATA[hp]]></category>
		<category><![CDATA[number]]></category>
		<category><![CDATA[printer]]></category>
		<category><![CDATA[printing]]></category>
		<category><![CDATA[pstocupsraster]]></category>
		<category><![CDATA[pstopdffilter]]></category>

		<guid isPermaLink="false">http://www.wwco.com/~wls/blog/?p=640</guid>
		<description><![CDATA[Using Parallels virtualization, I got this pretty scary error message: pstopdffilter/pstocupsraster failed with err number -31000.  I'm almost ashamed to tell you what the solution is to get past it.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.parallels.com/">Parallels</a> is a virtualization package for the Macintosh that primarily is used for running Microsoft Windows in a virtualized environment on OS X.</p>
<p>At some point you&#8217;re going to run into the problem of wanting to print something from the guest OS.  Do not try to install a Windows XP print driver for the device that&#8217;s connected directly to your Apple. That&#8217;s not how it works.</p>
<p>You have a virtual machine. Surprise, you have a virtual printer too.</p>
<p>To set it up is trivial:</p>
<ol>
<li>Stop your Windows VM if it&#8217;s running.</li>
<li>Open VM Configuration Editor (Parallels Desktop menu &#8211; Edit &#8211; Virtual Machine)</li>
<li>Add Parallel Port Printer to the VM Configuration: click &#8220;Add&#8221; &#8211; select &#8220;Parallel Port&#8221;, hit &#8220;Next&#8221; &#8211; select &#8220;Use a printer&#8221; &#8211; select the printer you have available in the Mac OS.</li>
<li>Make sure that you are able to print using that printer from the Mac OS side.</li>
<li>Start Windows and try printing some document using &#8220;HP Color LaserJet 8500 PS&#8221; (it&#8217;s generic driver that&#8217;s being used for printing from the Virtual Machine to any Mac OS compatible printer).</li>
</ol>
<div style="text-align:right"><em>&mdash;Source: <a href="http://kb.parallels.com/en/5036">Parallels Knowledge Base #5036</a></em></div>
<p>This creates a HP Color LaserJet 8500 PS printer, which then gets redirected to the host operating system&#8217;s default printer. Printing then works normally, queuing and all.</p>
<p>Now, I did run into this problem using Microsoft Office on Windows XP with a HP DeskJet 6980 connected wirelessly through an Apple AirPort Extreme in bridge mode:<br />
<center><strong>pstopdffilter/pstocupsraster failed with err number -31000</strong></center></p>
<p><STRONG>Here&#8217;s how I solved it.</STRONG><br />
I deleted the print queue on the host operating system, then I turned the power off and back on again on the printer, and tried again.</p>
<p>Seriously. I power cycled the printer. That&#8217;s all that was required. Second time through, it worked like a champ.</p>
<p>Big scary error message, itty-bitty solution.</p>
<p>NOTE: You will want to scan through your document if you&#8217;re using exotic fonts. In my case apostrophes were coming out as í.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wwco.com/~wls/blog/2009/08/12/printing-in-parallels/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Safari Problems Downloading .DMG Files</title>
		<link>http://www.wwco.com/~wls/blog/2009/08/03/safari-problems-downloading-dmg-files/</link>
		<comments>http://www.wwco.com/~wls/blog/2009/08/03/safari-problems-downloading-dmg-files/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 04:34:12 +0000</pubDate>
		<dc:creator>Walt Stoneburner</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[DMG]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[ZIP]]></category>

		<guid isPermaLink="false">http://www.wwco.com/~wls/blog/?p=632</guid>
		<description><![CDATA[A number of users are reporting that Safari 4 is no longer downloading .dmg files.  Here's how I fixed the problem when it started happening to me.]]></description>
			<content:encoded><![CDATA[<p>A while back I started having problems with Safari 4 being able to download files.  Normally when one clicks on a .dmg or .zip file, Safari downloads it.</p>
<p>Recently, it stopped working, either doing absolutely nothing or trying to load the file into the browser itself for display.  It was as if the MIME type wasn&#8217;t properly being handled.</p>
<p><STRONG>Here&#8217;s how I fixed it.</STRONG></p>
<p>It appears that <a href="http://yazsoft.com/">Speed Download</a>&#8217;s broswer plugin is to blame.  While it works amazingly well with Safari 3, it doesn&#8217;t seem to work quite right with Safari 4.0.3.</p>
<ol>
<li>Quit completely out of Safari.</li>
<li>Go to <strong>/Library/Internet Plug-Ins</strong> directory and locate the file <strong>SpeedDownload Browser Plugin.plugin</strong> and move it out of that folder.</li>
<li>Restart Safari.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.wwco.com/~wls/blog/2009/08/03/safari-problems-downloading-dmg-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MobileMe Sync Problems &#8211; Resolved</title>
		<link>http://www.wwco.com/~wls/blog/2009/07/25/mobileme-sync-problems-resolved/</link>
		<comments>http://www.wwco.com/~wls/blog/2009/07/25/mobileme-sync-problems-resolved/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 18:17:45 +0000</pubDate>
		<dc:creator>Walt Stoneburner</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[Web Places]]></category>
		<category><![CDATA[Conflict]]></category>
		<category><![CDATA[Conflicts]]></category>
		<category><![CDATA[DotMac]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[MobileMe]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[Resolved]]></category>
		<category><![CDATA[Resolving]]></category>
		<category><![CDATA[Steps]]></category>
		<category><![CDATA[Sync]]></category>
		<category><![CDATA[Synch]]></category>

		<guid isPermaLink="false">http://www.wwco.com/~wls/blog/?p=617</guid>
		<description><![CDATA[Apple's MobileMe service stopped syncing for me, claiming there was one conflict, which it wouldn't let me resolve.  Here are the steps and a Python script that fixes it.]]></description>
			<content:encoded><![CDATA[<p>Not very long ago, I noticed my iPhone was no longer pushing data up to <a href="http://www.apple.com/mobileme/">MobileMe</a>, and further investigation showed that my laptop was also having problems syncing. </p>
<p>The MobileMe icon had an exclamation mark in it, it told me there was 1 conflict, and if I tried to resolve it, nothing happened.  If I attempted a sync, it&#8217;d attempt it, but I&#8217;d get a system log full of errors with no obvious signs of successful data synchronization.</p>
<p>I was seeing ominous system log failures in Console like this repeated many times:</p>
<blockquote><p>Conflict Resolver[276]	[110660] |<strong>ISyncRecordGraphNode|Warning| Warning: Failed to look up record with Id</strong>: 09000000-0000-0000-1234-430001005678<br />
Conflict Resolver[276]	[110660] |<strong>ISyncRecordGraphNode|Warning| Warning: Failed to get entityName for record with Id</strong>: 09000000-0000-0000-1234-430001005678  (record = (null))<br />
Conflict Resolver[276]	[110660] |<strong>Conflict Resolver|Error| failed to look up parent relationshipName for entityName: (null) (exception = *** -[NSCFArray initWithObjects:count:]: attempt to insert nil object at objects[0])</strong></p></blockquote>
<p>There were other strange messages like this:</p>
<blockquote><p>Conflict Resolver[276]	[110660] |<strong>UI Helper Proxy|Error| failed to look up UIHelper for attributeName: calendar on entityName: (null)  (exception = *** -[NSCFArray initWithObjects:count:]: attempt to insert nil object at objects[0])</strong></p></blockquote>
<p>And this (my personal favorite as it has a sense of humor):</p>
<blockquote><p>Conflict Resolver[276]	[110660] |<strong>UI Helper Proxy|Warning| No data type returned for property &#8220;calendar&#8221; on entity &#8220;(null)&#8221;, displaying on blind faith&#8230;</strong>
</p></blockquote>
<p>And also this:</p>
<blockquote><p>Conflict Resolver[276]	[110660] |<strong>Conflict Resolver|Warning| Conflict Resolver: *** -[NSCFArray initWithObjects:count:]: attempt to insert nil object at objects[0]</strong><br />
Conflict Resolver[276]	<strong>*** -[NSCFArray objectAtIndex:]: index (-1 (or possibly larger)) beyond bounds (2)</strong></p></blockquote>
<p>My guess is that MobileMe has some globally unique identifier that represents one of my sync-able objects, and for some reason it&#8217;s missing.  That in turn throws off some collection count, and when things don&#8217;t balance out between what was expected and what was loaded, a software exception happens.</p>
<p>At that point, I was fairly sure I needed to converse with <a name="mobilemesupport" href="http://www.apple.com/support/mobileme/">MobileMe support</a>.  Apple has free chat-based support services, but it&#8217;s buried. Really buried. Really, really, buried.<OL><LI>Go to <a href="http://www.apple.com/support/mobileme/">http://www.apple.com/support/mobileme/</a></LI><LI>Expand <STRONG>Syncing With MobileMe</STRONG></LI><LI>Click <STRONG>Troubleshooting MobileMe Sync issues</STRONG></LI><LI>Click <STRONG>Chat Now</STRONG> at the bottom of the page.</LI></OL></p>
<p>It&#8217;s a good idea to have your machine and your MobileMe data backed up.  <a href="http://www.apple.com/macosx/what-is-macosx/time-machine.html">TimeMachine</a>, <a href="http://www.shirt-pocket.com/SuperDuper/">SuperDuper!</a>,  or <a href="http://www.bombich.com/software/ccc.html">Carbon Copy Cloner</a> will help you do this. </p>
<p><H3>Unregister and Re-Register the Machine</H3><br />
Bring up Apple / System Preferences&#8230; / MobileMe.  Go to the Sync tab, and at the bottom click on Advanced&#8230;</p>
<p>Then select the computer name in the list, and a Stop Syncing Computer&#8230; button will appear.  Press it.  Confirm with Unregister.</p>
<p>Then press the Register Computer button.  Press Done.</p>
<p>Check and set the synchronize with MobileMe to Manually.  Leave the preferences panel up, you&#8217;ll be back in a second.</p>
<p><H3>Blow Aware the Sync History</H3><br />
You&#8217;ll need to reset your sync history which requires the iSync tool and a Python script run at the command line:</p>
<ol>
<li>In the Finder, choose Applications from the Go menu, then double-click <strong>iSync</strong>.</li>
<li><strong>Choose Preferences from the iSync menu</strong>.</li>
<li>Click the <strong>Reset Sync History</strong> button.</li>
<li>When the window opens to <strong>confirm</strong> the reset, click Reset Sync History.</li>
<li>Close the Preferences window.</li>
<li><strong>Quit iSync</strong>.</li>
<li>Open the Utilities folder (located inside the Applications folder) and double click the terminal.</li>
<li>Paste this command in the Terminal and press return: &#8220;<strong>/System/Library/Frameworks/SyncServices.framework/Versions/A/Resources/resetsync.pl full</strong>&#8221; &#8211; without the quote marks. There will be no output.</li>
<li>Quit terminal.</li>
</ol>
<p><H3>Re-sync</H3><br />
Select the items you want sync&#8217;d.  Change the Synchronize with MobileMe back to Automatically.</p>
<p>You might get prompted with a request to sync immediately.  If you are trying to push everything on your machine to MobileMe, stepping on what&#8217;s there, then press cancel and follow the next step.  Otherwise confirm and skip the next step.</p>
<p><EM>This next part is optional and you do at your own risk, assuming you have a backup and this is what you intended to do:</EM><br />
Press the Advanced&#8230; button.  Click Reset Sync Data&#8230; and select the direction you want to sync, most likely computer to MobileMe.</p>
<p>At this point, the conflict disappears, but you&#8217;re no long able to sync either.  Move on to resetting the preferences.</p>
<p><H3>Resetting Preferences for MobileMe</H3><br />
In the MobileMe preferences pane, select the Account Tab, and click Sign Out&#8230;  Confirm with Sign Out.</p>
<p>Now provide a bogus username and password like:  blah@me.com / blahblahblah</p>
<p>You&#8217;ll get a name or password invalid message, but your log will show some interesting stuff.</p>
<blockquote><p>/Applications/System Preferences.app/Contents/MacOS/System Preferences[352]	Warning: <strong>Removed .Me password</strong><br />
[0x0-0x2c02c].com.apple.systempreferences[352]	com.apple.CSConfigDotMacCert-<strong>blah@me.com</strong>-SharedServices: Already loaded<br />
com.apple.launchd.peruser.501[206]	(com.apple.CSConfigDotMacCert-blah@me.com-SharedServices) <strong>Throttling respawn</strong>: Will start in 6 seconds<br />
com.apple.launchd.peruser.501[206]	(com.apple.CSConfigDotMacCert-blah@me.com-SharedServices[470]) <strong>Exited with exit code: 1</strong><br />
/System/Library/CoreServices/FileSyncAgent.app/Contents/MacOS/FileSyncAgent[462]	PIDFilePath() => &#8216;/Users/<em>yourname</em>/Library/FileSync/<em>01254cc20d18</em>/.pid&#8217;</p></blockquote>
<p>Sign back in.  Once again, go to the Sync tab and set Synchronize with MobileMe to Automatically.</p>
<p>You will get a message that says &#8220;A computer named [your machine name] is already registered with MobileMe synchronization server.&#8221; If so, press the &#8220;Use same name&#8221; button.</p>
<p>You may see this in the logs, not to worry:</p>
<blockquote><p>System Preferences[352]	First pass at computer registration failed with error: Error Domain=DotMacProxyErrorDomain Code=-100 UserInfo=0&#215;200e73280 &#8220;A computer with this name is already registered with MobileMe.&#8221;<br />
System Preferences[352]	First pass at computer registration failed with error: Error Domain=DotMacProxyErrorDomain Code=-100 UserInfo=0&#215;200e5fa20 &#8220;A computer with this name is already registered with MobileMe.&#8221;<br />
System Preferences[352]	LightweightMallornLoginSession is registered.</p></blockquote>
<p>Now check off the items you want sync&#8217;d again and press the Sync Now button.</p>
<p><EM>If you are trying to move all of your machine&#8217;s data to MobileMe, select the correct replace option when prompted.</EM></p>
<p>And just to be sure that it didn&#8217;t do a partial sync, press Sync Now a second time, just incase the automatic setting jumped the gun before you finished selecting all the desired items.</p>
<p>Your syncing woes should be resolved.</p>
<p><H3>But what about me.com?</H3><br />
At this point it&#8217;s a good idea to head over the your web account by going to <a href="http://me.com/">me.com</a> and logging in.</p>
<p>Check to make sure your data is there.</p>
<p><span style="color:red">At this point in time there is known issue with me.com in which the calendar and the contact data does not appear.  It is a known problem.  Apple is aware of it.  It is specific to your profile (other MobileMe accounts aren&#8217;t affected).  And you need to contact support (<A HREF="#mobilemesupport">see above</A>) and open a trouble ticket.  Apple only knows this as a &#8220;<a href="http://www.me.com/contacts/">contacts</a> and <a href="http://www.me.com/calendar/">calendar</a> loading issue&#8221; it has no formal title.</span></p>
<p>The error you see will be this message on a grey screen: <strong>MobileMe is unable to load your contacts. MobileMe could not load your information from the server. Try reloading the page. If this problem persists, contact MobileMe Support.</strong></p>
<p>You can try and clear out your Safari cookies and cache, but realistically this won&#8217;t work as other browsers, like <a href="http://www.getfirefox.com/">Firefox</a>, show the same thing.</p>
<ol>
<li>First click the log out button and close the MobileMe (me.com) window.</li>
<li>Click the safari title (next to the Apple logo) and select &#8220;empty cache.&#8221;</li>
<li>Next click the safari title and select preferences.</li>
<li>Click the security tab.</li>
<li>Click &#8220;show cookies&#8221; then hit &#8220;remove all&#8221;.</li>
<li>Now close the preferences.</li>
<li>After all that open a new browser window and log back into MobileMe.</li>
</ol>
<p>Apple can fix the problem by escalating to the next level of support, and this is most likely more desirable than closing your MobileMe account and opening another, which will force your MobileMe account name to change.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wwco.com/~wls/blog/2009/07/25/mobileme-sync-problems-resolved/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Mail: SafetyNet not needed&#8221; log messages</title>
		<link>http://www.wwco.com/~wls/blog/2009/07/20/mail-safetynet-not-needed-log-messages/</link>
		<comments>http://www.wwco.com/~wls/blog/2009/07/20/mail-safetynet-not-needed-log-messages/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 15:26:49 +0000</pubDate>
		<dc:creator>Walt Stoneburner</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[Net]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[safety]]></category>
		<category><![CDATA[SafetyNet]]></category>

		<guid isPermaLink="false">http://www.wwco.com/~wls/blog/?p=613</guid>
		<description><![CDATA[New messages about SafetyNet not needed are appearing in my logs from OS X's Mail.  Trying to figure out what they are. Looking for ideas as Google was dry.]]></description>
			<content:encoded><![CDATA[<p>Warning this is a geek-related post, if you&#8217;re looking for <a href="http://www.wwco.com/~wls/blog/category/photography/">photography</a> and <a href="http://www.wwco.com/~wls/blog/category/11/">humor</a>, try another entry or browse the <a href="http://www.napkincomics.com/">comics</a>.</p>
<p>I&#8217;ve noticed OS X&#8217;s Mail going something a little weird.  I&#8217;ve got <a href="http://projects.tynsoe.org/en/geektool/">GeekTool</a> pumping messages to my desktop in the background, and I keep seeing this filling the log:<br />
<blockquote>Mail: SafetyNet not needed &#8211; wrongState:0<br />
Mail: SafetyNet issues SELECT before CLOSE &#8211; wrongState:0</p></blockquote>
<p>I&#8217;m trying to figure out what it means.</p>
<p>I&#8217;ve also noticed before that happens, I see this from /Applications/Mail.app/Contents/MacOS/Mail:<br />
<blockquote>ATS AutoActivation: Query timed out. (elapsed 5.0 seconds.  params: queryString = {com_apple_ats_name_postscript == &#8220;Helv&#8221; &#038;&#038; kMDItemContentTypeTree != com.adobe.postscript-lwfn-font}, valueListAttrs = {<CFArray 0x1172d7bc0 [0x7fff70739ee0]>{type = immutable, count = 1, values = (<br />
	0 : <CFString 0x7fff70f312d0 [0x7fff70739ee0]>{contents = &#8220;kMDItemContentType&#8221;}<br />
)}}, sortingAttrs = {<CFArray 0x1172d3800 [0x7fff70739ee0]>{type = immutable, count = 1, values = (<br />
	0 : <CFString 0x7fff70f31490 [0x7fff70739ee0]>{contents = &#8220;kMDItemContentModificationDate&#8221;}<br />
)}}, scopeList = {<CFArray 0x11762b610 [0x7fff70739ee0]>{type = immutable, count = 1, values = (<br />
	0 : <CFString 0x7fff70f34290 [0x7fff70739ee0]>{contents = &#8220;kMDQueryScopeComputer&#8221;}<br />
)}}.)</p></blockquote>
<p>The only other interesting behavior is that sometimes when I close the laptop lid and it goes into calmshell sleep, when I open the lid, I soon find that Mail is locked up to the point that it needs a Force Quit to exit, as Quit is unresponsive.  Activity Monitor as well as Mail&#8217;s own activity status shows nothing going.</p>
<p>Anyone else seeing this behavior or know what it means?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wwco.com/~wls/blog/2009/07/20/mail-safetynet-not-needed-log-messages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FIX: undefined symbol: apr_ldap_ssl_init</title>
		<link>http://www.wwco.com/~wls/blog/2009/04/13/apr_ldap_ssl_init/</link>
		<comments>http://www.wwco.com/~wls/blog/2009/04/13/apr_ldap_ssl_init/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 14:10:38 +0000</pubDate>
		<dc:creator>Walt Stoneburner</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[9.04]]></category>
		<category><![CDATA[Apache2]]></category>
		<category><![CDATA[apr]]></category>
		<category><![CDATA[apr_ldap_ssl_init]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[httpd]]></category>
		<category><![CDATA[init]]></category>
		<category><![CDATA[Jaunty]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[repair]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[symbol]]></category>
		<category><![CDATA[symbolic]]></category>
		<category><![CDATA[undefined]]></category>

		<guid isPermaLink="false">http://www.wwco.com/~wls/blog/?p=456</guid>
		<description><![CDATA[Did an update to Ubuntu Jaunty and Apache stopped working with the message "undefined symbol: apr_ldap_ssl_init".  This post is how I fixed it.]]></description>
			<content:encoded><![CDATA[<p>This is a geek entry for resolving the problem:</p>
<blockquote><p>* Restarting web server apache2<br />
/usr/sbin/apache2: symbol lookup error: /usr/sbin/apache2: undefined symbol: apr_ldap_ssl_init  [fail]
</p></blockquote>
<p>Non-geeks will want to move along&#8230;<br />
<span id="more-456"></span></p>
<p>After a standard apt-get update, apt-get upgrade on Ubuntu 9.04 Jaunty, I was unable to start apache (httpd) due to an undefined symbol.</p>
<p>Suggested fixes of <a href="http://beerpla.net/2008/07/29/how-to-fix-symbol-lookup-error-usrsbinhttpd2-prefork-undefined-symbol-apr_ldap_ssl_init-2/">repairing broken symbolic links in /usr/lib</a>, <a href="http://ubuntuforums.org/showthread.php?t=981837">reinstalling the apr library</a>, and <a href="http://ubuntuforums.org/showthread.php?t=1029393">twiddling Apache&#8217;s ldap modules</a> didn&#8217;t work.</p>
<p>The fix came from inspiration left by <a href="http://agentzlerich.blogspot.com/">Rhys Ulerich</a>, <a href="http://beerpla.net/2008/07/29/how-to-fix-symbol-lookup-error-usrsbinhttpd2-prefork-undefined-symbol-apr_ldap_ssl_init-2/">who left a comment</a>, saying:</p>
<blockquote><p>I also ran into this problem, but the root cause was that I&#8217;d built the Apache Portable Runtime in /usr/local for some other development work, completely forgot about it, and apache2 was picking up libraries from /usr/local/lib before /usr/lib.</p></blockquote>
<p>Indeed this was the problem.</p>
<p><a href="http://www.ubuntu.com/">Ubuntu</a>, while my current favorite choice as best-Linux-distribution-ever, has the horrible problem of suffering from severe lag of keeping up to date with the latest <a href="http://subversion.tigris.org/">Subversion</a>.  Why this is so, I don&#8217;t know, but it&#8217;s forced us to have to build subversion manually &#8212; an easy enough task, but I&#8217;d really rather use an up-to-date repository.</p>
<p>Part of subversion&#8217;s build process is to build the APR library, although it&#8217;s better to simply use subversion-deps.</p>
<p>Through a set of manual builds and system updates, I ended up with a build in /usr/local/apr/lib and a build in /usr/lib.</p>
<p>By going to /etc/ld.so.conf.d, and doing grep apr *, I was able to find that I had a manually created file called usr-local.conf that contained /usr/local/apr/lib and /usr/local/BerkeleyDB.4.7/lib in it.</p>
<p>Deleting the /usr/local/apr/lib line, and then running # ldconfig, which altered the shared libraries loaded by the synamic linker run-time bindings, this solved the problem.</p>
<p>Apache2 was now looking at /usr/lib, and it found the apr library it wanted.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wwco.com/~wls/blog/2009/04/13/apr_ldap_ssl_init/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
