Mounting Windows portion of data DVD/CD from Mac

I have a data driver disk (CD / DVD) which has both Mac and Windows (i.e. a hybrid disk) portions with their respective driver files. When you put the disk in a Mac, it mounts only the Mac portion of the disk. I want to also copy files off the Windows portion. So, this is how to get access to the Windows files by mounting as a iso9660 format disk in Snow Leopard (version 10.6.2)

1. Put the disk in the drive and let it mount normally.

2. From a Terminal Window (yes, we are using commands on the command line):

Get mounted disk location, e.g. ” Name: /dev/disk1 ” (to be used in third command):

drutil status

Make a temporary mount point:

sudo mkdir /tmp/foo/

Mount the disk:

sudo mount_cd9660 /dev/disk1 /tmp/foo/

You now have access to the Windows files in the Finder.

When done, unmount the iso9660 portion:

sudo umount /tmp/foo/

Then unmount the rest of the disk as normal in Finder.

You can use this command to remove the temporary mount point, (or it should automatically get deleted upon reboot)

sudo rmdir /tmp/foo/

HOWTO: Hookup two wireless routers

I have an Apple Airport Extreme wireless router. Because I have an iPhone (it can’t connect via 802.11n), I had to have my Airport Radio Mode set to “802.11n (802.11b/g compatible)”, which means when the iPhone was connected (and maybe at other times) the Airport was broadcasting at the slower b/g protocol speeds. Well, I also have a spare Linksys WRT54G v2.0 wireless router. So, I flashed it with dd-wrt firmware, and following these instructions I’ve configured the Linksys as a Wireless Access Point (WAP) and connected an ethernet cable from one of its LAN ports to a LAN port on the Airport (serving as the “main router”). I now have a 802.11g router (Linksys) for my iPhone to connect to, and my Airport’s Radio Mode is now set to “802.11n (5 GHz)” for my Macbook Pro and Macbook to connect to at their fastest speeds. Goodness.

Eclipse with Aptana plugin and SFTP support, a free website editor

A friend wanted a good, free web development IDE for Mac. Personally, I use Coda and love it, but it’s not free.

I found this resource as a starting point.

I quickly found that although KompoZer and Nvu were good for her because they were WYSIWYG editors, they both don’t support SFTP, which was required in this case (and most cases really), and were also lacking a little love. SeaMonkey and the rest below that on the list were either too simple or too complex. For me, this left three: Aptana, Komodo Edit, or Eclipse to try.

The Komodo Editor is actually pretty good, but I felt didn’t have a very good remote connection tool. Aptana doesn’t officially support SFTP without paying $99/yr (I tried using their free SFTP plugin, but it didn’t work in Eclipse 3.4.2). So, since I use Eclipse for my Python projects, I wanted to see if I could get Eclipse with the Aptana plugin to work. I found this blog with the answer.

These are the shortened steps I followed:

  1. Download and install the Eclipse SDK ver. 3.4.2 (Ganymede)
  2. Install the Aptana Studio as an Eclipse plugin
  3. In the Aptana Perspective, ‘My Aptana’ tab, select ‘Plugins’ at the top, then choose to install ‘Aptana PHP’.
    aptana_plugins
  4. Using the Eclipse Software Updates, install a new remote site, Remote System Explorer, by adding this URL: http://download.eclipse.org/dsdp/tm/updates/, but you only need to select the ‘Remote System Explorer Core’ and ‘RSE SSH Services’ portions, found under the ‘RSE_Runtime’ when selecting features to install.
    select
  5. Now, with the Remote System Explorer perspective selected (top right of the IDE), on the left side, in the Remote Systems tab, right-click and choose ‘New Connection…’, then input the settings to connect to your remote webserver.
  6. perspective

    remote_connection

  7. Once you’ve logged into your site and see the files, right-click on the one(s) to edit and choose ‘Open With’, then ‘Aptana PHP Editor’
  8. You can now edit with all the syntactic highlighting, auto complete and other features of Aptana Studio.

Mac OS X: Mounting FAT32 external hard drive via Terminal command line

I have a 150GB USB external hard drive (IDE/Parallel ATA disk in an enclosure) which was formatted as one partition, FAT32 in Windows XP. I wanted to extract the files off of it using my Macbook Pro running Apple Macintosh Leopard (Mac OS X 10.5.6).

However, when I plug it in, I get a dialog box which says:

Disk Insertion
The disk you inserted was not readable by this computer.
Initialize...   Ignore   Eject

I saw many references to there being a 127GB or 128GB partition limit for FAT32 for Mac to successfully mount.

Also, a potential problem was that when using Disk Utility it shows up on my system incorrectly as formatted as a Windows NT Filesystem (NTFS-3G).

diskutil list disk3

Output:

/dev/disk3
#:                       TYPE NAME                    SIZE       IDENTIFIER
0:     FDisk_partition_scheme                        *149.1 Gi   disk3
1:               Windows_NTFS                         149.0 Gi   disk3s1

