My Apple Magic Trackpad

I bought an Apple Magic Trackpad for use with my Windows PC. I’d read that you can use the Bootcamp drivers to make it work.

It doesn't work well.

It is fine for a few minutes, then it flakes out, and then it is fine again. "Flakes out" means that pointer movement becomes spastic, sometimes it moves only in one axis, etc.

So I thought I'd move it to my Ubuntu PC. I'd read that Touchegg worked well. I'm sure it does for some people, but I could either get my Trackpad to work or my keyboard, and I'm not ready to give up my keyboard.

I would up using it with my MacBook Pro! Usually, I'm quite happy with my MacBook's keyboard and touchpad. But when I'm one-hand browsing, I prefer to rest my forearm on the table and that causes the sharp edge of my MacBook to press on my wrist, which is uncomfortable.

Since the Magic Touchpad has a lower front edge, there's no sharp edge on my wrist.

Ironic, because I'd never have bought it for this purpose, but that's where it is most useful.

My (Draft) Internet Content Creation Propagation Strategy

With

  • Google+
  • Twitter
  • Facebook
  • Tumblr
  • My Input Jam blog
  • Delicious/Pinboard/Zootool/Google Bookmarks </ul> -- I could spend my whole day just pushing content to these different places. I'd like to do most of my content pushing to one place, and have it propagate elsewhere. I might have certain specialized content, which I'd push to just one of these, but general content should go via one 'hub.'

    I was thinking I'd post to Tumblr and use ifttt to replicate to the others. That won't cover Input Jam. I could post everything to Input Jam and use an RSS feed to ifttt to feed the others, or I could sunset Input Jam.

    Input Jam has user comments, and Tumblr doesn't. But if I can post to Tumblr and get it to push to Input Jam, then I'd still have comments.


    Conceptually, that's all really lovely. Practically speaking, I think that links and blogging are fundamentally different things. Long-form blogging versus tweeting might be different things but if you simply truncate long-form posts to 140 characters, you can treat tweets and truncated blogging as fundamentally the same. For me, most photos and home videos are private, so I'll post the occasional shared pic/video with a blog post.

    So store all links in a link repository (e.g. Delicious) and replicate out from there; store all blog entries in a blog repository and replicate out from there.

    Some might argue that re-posting my blog entries dilutes my brand. If I ever get a following, then I'll figure out how not to dilute. For now, exposure is the more important item.

    Which link/bookmark engine? Shareaholic to post would be great if it would post to all its services at once. Unfortunately, it is nothing more than a drop-down menu with each service's bookmarklet. I'll post via Posterous, and use ifttt to push bookmarks elsewere. Delicious is my primary data store. Even with the unpopular re-launched edition, post-Yahoo, it is still the common denominator which other engines can import/export.

    Which blog engine for the primary posting? Posterous.

    Posterous is pretty much the brain-dead, obvious choice for blogging, if you want your content to get pushed to other locations. When there's a tool that is specifically designed for the job at hand, use it.


    Edit: Not so fast. In practice, Posterous only pushes a subset of the posting when it pushes content to your other servers. And I'm finding that Posterous reports errors in logging in when it attempts to access Input Jam. Posterous doesn't post my links to Delicious as links, it posts links to the Posterous posting!

    • The entry point for bookmarks is Delicious.
    • Blog content goes to Input Jam.
    • Replication that can be accomplished from those sources will be the limit of my replication. </ul>

Delete RSS Feeds and Journal Folders From Outlook 2007 (May work in other releases too)

First, exit Outlook.

Regedit:

HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\12.0\Outlook\Options\RSS
DWORD: Disable
Value: 1

HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\12.0\Outlook\Options\Journal
DWORD: Disable
Value: 1

Then run MFCMapi and delete the folders:

  • Click OK when it shows its start-up message.
  • Click Session->Logon and Display Store Table.
  • If you get a prompt to choose a profile, choose the one you want to change.
  • Double-click on Mailbox... in the list.
  • Expand the tree control to show Root->IPM_Subtree
  • Right-click on the folder to delete, and select Delete. </ul>

    Start up Outlook and bask in the glory of success.

iTunes: An unknown error occurred 1660

I was recently asked to help someone who was getting errors after iTunes syncs. The message was “An unknown error occurred. (1660)”

