<?xml version="1.0" encoding="utf-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
  <title>Wright This Way</title>
  <link rel="alternate" type="text/html" href="http://www.wrightthisway.com/" />
  <modified>2010-02-28T05:42:16Z</modified>
  <tagline></tagline>
  <id>tag:www.wrightthisway.com,2010://1</id>
  <generator url="http://www.movabletype.org/" version="3.33">Movable Type</generator>
  <copyright>Copyright (c) 2010, Jim</copyright>
  <entry>
    <title>PAC AAI-NIS2</title>
    <link rel="alternate" type="text/html" href="http://www.wrightthisway.com/Articles/000620.html" />
    <modified>2010-02-28T05:42:16Z</modified>
    <issued>2010-02-27T23:30:17-06:00</issued>
    <id>tag:www.wrightthisway.com,2010://1.620</id>
    <created>2010-02-28T05:30:17Z</created>
    <summary type="text/plain">I&apos;ve taken the first step in cleaning up the cabling for my carputer with the installation of a Pacific Accessory Corporation AAC-NIS2 interface for Nissan/Infinity vehicles. My ride is a 2006 Sentra SE-R Spec V, and despite the fact that...</summary>
    <author>
      <name>Jim</name>
      
      <email>postmaster@wrightthisway.com</email>
    </author>
    <dc:subject>Carputer</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.wrightthisway.com/">
      <![CDATA[<p>I've taken the first step in cleaning up the cabling for my carputer with the installation of a Pacific Accessory Corporation <a href='http://www.pac-audio.com/productDetails.aspx?ProductId=119&CategoryID=24' target='_blank'>AAC-NIS2</a> interface for Nissan/Infinity vehicles.  My ride is a 2006 Sentra SE-R Spec V, and despite the fact that this vehicle isn't listed in their list of compatible models, the radio for the factory Rockford-Fosgate system had all the correct buttons, and supported a satellite radio, so I took a chance and it installed just fine.</p>

<p>This interface gives two RCA inputs direct to the rear of the radio, so no more AUX cable plugged into the front of the dash. The sound is a bit cleaner, frequency response seems a bit better, but overall volume is slightly lower; nothing that couldn't be compensated for.</p>

<p>Next step will be to run the cables for the VGA display down through the dash (instead of down the front), then tap some power for that and the new USB hub to replace the passive hub under my seat.  Final phase will be to properly route all of the cabling from the trunk under the carpet, and come up with a better way to power the MacBook.</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>MySQL issue with short password hashes...</title>
    <link rel="alternate" type="text/html" href="http://www.wrightthisway.com/Articles/000616.html" />
    <modified>2009-11-26T04:27:37Z</modified>
    <issued>2009-11-25T22:15:13-06:00</issued>
    <id>tag:www.wrightthisway.com,2009://1.616</id>
    <created>2009-11-26T04:15:13Z</created>
    <summary type="text/plain">Some time in the past, during an upgrade to the MySQL software here, I somehow missed a step and didn&apos;t upgrade privileges properly, and after upgrading to PHP 5.3, have now finally gotten the dreaded &apos;mysqlnd cannot connect to MySQL...</summary>
    <author>
      <name>Jim</name>
      
      <email>postmaster@wrightthisway.com</email>
    </author>
    <dc:subject>Web/html/Apache</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.wrightthisway.com/">
      <![CDATA[<p>Some time in the past, during an upgrade to the MySQL software here, I somehow missed a step and didn't upgrade privileges properly, and after upgrading to PHP 5.3, have now finally gotten the dreaded 'mysqlnd cannot connect to MySQL 4.1+ using old authentication' error when launching phpmyadmin.  A lot of googling failed to identify an easy fix, but did yield a few clues.</p>

<p>Some time back, MySQL expanded the 'user' table of the 'mysql' database to allow for longer password hashes.  But it seems that new hashes weren't generated, and the shorter hashes were still in place for those old user accounts  So, ultimately, the fix was simple, just reset the passwords for the old user accounts, using the same passwords, which would update the hash to the new longer version.</p>

<p>If in doubt, the following MySQL commands will show the critical fields:</p>

<p>mysql> use mysql<br />
mysql> select host, user, password from user;</p>

<p>This will show the above fields, the shorter password hashes are 16 bytes long, the newer version is 41 bytes in length.  All you need to do is update any of the shorter ones and you're done!</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>iTunes Syncing, Part 2</title>
    <link rel="alternate" type="text/html" href="http://www.wrightthisway.com/Articles/000610.html" />
    <modified>2009-08-21T02:36:32Z</modified>
    <issued>2009-08-17T12:09:54-06:00</issued>
    <id>tag:www.wrightthisway.com,2009://1.610</id>
    <created>2009-08-17T18:09:54Z</created>
    <summary type="text/plain">In my prior posting, I set up a script to handle the syncing of my iTunes library between my home system and the carputer. The script works fine, but executing it via the Terminal is a pain. With OS X,...</summary>
    <author>
      <name>Jim</name>
      
      <email>postmaster@wrightthisway.com</email>
    </author>
    <dc:subject>Mac</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.wrightthisway.com/">
      <![CDATA[<p>In my <a href='http://www.wrightthisway.com/Articles/000609.html#more' target='_blank'>prior posting</a>, I set up a script to handle the syncing of my iTunes library between my home system and the carputer.  The script works fine, but executing it via the Terminal is a pain.  With OS X, it is possible to rename a shell script with an extension of .command, which will allow it to be double clickable in the Finder, but this unfortunately will cause Terminal to launch, show the output, and then leave the Terminal window open when the script finishes.  There are a few hacks to get around this, but the most common solution I've found is to instead call the shell script via AppleScript.  As usual, this has caused a few additional headaches...</p>]]>
      <![CDATA[<p>The AppleScript portion is extremely straightforward.  Open Script Editor, and paste in the following:</p>

<p><tt><br />
-- do our sync<br />
do shell script "~/Documents/Scripts/sync.sh &> /dev/null &"<br />
</tt></p>

<p>Save this as an Application, and we're done.  The line above will execute out script, and spawn this as a separate process, meaning that AppleScript won't be waiting for the script to finish, it will kick it off, and the AppleScript will then quit.</p>

<p>The headache I ran into is that the <tt>pmset</tt> command wasn't quitting like it should have, the issue turned out to be that the process for that was no longer able to be found by the <tt>ps</tt> command, because the script was now being launched via AppleScript and not directly via the Terminal.  The solution was to use <tt>ps -e</tt> instead, so the working script is now as follows:</p>

<p><tt><br />
#!/bin/ksh</p>

<p># this command will keep the system from going to sleep, spawns a new processes<br />
`pmset noidle` &<br />
# get pid of the pmset process so we can kill it later<br />
pid=`ps -e | grep [p]mset | awk '{print $1}'`</p>

<p># set the log file to be placed in user's home directory<br />
theLog=~/sync.log</p>

<p>SERVER=10.0.0.5<br />
USER=username<br />
ping -c 1 $SERVER > /dev/null 2>&1<br />
if [ $? -ne 0 ]<br />
then<br />
  echo `date '+%m/%d/%Y %T - '` "server unreachable" >> $theLog<br />
else<br />
	echo `date '+%m/%d/%Y %T - '` "server found" >> $theLog<br />
	rsync -avz $USER@$SERVER:Music/iTunes/ ~/Music/iTunes >> $theLog<br />
fi</p>

<p>echo `date '+%m/%d/%Y %T - '` "Done"  >> $theLog</p>

<p># need to kill pmset we spawned earlier so system will sleep<br />
echo `date '+%m/%d/%Y %T - '` "killing $pid"  >> $theLog<br />
kill -9 $pid >> $theLog</p>

<p># Now tell system to go to sleep since we're done<br />
pmset sleepnow >> $theLog<br />
</tt></p>]]>
    </content>
  </entry>
  <entry>
    <title>iTunes syncing</title>
    <link rel="alternate" type="text/html" href="http://www.wrightthisway.com/Articles/000609.html" />
    <modified>2009-08-21T02:36:39Z</modified>
    <issued>2009-08-12T15:45:54-06:00</issued>
    <id>tag:www.wrightthisway.com,2009://1.609</id>
    <created>2009-08-12T21:45:54Z</created>
    <summary type="text/plain">Syncing an iTunes library between two computers isn&apos;t a straightforward task, normally for this I would simply drag the necessary files between two computers, but for the carputer project, this wasn&apos;t desirable. I need some way to keep the two...</summary>
    <author>
      <name>Jim</name>
      
      <email>postmaster@wrightthisway.com</email>
    </author>
    <dc:subject>Mac</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.wrightthisway.com/">
      <![CDATA[<p>Syncing an iTunes library between two computers isn't a straightforward task, normally for this I would simply drag the necessary files between two computers, but for the carputer project, this wasn't desirable.  I need some way to keep the two systems in sync with a minimum of fuss and effort.  Fortunately, there is a terminal command called rsync that is ideal for handling this task.  Rsync works over an ssh connection between the two systems, and since this is running via a script, the login for this connection needs to run without asking for a password, so the use of ssh keys is required.  There are a number of good tutorials on setting this up on the web, so I won't document that process here.</p>

<p>The script I need also needs to address a few other issues, including the system sleeping, which presented a few additional wrinkles.  As things stand now, the carputer will be a laptop, and will run via the power adapter most of the time.  When the car shuts off, the power adapter will be off, and the laptop will be on battery power.  The Energy Saver settings are set to sleep the laptop after 1 minute.  Obviously, if I'm in the middle of syncing data, I don't want the system to sleep, so the script will override this.</p>

<p>Finally, the script needs to check if the system we're syncing data from is reachable, and abort if it isn't.  So, that being said, here is the current script I'm using:</p>]]>
      <![CDATA[<p><tt><br />
#!/bin/ksh</p>

<p># this command will keep the system from going to sleep, spawns a new processes<br />
`pmset noidle` &<br />
# get pid of the pmset process so we can kill it later<br />
pid=`ps | grep [p]mset | awk '{print $1}'`</p>

<p><br />
# set the log file to be placed in user's home directory<br />
theLog=~/sync.log</p>

<p>SERVER=10.0.0.5<br />
USER=username<br />
ping -c 1 $SERVER > /dev/null 2>&1<br />
if [ $? -ne 0 ]<br />
then<br />
  echo `date '+%m/%d/%Y %T - '` "server unreachable" >> $theLog<br />
  exit 0<br />
else<br />
	echo `date '+%m/%d/%Y %T - '` "server found" >> $theLog<br />
	rsync -avz $USER@$SERVER:Music/iTunes/ ~/Music/iTunes >> $theLog<br />
fi</p>

<p>echo `date '+%m/%d/%Y %T - '` "Done"  >> $theLog</p>

<p># need to kill pmset we spawned earlier so system will sleep<br />
kill -9 $pid</p>

<p># Now tell system to go to sleep since we're done<br />
pmset sleepnow<br />
</tt></p>

<p>One additional thing I added some was simply logging of the script's output, I set up a variable called theLog with the file name.  Any lines that get echoed to the log will include the date, except for the output of the rsync command.</p>

<p>The server and user variables would be for the machine you're syncing data from, setting up this master machine with a static IP address would obviously be a good idea.  Since I'll only be performing this sync while the car is parked in the driveway, I know I'll be connected to my home wireless network, but it's possible that if the script ran while connected to another network that a machine with the specified IP might be found, but the rsync would then fail.  Additional programming could be put in place to check for that scenario, but for me isn't necessary at this point.</p>

<p>One tricky bit that this script needs to handle is to prevent the Mac from going to sleep while we're doing our sync.  Our Energy Saver settings are set to sleep after 1 minute on battery power, it is possible that our script could run longer than that depending on the amount of changed data that needs to sync.  There are some 3rd party tools that can prevent system sleep, but nothing that was ideal for what I wanted here.  After much Googling and experimenting, a relatively elegant solution presented itself.</p>

<p>The pmset command, used for interfacing with the Power Manager, in addition to being able to read and set various power settings (system sleep, hd spin down, display sleep, etc), also has a relatively unknown option to prevent the system from sleeping:  <tt>pmset noidle</tt>.  Now, the tricky part is that if you enter this command at the terminal prompt, the command runs, preventing the system from sleeping, and just sits there until you quit the process by typing Ctrl-C.  Not useful for a script.</p>

<p>What I've done is to tell my script to fork this process by appending an ampersand at the end, so that it will run independently. in the background, letting the rest of this script continue on.  In order to kill the process later, we need the process ID of this command, which is what that grep/awk line does.  There is actually an easier way to get the PID of a spawned process, but this command creates a new shell and runs the command in that shell, and simply quitting that shell wouldn't quit the <tt>pmset</tt> that is running there, so it was necessary to get the actual PID of that command in order to terminate it.</p>

<p>So, the system sets the log location, uses the pmset to tell the system to never sleep, , and next, we set the IP address and username for the machine we're connecting to, and do a test ping to see if that IP is reachable.  As my intention is to run this script while parked in my driveway, connected to my home wireless network, it wasn't necessary to perform any additional checks, but it is possible that if the system connects to a different wireless network, another system with that IP might be found, which would mean that the rsync will fail later, but for my use this wasn't worth the effort of coding around.</p>

<p>So, if we find out server is down that we want to be copying iTunes data from, then we log that fact, otherwise, we log that the server was found, and use rsync to connect to the home system, and copy files from the specified user's Music folder in their home directory, the ssh connection established will default us to that user's home directory, since we aren't specifying any path, the Music/iTunes/ folder from that location is what we're copying.  We specify the destination as the current user's home directory/Music/iTunes folder.  The -avz parameters will cause only changed data to be synced, new files will be copied, removed files will be deleted.</p>

<p>When the first rsync is done, everything will need to be copied, so obviously it's preferred to do this while running on AC power when this is first setup.  After that, changes should be minimal, and will only take a few moments or minutes, depending on the amount of changed data.</p>

<p>After the rsync completed, we kill the <tt>pmset</tt> process we forked earlier, echo to the log that we're done and about to sleep, then finally use <tt>pmset</tt> again to tell the system to sleep now, and we're done!</p>]]>
    </content>
  </entry>
  <entry>
    <title>Carputer Software</title>
    <link rel="alternate" type="text/html" href="http://www.wrightthisway.com/Articles/000608.html" />
    <modified>2009-08-21T02:36:52Z</modified>
    <issued>2009-08-11T12:48:08-06:00</issued>
    <id>tag:www.wrightthisway.com,2009://1.608</id>
    <created>2009-08-11T18:48:08Z</created>
    <summary type="text/plain">There are a number of front ends used for Mac based carputers, unfortunately most of them are either abandoned projects, lacking in features or polish, or otherwise not quite exactly what I wanted. My main objective was simply to use...</summary>
    <author>
      <name>Jim</name>
      
      <email>postmaster@wrightthisway.com</email>
    </author>
    <dc:subject>Mac</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.wrightthisway.com/">
      <![CDATA[<p>There are a number of front ends used for Mac based carputers, unfortunately most of them are either abandoned projects, lacking in features or polish, or otherwise not quite exactly what I wanted.  My main objective was simply to use this as a big, fancy iPod, my old click-wheel iPod just isn't quite cutting it anymore in the car.  Something that used cover flow would be ideal, easy to navigate, clean interface, in short, what I was looking for was basically already part of the Mac OS, Front Row.</p>

<p>My main issue with Front Row, though, was that my plan was to use a touchscreen interface for the carputer, and Front Row did not allow for such use, it used keyboard input only, or the Apple IR remote, which is basically a remote keyboard, mouse or similar inputs aren't used.  What I wanted, ideally, would have been some way to remap the touchscreen input, so that I could touch the top or bottom of the display for up/down arrows, left/right sides for left/right, etc.  Unfortunately, I wasn't able to come up with any software that would let me capture inputs this way, so I was back to square one.</p>

<p>A number of folks had recommended the <a href='http://www.griffintechnology.com/products/powermate' target='_blank'>Griffin PowerMate</a> for controlling Front Row, but I wasn't terribly happy with that solution either.  At this point, my plan is to use a <a href='http://www.logitech.com/index.cfm/gaming/pc_gaming/gamepads/devices/301&cl=us,en' target='_blank'>Logitech Precision Gamepad</a> to control the action, and the <a href='http://www.usboverdrive.com/' target='_blank'>USB Overdrive</a> software to remap the controls for what I need.</p>

<p>After some testing, I found that I really only need four keystrokes, up, down, return, and escape to do all I need done in Front Row.  My plan for phase two of this project is to disassemble the gamepad, remove the d-pad portion of the controller (lots of soldering and hacking there) and fabricate a new housing for this that would be placed at the steering wheel for easy access, that is, unless some better idea comes along.</p>

<p>So, with the controlling part done, the next thing I needed done in software was a way to keep my tunes in sync with my home system.  Time to start coding...</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>Carputer almost ready</title>
    <link rel="alternate" type="text/html" href="http://www.wrightthisway.com/Articles/000607.html" />
    <modified>2009-08-21T02:37:11Z</modified>
    <issued>2009-08-10T20:17:05-06:00</issued>
    <id>tag:www.wrightthisway.com,2009://1.607</id>
    <created>2009-08-11T02:17:05Z</created>
    <summary type="text/plain">Back in April, I started work on a Carputer project for my new car, a 2006 Nissan Sentra SE-R Spec V. After some planning, purchasing of parts, testing of software, etc, I&apos;m just about ready to begin a rough install...</summary>
    <author>
      <name>Jim</name>
      
      <email>postmaster@wrightthisway.com</email>
    </author>
    <dc:subject>Mac</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.wrightthisway.com/">
      <![CDATA[<p><a href='http://www.wrightthisway.com/Articles/000602.html' target='_blank'>Back in April</a>, I started work on a Carputer project for my new car, a 2006 Nissan Sentra SE-R Spec V.  After some planning, purchasing of parts, testing of software, etc, I'm just about ready to begin a rough install this week as a proof of concept.  Basically this will involve placing the key parts where they need to go, but the cables will be exposed and everything can be quickly removed.  I've got a road trip coming up next week, so this is a perfect time for a good test.</p>

<p>The software was the trickiest part lately, I had to set up some custom scripts to do the iTunes library syncing with my home desktop, and coming up with a convenient way to control Front Row was also a challenge.  I'll post a series of articles on the various pieces of the project.</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>Nintendo DS &amp; AirPort Extreme</title>
    <link rel="alternate" type="text/html" href="http://www.wrightthisway.com/Articles/000606.html" />
    <modified>2009-07-10T18:23:48Z</modified>
    <issued>2009-07-10T12:20:32-06:00</issued>
    <id>tag:www.wrightthisway.com,2009://1.606</id>
    <created>2009-07-10T18:20:32Z</created>
    <summary type="text/plain">Got the kids a pair of Nintendo DS Lites, and after a few days, they got around to playing with the WiFi that&apos;s built into them. And of course, they didn&apos;t work with my wireless setup. Fortunately, the fix was...</summary>
    <author>
      <name>Jim</name>
      
      <email>postmaster@wrightthisway.com</email>
    </author>
    <dc:subject>Mac</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.wrightthisway.com/">
      <![CDATA[<p>Got the kids a pair of Nintendo DS Lites, and after a few days, they got around to playing with the WiFi that's built into them.  And of course, they didn't work with my wireless setup.  Fortunately, the fix was relatively straightforward (eventually).</p>]]>
      <![CDATA[<p>Both the original Nintendo DS and the newer DS Lite have built in WiFi.  The problem I ran into though was that my AirPort Extreme was set to use WPA encryption, not the lesser (and more easily hacked) WEP encryption, which also required the rather ugly 13 character passphrase.  I did test briefly using WEP here, but the thought of having to enter that 13 character phrase on every WiFi enabled device in the house (multiple laptops, multiple desktops w/WiFi, a pair of iPhones, the two DSs), plus having to do this for any guest systems just made this totally unattractive.  So, in the end, I decided to set the wireless security to None.</p>

<p>However, all is not lost!  I decided to use the old fallback, MAC Address Access Control.  Basically, this involved me adding the <a href='http://en.wikipedia.org/wiki/MAC_address' target='_blank'>MAC address</a> for each device to the Access List on the AirPort Extreme, most every modern router will have a similar feature.  With the AirPort, I was able to go to the Advanced settings and view the log of connections, so I just fired up an internet connection on all my devices (took a few minutes of going around the house and firing these up one at a time), then going back and copying the MAC addresses out of the log entries, and giving each a description for the device (important to remember the order used!), and in about 10 minutes I was done.</p>

<p>As a last step, I changed the Default setting to disallow access, so that only devices specifically listed will have wireless access.  The down side is that any guest systems will need to be specifically added, or have the Default reset to allow access temporarily, either should work just fine.</p>]]>
    </content>
  </entry>
  <entry>
    <title>Updates - Postfix, Dovecot, 10.5.7</title>
    <link rel="alternate" type="text/html" href="http://www.wrightthisway.com/Articles/000605.html" />
    <modified>2009-07-07T04:10:55Z</modified>
    <issued>2009-07-06T22:03:48-06:00</issued>
    <id>tag:www.wrightthisway.com,2009://1.605</id>
    <created>2009-07-07T04:03:48Z</created>
    <summary type="text/plain">Finally got around to upgrading from 10.5.6 to 10.5.7, good news, nothing broke Postfix this time! Took the opportunity to also upgrade Postfix, now at 2.6.2 here. Nothing tricky about the upgrade, just follow the standard build instructions. Also upgraded...</summary>
    <author>
      <name>Jim</name>
      
      <email>postmaster@wrightthisway.com</email>
    </author>
    <dc:subject>Mac</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.wrightthisway.com/">
      <![CDATA[<p>Finally got around to upgrading from 10.5.6 to 10.5.7, good news, nothing broke Postfix this time!</p>

<p>Took the opportunity to also upgrade Postfix, now at 2.6.2 here.  Nothing tricky about the upgrade, just follow the standard build instructions.  Also upgraded Dovecot from 1.13 to 1.2, just released.  Again, nothing terribly tricky, just read the docs.</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>Carputer</title>
    <link rel="alternate" type="text/html" href="http://www.wrightthisway.com/Articles/000602.html" />
    <modified>2009-08-21T02:37:30Z</modified>
    <issued>2009-04-21T23:35:34-06:00</issued>
    <id>tag:www.wrightthisway.com,2009://1.602</id>
    <created>2009-04-22T05:35:34Z</created>
    <summary type="text/plain">And now for something completely different. I&apos;ve got a new ride in my driveway, and despite it having an excellent stereo, the only iPod integration is an Aux jack at the front of the radio. Ugh. After researching various methods...</summary>
    <author>
      <name>Jim</name>
      
      <email>postmaster@wrightthisway.com</email>
    </author>
    <dc:subject>Mac</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.wrightthisway.com/">
      <![CDATA[<p>And now for something completely different.</p>

<p>I've got a new ride in my driveway, and despite it having an excellent stereo, the only iPod integration is an Aux jack at the front of the radio.  Ugh.  After researching various methods of integrating an iPod into the existing equipment, I found a rather nice unit from <a href='http://www.harmankardon.com/product_detail.aspx?Region=USA&Country=US&Language=ENG&cat=DP1&prod=DP%201US&sType=C' target='_blank'>Harmon Kardon</a> which is unfortunately discontinued.  A nice external display mounted on the dash to display info on an iPod tucked away in a glove compartment.  Since this wasn't an option, I explored further.</p>

<p>Apparently the big geeky thing these days is to install what's commonly called a Carputer, a computer that mounts somewhere in the car, generally tying into the car stereo, and using some form of touch panel display at the dash.  These are generally DIY systems with various degrees of quality and style.  But, having a number of spare parts lying around, this may be just the thing for me to tackle.</p>

<p>First steps will be to document the existing stereo setup, and see how best to route audio in.  I've got a few ideas on where to mount the screen which should give a nice stealth look to the casual observer, and of course, this will all be run under OS X.  Stay tuned...</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>Courier migration to Dovecot</title>
    <link rel="alternate" type="text/html" href="http://www.wrightthisway.com/Articles/000601.html" />
    <modified>2009-07-07T04:08:35Z</modified>
    <issued>2009-03-24T12:13:09-06:00</issued>
    <id>tag:www.wrightthisway.com,2009://1.601</id>
    <created>2009-03-24T18:13:09Z</created>
    <summary type="text/plain">I&apos;ve dumped the old Courier IMAP software that I had been using for POP/IMAP in favor of Dovecot. I had no real reason to do so, Courier IMAP was running fine (though I did have issues during install last time...</summary>
    <author>
      <name>Jim</name>
      
      <email>postmaster@wrightthisway.com</email>
    </author>
    <dc:subject>Postfix</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.wrightthisway.com/">
      <![CDATA[<p>I've dumped the old Courier IMAP software that I had been using for POP/IMAP in favor of Dovecot.  I had no real reason to do so, Courier IMAP was running fine (though I did have <a href="http://www.wrightthisway.com/Articles/000443.html" target="_blank">issues during install</a> last time around).  However, Dovecot does seem to be the new hotness, so I decided to give it a go.</p>]]>
      <![CDATA[<p>Much has been said elsewhere about Dovecot's superior performance, but with my little server that isn't much of a concern, but there are fewer files to mess with, and the overall operation does seem more streamlined.  A single process handles authentication, IMAP, and POP, spawning what it needs automatically.</p>

<p>The tricky part was integrating with Postfix Admin and the virtual user setup, but there were guides online that assisted with most of this.  As I had stretched this upgrade process out over several weeks of fiddling with the server, I can't point to any single definitive source for upgrade advice, but some Googling will find what you're looking for.</p>

<p>My major headache came with the courier-dovecot-migrate script, and its insistence that I had no mailboxes.  Online advice claimed that this was normal, and that it would work when the actual conversion was done, but even then it still reported zero mailboxes, but apparently DID do its thing.</p>

<p>The last hurdle was specifying the exact path for my virtual users, in my case, /var/mail/vhost/%d/%n, and after that it was working fine.</p>

<p>There are some good debugging options, which helped greatly.</p>]]>
    </content>
  </entry>
  <entry>
    <title>More updates break Postfix</title>
    <link rel="alternate" type="text/html" href="http://www.wrightthisway.com/Articles/000600.html" />
    <modified>2009-03-11T06:03:39Z</modified>
    <issued>2009-03-11T00:03:06-06:00</issued>
    <id>tag:www.wrightthisway.com,2009://1.600</id>
    <created>2009-03-11T06:03:06Z</created>
    <summary type="text/plain">I&apos;m assuming it was the 10.5.6 update, possibly a security update, I don&apos;t know. But Postfix broke again after the install finished. Same nonsense with many log entries about files not being owned by Postfix, as before, running a new...</summary>
    <author>
      <name>Jim</name>
      
      <email>postmaster@wrightthisway.com</email>
    </author>
    
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.wrightthisway.com/">
      <![CDATA[<p>I'm assuming it was the 10.5.6 update, possibly a security update, I don't know.  But Postfix <a title="Wright This Way: Apple Security Update 2008-07 breaks Postfix" href="http://www.wrightthisway.com/Articles/000581.html" target="_blank">broke again</a> after the install finished.   Same nonsense with many log entries about files not being owned by Postfix, as before, running a new 'make upgrade' fixed that up.</p>

<p>Had one last problem that was new, Postfix launched, but wasn't receiving mail.  main.cf had an entry for inet_interfaces that had previously been set to 'all', but was no longer.  Changing that back and relaunching Postfix cured the issue.<br />
</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>Postfix Admin and error 105</title>
    <link rel="alternate" type="text/html" href="http://www.wrightthisway.com/Articles/000594.html" />
    <modified>2009-02-09T03:32:20Z</modified>
    <issued>2009-02-07T19:59:06-06:00</issued>
    <id>tag:www.wrightthisway.com,2009://1.594</id>
    <created>2009-02-08T01:59:06Z</created>
    <summary type="text/plain">Spent some time struggling to upgrade my old Postfix Admin install from 2.1.0 to 2.2.1.1, kept running up against the following error: DEBUG INFORMATION: Invalid query: Can&apos;t create table &apos;./postfix/vacation_notification.frm&apos; (errno: 150) Seems like others have had this, but I...</summary>
    <author>
      <name>Jim</name>
      
      <email>postmaster@wrightthisway.com</email>
    </author>
    <dc:subject>Postfix</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.wrightthisway.com/">
      <![CDATA[<p>Spent some time struggling to upgrade my old <a href='http://sourceforge.net/projects/postfixadmin/' target='_blank'>Postfix Admin</a> install from 2.1.0 to 2.2.1.1, kept running up against the following error:</p>

<p><tt><br />
DEBUG INFORMATION: <br />
Invalid query: Can't create table './postfix/vacation_notification.frm' (errno: 150)  <br />
</tt></p>

<p>Seems like others have had this, but I didn't find a solution posted.  Some time Googling and investigating MySQL docs finally had me stumbling across the answer.  The MySQL user 'postfixadmin' wasn't originally granted sufficient privileges to the database, and a prior ALTER step hadn't executed, and more importantly, hadn't been flagged as an error.  Granting this user the ability to Alter, Create, Drop, and all other structure related commands then running the setup.php again resolved the issue.</p>

<p>Hope this helps someone out there.</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>Using an iPhone without service</title>
    <link rel="alternate" type="text/html" href="http://www.wrightthisway.com/Articles/000593.html" />
    <modified>2009-02-03T18:09:00Z</modified>
    <issued>2009-02-03T12:08:52-06:00</issued>
    <id>tag:www.wrightthisway.com,2009://1.593</id>
    <created>2009-02-03T18:08:52Z</created>
    <summary type="text/plain">This won&apos;t help the 3G crowd, but if you have an original iPhone and for whatever reason no longer have cellular service with it, be sure to check out Apple&apos;s Knowledgebase article &apos;Using an original iPhone without a wireless service...</summary>
    <author>
      <name>Jim</name>
      
      <email>postmaster@wrightthisway.com</email>
    </author>
    <dc:subject>iPhone</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.wrightthisway.com/">
      <![CDATA[<p>This won't help the 3G crowd, but if you have an original iPhone and for whatever reason no longer have cellular service with it, be sure to check out Apple's Knowledgebase article '<a title="Using an original iPhone without a wireless service plan" href="http://support.apple.com/kb/HT3406" target="_blank">Using an original iPhone without a wireless service plan</a>' , which will let you use the phone as an iPod Touch, including WiFi, store apps, etc.</p>

<p>You'll need either the original SIM, or a replacement SIM from your carrier, normally available for a small fee.<br />
</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>Otterbox Impact case for iPhone 3G</title>
    <link rel="alternate" type="text/html" href="http://www.wrightthisway.com/Articles/000589.html" />
    <modified>2008-12-22T17:51:55Z</modified>
    <issued>2008-12-19T19:38:13-06:00</issued>
    <id>tag:www.wrightthisway.com,2008://1.589</id>
    <created>2008-12-20T01:38:13Z</created>
    <summary type="text/plain">The great folks at Otterbox have been kind enough to send over a sample of their latest case for the iPhone 3G, the iPhone 3G Impact Case. Not having a 3G iPhone (yet!) myself, I&apos;ve asked my good friend Tre...</summary>
    <author>
      <name>Jim</name>
      
      <email>postmaster@wrightthisway.com</email>
    </author>
    <dc:subject>iPhone</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.wrightthisway.com/">
      <![CDATA[<p>The great folks at Otterbox have been kind enough to send over a sample of their latest case for the iPhone 3G, the <a href=http://www.otterbox.com/iphone-cases/iphone-3g-impact-case/' target='_blank'>iPhone 3G Impact Case</a>.  Not having a 3G iPhone (yet!) myself, I've asked my good friend Tre to lend a hand with this review.  What follows is his report.</p>]]>
      <![CDATA[<p style="float:right;"><img style='border: thin solid #aaaaaa; margin: 3px;' src="http://www.wrightthisway.com/images/otterbox_impact.jpg" /></p>I have been testing the OtterBox case for the iPhone 3G for the past month or so, and have found it to be very sturdy and protective of the phone itelf.  The case is made out of a single piece of silicone rubber that you stretch over the iPhone.  The case fits relatively snugly, although the long vertical sides feel like they aren't as firm, but that may be from continual removal and reinsertion of the phone during the testing.

<p>The case feels extremely solid, and I have taken to being a lot less careful with my phone, and will toss it on the desk as opposed to placing it down.  Granted, 4 inches of toss isn't a lot, but with one broken glass face in my iPhone career, this says a lot about the comfort I have in its ability to protect the iPhone.</p>

<p>The corners and back of the case are thicker, ostensibly because those are the points that are most likely to cause the most damage if it drops, but because of the way that it's designed, it makes it much easier to grasp than the naked iPhone.  I have found it much easier to hold the phone, especially for long calls without worrying about it slipping at all.  On the inside of the case on the corners, the rubber is sort of corrugated, which allows it to absorb some of the shock of a drop of the phone at those points.  This works well; I have found myself playing with the phone and bouncing it on the corners as I'm sitting at my desk.</p>

<p>All of the ports are fully accessible, and I had no problems plugging anything in.  Because of the case design, I find myself holding the phone in a more consistent manner, and don't have to continually adjust the phone location to get the earpiece lined up with my ear (as I do with a non-encased iPhone). I do however, have a gripe with the thickness of the case around the ringer silence switch- if you don't have fingernails, you are fighting a battle to get your finger through the thickness to turn it on or off.  Less thickness near the switch would be a better design choice, IMHO.</p>

<p>I like this case a lot, but will probably not continue to use it, just because of the way that I carry my phone: in my pants pocket.  The rubber case is awesome in its protection capabilities, and unfortunately also in its ability to cause high amounts of friction when I try to either put it in or pull it out.  And when I'm driving, the last thing I want to be worried about is fighting my pocket when I'm pulling this out to answer a call (California headset laws notwithstanding).  I'm torn if using another material for the case would be a good thing, as the shock absorption properties are one of the biggest benefits of the Otterbox case, but something that's a little less grabby would be appreciated.  For someone that has a purse or carries it in a jacket, this probably wouldn't be as big a concern as it was for me.</p>

<p>Bottom line: if you're a person that likes an industrial-style case that offers industrial-strength support, this would be a hard case to beat.</p>

<p>Pros: one piece construction, additional rubber support on the corners, easy access to the ports</p>

<p>Cons: ringer switch not easy to access, rubber casing grabs on cloth pockets</p>]]>
    </content>
  </entry>
  <entry>
    <title>Apple Security Update 2008-07 breaks Postfix</title>
    <link rel="alternate" type="text/html" href="http://www.wrightthisway.com/Articles/000581.html" />
    <modified>2008-10-17T02:47:32Z</modified>
    <issued>2008-10-16T20:47:23-06:00</issued>
    <id>tag:www.wrightthisway.com,2008://1.581</id>
    <created>2008-10-17T02:47:23Z</created>
    <summary type="text/plain">At least, if you have compiled your own version it does... More info on this update here. After running this update and restarting, not only did Postfix not launch correctly, but my logs quickly filled up with warnings about every...</summary>
    <author>
      <name>Jim</name>
      
      <email>postmaster@wrightthisway.com</email>
    </author>
    <dc:subject>Mac</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.wrightthisway.com/">
      <![CDATA[<p>At least, if you have compiled your own version it does...  More info on this update <a title="About Security Update 2008-007" href="http://support.apple.com/kb/HT3216" target="_blank">here</a>.</p>

<p>After running this update and restarting, not only did Postfix not launch correctly, but my logs quickly filled up with warnings about every single file on my drive not being owned by Postfix.  Several reboots later I was finally at the point where I could try troubleshooting this, and the easiest fix was to just run a new 'make upgrade' on my current postfix install.</p>

<p>Also, be sure to remove /System/Library/LaunchDaemons/org.postfix.master.plist before rebooting, as this file won't work for a real mailserver, if you were using a .plist in this location to start postfix previously, you'll need to restore a backup of your original file or recreate it from scratch.<br />
</p>]]>
      
    </content>
  </entry>

</feed>