It did however mount automatically and show up when I was running a virtual machine, for example Parallels and Windows XP (I used VirtualBox and Windows 7), but copying over files this way proved to be very slow.

So, after spending a lot of time on the internet looking for solutions, I just tried mounting it from the Terminal (command line) with success!

First, make a mount point:

sudo mkdir /Volumes/EXT_HD

Now mount (your device numbers may be different, e.g. /dev/disk2s1 — you can determine what it is as it will the the highest number when you issue the command ‘ls /dev/disk*’):

sudo mount -t msdos /dev/disk3s1 /Volumes/EXT_HD/

It eventually showed up in Devices in Finder, but just to let you know, when I tried ejecting (unmounting) it when I was done, even though I had closed all programs I got the error:

The disk “USB_DRIVE” is in use and could not be ejected. Try quitting applications and try again.

Unmounting via he command line also failed:

sudo umount /Volumes/EXT_HD/
umount: unmount(/Volumes/EXT_HD): Resource busy

So I had to reboot.

I hope someone finds this information useful because I sure didn’t find any help…

EDIT (01 Oct, 2009): Apparently there is a way to enable native NTFS read/write support in 10.6 Snow Leopard (and this may work for Leopard). However, I would recommend not allowing write ability (and thus read only) when using this method as it may corrupt your NTFS files. To set to read only, follow the directions in the link but instead of using ‘rw’, use ‘ro’, e.g. UUID=123-456-789 none ntfs ro

How to handle deleting trash in Thunderbird when using IMAP Gmail

The Google team about a year ago added IMAP services to gmail. This is a great way to be able to manage your mail from several different places (e.g. client software at work, and web based gmail page on the road) and have everything automatically be in sync.

I’m also a big fan of the open source Thunderbird email client. But there is one annoying thing using these two together: when you have a message selected and press ‘delete’, normally this sends the message to Thunderbird’s trash (which completely removes it from Gmail), but in this case, you want to send it to Gmail’s trash.

There was a configuration setting you could try, to send the message to [Gmail]/Trash, but Google doesn’t recommend it (see ‘UPDATE 2, Nov 8th’ here). Instead you are supposed to move (e.g. drag-and-drop) the message to the [Gmail]/Trash folder manually.  Well, that’s not too convenient when you have a lot of folders. So, what I’ve found is an add-on QuickFolders which will easily make a shortcut to that folder (and others) so that you can more easily drag-n-drop to send that message to gmail’s ‘Trash’.

The Best Firefox Add-ons

I can’t use any other browser no matter how fast or cool because I’ve gotten so used to add-ons for firefox!

Here are mine, and in case you’re wondering, I have all these currently installed (Mac OS, is my current OS of choice) and Firefox runs at nearly the same speed as no add-ons:

——— These are INDISPENSIBLE: ———

DownloadStatusbar:  Simply a much better download manager.
http://downloadstatusbar.mozdev.org/

FlashBlock:  Replaces flash objects with a play button (‘>’) you must click before you can see it. Purpose is to lessen the amount of distracting things shown on most webpages.  You can add any website to a whitelist.
http://flashblock.mozdev.org/

NoScript:  Extra protection! You must explicitly opt-in to any javascript or java (and other plugins) for every website (permanently or for just this session). You can add any website to a whitelist.
http://noscript.net/

Tab Mix Plus:  Lots of fantastic tweaks for tabbed browsing.
http://tmp.garyr.net/  lastest (beta) versions here:
http://tmp.garyr.net/dev-builds/

Nuke Anything Enhanced:  Allows you to select any object (e.g. text, image) in a webpage and choose to remove it or remove everything else (can bring everything back with a simple page refresh).  Fantastic uses:  delete an annoying animated gif!, or clean up a page before printing!
https://addons.mozilla.org/en-US/firefox/addon/951

——— Adds lots of convienience: ———

MouseGestures:  Use your mouse for navigation. For example, holding the right mouse button while clicking the left, takes you back a page.
http://www.mousegestures.org/

LinkAlert:  Changes the cursor to indicate the target of a link (e.g. shows a small pdf image if it links to a pdf)
http://linkalert.googlepages.com/

ForecastFox: Displays the current weather (including radar/satellite) and forecast info constantly in your toolbar or statusbar. Nicely configurable.  Sure nice to have in a place where it actually rains!
http://users.rcn.com/shoofy/forecastfox_enhanced/

Fire.fm:  Brings last.fm audio streaming (free) to your browser with a handy small controller!!
http://sourceforge.net/projects/firefm/

Mac PDF: (Mac only) displays pdf documents in their own tab (instead of launching Mac’s built-in “Preview”)
http://code.google.com/p/firefox-mac-pdf/

GMarks:  Allows you to have access to your Google Bookmarks everywhere and easily.  I’m still getting use to this as I’m not a very organized bookmarker.  What’s cool about this is that you can search for text within the entire webpage of any bookmark you have – pretty powerful that is!
https://addons.mozilla.org/en-US/firefox/addon/2888   see also
http://www.google.com/bookmarks/