It didn’t happen after every sync, but if you exited iTunes, rebooted the iPhone and you let it sync, it happened every time.

The resolution was to uninstall something called RecoveryGuard. Recovery guard ostensibly prevents iTunes from putting your phone into recovery mode and convinces iTunes that your iPhone always has the latest software. Somewhere along the way, Apple released an update for iTunes that doesn’t like this. I can’t say for certain exactly when it showed up, but it is present with iTunes 10.4.1 on OS X Lion.

Inserting an Image Into a Cell In a Table in PowerPoint 2007

I wanted to insert an image of a flag into a cell in a table in PowerPoint. The obvious thing to do is to copy a picture to the clipboard, and then press control-V to paste the image. Sadly, this pastes the image onto the PAGE in PowerPoint, and not into the CELL. The problem is that if you move/resize the table, the image doesn’t move with the table.

You can find suggestions around the web to set your picture to be the background for the cell. However, if you do this, your picture gets stretched to fit the cell, distorting your picture.

In my particular case, the cell has a constant width, so I only needed to ensure that the picture’s height didn’t get stretched. You can apply the following technique to address width-stretching, with a little more effort.

  • Right-click in the cell.
  • Select "Split Cells".
  • Split the cell into 1 column and 3 rows.
  • While the cell is still selected (all 3 rows):
    • Select the Design tab on the ribbon;
    • Select a solid line, and a white pen color
    • In the Draw Borders panel of the ribbon,
    • Drop-down the Borders list-box, and choose "Inside Borders";
    • This will change the intra-cell borders to white. </ul>
    • Still with the full 3-row cell selected, set the font size to 4 pt.
      • Set the focus to the middle row of the triple-row cell.
      • Right-click in the middle row of the triple-row cell.
        • Choose "Format Shape".
        • Choose Fill.
        • Choose "Picture or texture fill".
        • Insert your desired flag from a file or the clipboard (your choice). </ul> </ul>
        • Close the "Format Shape" dialog.
        • Adjust the flag height by dragging the invisible borders of the center row in the 3-row cell. </ul>  

Installing a Melody Sandbox On OS X Lion

This is a step-by-step guide to setting up a sandbox/playground for Melody 1.0.2 on OS X 10.7.1 (Lion). This will give you a working Melody (Movable Type fork) installation, suitable for learning and experimentation and NOT a production-ready site.

Note: I assume that you don’t have other web sites running on your Mac, and that you want Melody to be your primary site, accessible at http://localhost:80/index.html. If your user ID isn’t “kevin”, substitute your user ID for “kevin”.

Prerequisites: You must have the following installed:

  1. XCode (the Apple development environment)
  2. SQLite
  3. The following Perl modules. (Install by entering "sudo cpan module name".)
    • DBD::mysql
    • IPC::Run
    • Crypt::SSLeay
    • IO::Uncompress::Gunzip
    • IO::Compress::Gzip
    • Mail::Sendmail
    • Crypt::DSA </ul>
    • These packages:
      • JPEG library -- See "Install LibJPEG" section of http://www.beausmith.com/mt/2009/05/install-movable-type-on-a-mac.php for details.
      • PNG library -- Install by entering "sudo port install libpng"
      • TIFF library -- See "Install lib tiff" section of http://www.beausmith.com/mt/2009/05/install-movable-type-on-a-mac.php for details. </ul>
      • ImageMagick -- Install by entering "sudo port install imagemagick +perl"
        • I couldn't get www.beausmith.com's instructions to give a working ImageMagick plus working Perl modules.</ul> </ol>

          Instructions:

          • Download the zip file from http://openmelody.org/download-melody. I got Melody 1.0.2. If they've come out with something newer, that's what you'll get.
          • Go to /Library/WebServer/Documents, and delete everything except the postgresql folder. (You can delete that too, if you don't want it for some other purpose.)
          • Edit /etc/apache2/httpd.conf, and un-comment the LoadModule for libphp5.so. i.e. Ensure it contains a line "LoadModule php5_module libexec/apache2/libphp5.so". Note that if you've got the original version of this file, you'll just have to remove a leading "#" from a line which otherwise matches this.
          • mkdir -p ~/Sites/melodemo/conf
          • touch ~/Sites/melodemo/conf/httpd.conf
          • sudo ln -s /Users/kevin/Sites/melodemo/conf/httpd.conf /etc/apache2/other/kevin-melodemo.conf
            • Note that after this point, when these instructions refer to httpd.conf, they're referring to /Users/kevin/Sites/melodemo/conf/httpd.conf unless they specifically name /etc/apache2/httpd.conf. </ul>
            • mkdir ~/Sites/melodemo/htdocs
            • mkdir ~/Sites/melodemo/htdocs/blog1
            • chmod ugo+rwx ~/Sites/melodemo/htdocs/blog1
            • mkdir ~/Sites/melodemo/cgi
            • mkdir ~/Sites/melodemo/db
            • chmod ugo+rwx ~/Sites/melodemo/db
            • Edit httpd.conf, and make it contain this: </ul>
              
              <VirtualHost *:80>
                  ServerName macbook.local
                  ServerAlias localhost
                  DocumentRoot /Users/kevin/Sites/melodemo/htdocs
                  DirectoryIndex index.html
                  <Directory /Users/kevin/Sites/melodemo/htdocs>
                      Order allow,deny
                      Allow from all
                      AllowOverride All
                      Options Indexes FollowSymLinks MultiViews
                      AddHandler application/x-httpd-php .php .html
                  </Directory>
              </VirtualHost>
              
              ScriptAlias /cgi/ /Users/kevin/Sites/melodemo/cgi/
              Alias /static/ /Users/kevin/Sites/melodemo/htdocs/mt-static/
              
              AllowEncodedSlashes On
              
              <Directory "/Users/kevin/Sites/melodemo/cgi">
                  AllowOverride All
                  Options None
                  Order allow,deny
                  Allow from all
                  Options FollowSymLinks
              </Directory>
              <Directory "/Users/kevin/Sites/melodemo/htdocs">
                  AllowOverride All
                  Options +Indexes
                  Order allow,deny
                  Allow from all
                  Options FollowSymLinks
              </Directory>
              SetEnv PERL5LIB /opt/local/lib/perl5/site_perl/5.12.3/darwin-multi-2level:/opt/local/lib/perl5/site_perl/5.12.3
              #SetEnv MAGICK_HOME /usr/local/ImageMagick-6.4.0
              #SetEnv DYLD_LIBRARY_PATH /usr/local/ImageMagick-6.4.0/lib
              
              • Run "perldoc perllocal" to see where it installed your Perl libraries. Probably something like "/opt/local/lib/perl5/site_perl/5.12.3".
              • Update the SetEnv for PERL5LIB to include your Perl libraries.
              • sudo apachectl configtest
              • sudo apachectl restart
              • Create a sample ~/Sites/melodemo/htdocs/index.html and make sure you can browse it via http://localhost/index.html. Then delete the file.
              • open (double-click) Melody-v1.0.2.zip in your Downloads folder. This will create a folder named Melody-v1.0.2.
              • Copy the *contents* of Melody-v1.0.2 into ~/Sites/melodemo/cgi
              • Move the *folder* ~/Sites/melodemo/cgi/mt-static to ~/Sites/melodemo/htdocs/
              • chmod go+rwx mt-static/
              • chmod go+rwx mt-static/support/
              • Copy ~/Sites/melodemo/cgi/config.cgi-original to config.cgi
              • Make the following changes to config.cgi:
                • Change CGIPath to point to http://localhost/cgi/
                • Change StaticWebPath to point to http://localhost/static/
                • Add an entry: "StaticFilePath /Users/kevin/Sites/melodemo/htdocs/mt-static"
                • Comment out the entries for PostgreSQL and mysql
                • Change the SQLite Database to point to /Users/kevin/Sites/melodemo/db/data </ul>
                • Browse to http://localhost/cgi/check.cgi
                • Everything should report success, except possibly "DBD::SQLite2"
                • Configure Melody:
                  • Set up an Administrator account. Browse to http://localhost/cgi/index.cgi and enter:
                    • Username: administrator
                    • Display Name: The Administrator
                    • Email Address: administrator@example.com
                    • Password: password
                    • Password confirm: password
                    • Submit the form, and continue. </ul>
                    • Set up a blog. Enter:
                      • Blog Name: My First Blog
                      • Blog URL: http://localhost/blog1/
                      • Publishing Path: /Users/kevin/Sites/melodemo/htdocs/blog1
                      • Template Set: (whatever you like)
                      • Timezone: (as appropriate for your time zone)
                      • Submit the form </ul> </ul>
                      • Once you get a page with "Installation complete!", click "Sign in to Melody".
                      • You'll get a "Time to Upgrade!" page. Click on "Begin Upgrade"
                      • Sign in as administrator
                      • When you get "Upgrade complete!", click on "Return to Melody"
                      • Click on the "Write your first post" link, and create something. </ul> At this point, http://localhost/cgi/index.cgi shows you the admin interface and http://localhost/blog1 shows you the non-logged-in user interface.

Almond Salmon Muffins

Delicious. Does not taste “fishy” and is much nicer than traditional “salmon patties.” (As a kid, I hated salmon patties.) Much, much better than the frozen “Fish Paties with Spaghetti Squash” from Paleo Foods (IMHO).

I’m thinking of trying these in mini-muffin format, so they’ll thaw/warm faster in the microwave when frozen.

Stir in large mixing bowl:

  • 2 x 15 oz cans pink salmon
  • 1/4 C Olive oil
  • 1 pound almond meal
  • small onion, minced </ul> Mix in small mixing bowl:
    • 7 eggs, beaten
    • 1/2 C mayonaise
    • 2 tsp Tabasco (result has FAINT hint of taste)
    • 1/2 tsp pepper
    • 1/2 tsp salt </ul> Final steps:
      • Dump small bowl into large, and mix.
      • Preheat oven to 425 (ours runs 25 high, so we use 400)
      • Grease muffin pan (solid, not liquid oil) or spray foil cups
      • Spoon into cups, level with top
      • Cook ~ 20 minutes, until tops are nicely toasted
      • Cool for 5 minutes in pan
      • Remove from pan and eat. </ul> Makes 18-20 muffins. 2 muffins is a serving. Note: I use silicone muffin pans, and these 'release' very nicely.

Apple Magic Trackpad Bluetooth Problem

I was having trouble with an Apple Magic Trackpad. I was using it with Windows 7 on a PC, so I don’t know whether it happens with OS X or in Boot Camp, but I suspect it does.

The symptoms were that the trackpad worked fine for a few minutes, then mouse movement became erratic. The trackpad would develop a dead zone in the middle, and only recognize movement in some directions. The only way to cure it at that point was to remove/replace (plug/unplug) the Bluetooth dongle on the PC. Then it was OK for a few minutes more.

I suspected Bluetooth interference, so I turned off all other Bluetooth devices (laptops, cell phone, headsets, etc.) or so I thought! I forgot about my AT&T 2-line DECT 6.0 phone (TL86109/86109). This desk phone (a.k.a. land line) is willing to talk to Bluetooth headsets, download contacts from cell phones, and use a cell phone as one of the phone lines. (I like it a lot.)

But… I think the trackpad was trying to pair with it. My problems went away when I unplugged the phone power. (One thing I DON’T like about the phone is that you can’t disable Bluetooth.)

I went into the phone’s setup, and changed the pair-authorization code/PIN from 0000 to 9999. The problem APPEARS to be solved. Since it is a sporadic issue, I can’t say for certain yet.

So it looks like the touchpad was pairing with the telephone.

Notes on ntop

If things aren’t going well with your (Ubuntu Natty 11.04) ntop, here are some things to try:

  • Configure ntop to NOT run as a daemon. Stop the ntop service ("service ntop stop"). Run ntop in debug mode from the command line ("ntop -K").
  • If your ntop log contains "NETFLOW: no devices to initialize", you might be having an RRD problem. Check your log for "RRD: Disabled - unable to create base directory (err 13, /var/lib/ntop/rrd)". Sometimes when you install ntop, the permissions/owner on /var/lib/ntop/rrd don't get set right. Kill ntop, "rm -rf /var/lib/ntop/rrd" and start it again.
  • If your "NetFlow Device Configuration" shows an empty list of Available Netflow Devices, check to see if you're having an RRD problem. Fixing RRD fixed this issue for me. </ul>