BugMeNot:  Allows anonymous logins to those annoying “free” websites (e.g. NY Times)
http://erichamiter.com/firefox/bugmenot/

——— KEY Webpage Development or Tweaking or Investigating Tools: ———

Firebug: Tons of tools; can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page!
http://getfirebug.com/

Web Developer Toolbar:  Big and extremely helpful set of tools for messing with webpages.
http://chrispederick.com/work/web-developer/

TamperData:   View and modify HTTP/HTTPS headers, etc.
http://tamperdata.mozdev.org/

——— Some ‘niceties’ provided by lifehacker.com: ———
All these allow small tweaks to the way their respective websites are displayed:

better-youtube:
http://lifehacker.com/software/exclusive-lifehacker-download/better-youtube-firefox-extension-319925.php

better-google-reader:
http://lifehacker.com/software/exclusive-lifehacker-download/trick-out-google-reader-with-better-greader-262020.php

better gmail:
http://lifehacker.com/software/exclusive-lifehacker-download/better-gmail-2-firefox-extension-for-new-gmail-320618.php

better gcal:
http://lifehacker.com/software/exclusive-lifehacker-download/enhance-google-calendar-with-the-better-gcal-firefox-extension-260074.php

better amazon:
http://lifehacker.com/397946/better-amazon-firefox-extension-upgrades-amazoncom

——— Deactivated mine, but you may want to check out: ———

LiveHTTPHeaders: View HTTP headers of a page while browsing.
http://livehttpheaders.mozdev.org/

Nightly Tester Tools:  You’ll need this to allow add-ons to work if you’re using a beta version (i.e. Minefield) of Firefox.
http://www.oxymoronical.com/web/firefox/nightly

Google Pagerank Status:  Display the google pagerank for the currently viewed page. (VERY unfortunately, this add-on is not kept current)
http://www.tapouillo.com/firefox_extension/

libtiff error in Matlab when attempting to use ImageMagick

Trying to use the Imagemagick toolbox (for me, installed via MacPorts) sometimes doesn’t work (for example, converting a png image) in Matlab because Matlab for some reason uses the libraries in its path over those given in system call (this is for Mac, but probably for *nix and maybe even Windows).

This is an example call:

[s,w] = system([IMAGEMAGICK_PATH,'convert ',pwd,'/',outfile,'.png -rotate 90 ',pwd,'/',outfile,'.png']);

This is the error:

error:
dyld: Library not loaded: /opt/local/lib/libtiff.3.dylib
Referenced from: /opt/local/bin/convert
Reason: Incompatible library version: convert requires version 12.0.0 or later, but libtiff.3.dylib provides version 11.0.0

The work around is to replace the Matlab library with the ImageMagick one (only need to do this once and will stay until you upgrade Matlab):

cd /Applications/MATLAB74/bin/maci/   (or wherever your Matlab is installed)
mv libtiff.3.7.1.dylib  libtiff.3.7.1.dylib.MATLAB  (give it a different name)
ln -s /opt/local/lib/libtiff.3.dylib libtiff.3.7.1.dylib  (create a soft link to the Imagemagick library file)

EDIT: This is the much better way to handle this:

setenv('DYLD_LIBRARY_PATH',['/opt/local/lib/:' getenv('DYLD_LIBRARY_PATH')])

Serial Port communications on Mac via Matlab

I have a rev B (Core 2 Duo from Dec, 2006) Apple MacBook Pro laptop running Leopard OS X (version 10.5.2) and have Matlab version 7.5.0.338 (R2007b). I’ve just found that I can NOT use the built-in serial port object, instead, I get the following error:

 java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver
??? Error using ==> serial.serial at 57
The serial port object is supported on the Solaris, 32-bit Windows and 32-bit Linux platforms only.

So, to get it successfully working, I downloaded these files: SerialComm.m, SerialComm.mexmac and SerialComm.mexmaci from http://svn.berlios.de/svnroot/repos/osxptb/stable/Psychtoolbox/PsychHardware/.

You can then use code like this:

 PORT = 1;
% close (if previously open)
SerialComm( 'close', PORT)
% open
SerialComm('open',PORT,'9600,n,8,1')
% flush the buffers
SerialComm( 'purge', PORT)
% status
SerialComm( 'status', PORT)
% read
STR = SerialComm( 'readl', PORT);
% close
SerialComm( 'close', PORT)

[UPDATE 02 Apr, 2008]: Note, this same code didn’t seem to work on a recently purchased Macbook. Good luck.

[UPDATE 27 Mar, 2009]: I see that in Matlab version 7.8.0 (R2009a) if you go to ‘serial’ in Help docs it now says for Mac OS X and Mac OS X 64 you can use serial(‘/dev/tty.KeySerial1’); I don’t have a way of testing that right now, but it’s possible that you don’t need to use this third party toolkit anymore. If that’s true, please leave a note here.