If you’re like me, you spend a crazy amount of your waking hours in a web browser. For me, that browser is Apple’s Safari, and despite some enticing features of other browsers for Mac OS X (there are quite a few), I stick with Safari because I love it’s uncluttered interface, excellent support for web standards and Apple look/feel that the other browsers just seem to be lacking.
Well, a few weeks back a video showed up on YouTube purporting to show off new drag-able tabs in the upcoming version of Safari in Mac OS X Leopard, but there was much reason to be skeptical, given all the fake Leopard screenshots and movies that made the rounds leading up to WWDC’06. Well kids, it looks like drag-able tabs are coming to Safari 3.0, as well as a couple of other really cool features, according to an article on Musings From Mars blog. The article includes videos demonstrating the three features, so I highly recommend you check it out!
Drag-able tabs, much improved in-page search and resizable form text fields! Very nice. Now the one feature that I’d still like to see is true zooming in and out on a page. Not simply changing text size, I want all page components to scale proportionately. Opera is the only browser that I know of that does this. Very handy for people with lots of screen real estate who wants to enlarge a page to make it more easily read from further back, or those with notebooks who want to be able to see more of a web page on the screen at once. Give me that and site-specific settings, and I’ll be a really happy camper. Of course, drag-able tabs, improved in-page find and resizable form text fields go a long way to helping me forget about the other stuff.
October 5th, 2006
Mac OS X is a very powerful OS. One of it’s most amazing traits is how well it scales from being dead easy to use for novice users to allowing power users near unlimited capabilities. The former comes from the excellent UI design and GUI tools that Apple has built, the latter from Mac OS X’s FreeBSD Unix underpinnings. While most users will never have to touch the Mac OS X Terminal application to go about their day to day computing, those who like to push the limits of what they can do will most likely spend at least a bit of time at the command prompt. This article is for those aspiring command line gurus, like myself.
I’ve been using Mac OS X since the Public Beta was released in 2000. Over the years, as I’ve delved further into learning about the operating system’s Unix underpinnings, I’ve always kept a Stickies note handy where I would paste terminal commands that I thought might come in handy at some point in the future. Every one of these commands required countless Google searches and time scouring the results to find solutions to the problem I had at the time. It’s in the interest of saving others from spending too much time searching that I present my Stickies Mac OS X terminal command list. I hope these help all of you as much as they have helped me.
A warning for newbies:
If you’re not familiar with the Mac OS X Terminal, it’s an application that allows a user to directly execute Unix commands by typing them into text based command prompt. You can find the Terminal application in /Applications/Utilities on your hard disk. Please be aware that the terminal and Unix commands are very unforgiving. A simple typo or misplaced punctuation can mean the difference between your command working and you deleting or overwriting something important, especially when executing commands with administrator rights (via the sudo command). If you aren’t sure what you’re doing, it’s better to take the time to research the answer than to simply guess and possibly mess something up you won’t know how to fix. This article is not meant to be a tutorial on how to use the Terminal. If have never used the terminal, may I suggest you visit O’Reilly’s MacDevCenter which has some good tutorials to get you started.
The Commands
Disclaimer: Please note that I cannot be held responsible for anything bad you do to your computer while attempting to use any of these commands. Use them at your own risk!
Eject Stubborn CDs
I found myself one day with a CDROM stuck in my CDROM drive, but no way to eject it. It didn’t show up in the Finder or on the Desktop, and hitting the “Eject” button on the keyboard did nothing. I found and tried two or three other terminal and GUI based solutions from sites like Mac OS X Hints, but none of them worked except this little gem. I haven’t had to use it for years and it may not work for every stuck CD, but this one saved me from having to reboot my computer to get a bad CD out. Type disktool by itself to get help.
Unmount Stubborn Network Volumes
umount -f /Volumes/volumename
Like the stuck CD issue above, I have once or twice come across a network volume that I could not disconnect. Substitute the stuck network share’s name in place of “volumename” in this command. You can view the pdisk man page to get help by typing man umount at the prompt and hitting return.
Delete partition table on iPod
This menu based terminal app saved a dead iPod. I once made the mistake of formatting my iPod as an external FireWire drive as some non-standard format (maybe NTFS or Unix File System). After doing that, I couldn’t re-initialize the iPod using the latest iPod updater. While I don’t remember exactly the steps I used to get the iPod working again (it had to do with deleting the partition table), this tool is what did the trick for me. You can view the pdisk man page to get help by typing man pdisk at the prompt and hitting return.
Restart Bonjour service
Stop Bonjour service:
sudo launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
Start Bonjour service:
sudo launchctl load /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
A while back I had a problem where one of my Macs would periodically fail to broadcast it’s Bonjour name for things like print and file serving. Rebooting the computer would resolve the problem for a time, but it would always come back. Rather than having to reboot my computer all the time, I searched for and found this handy set of commands for stopping and starting the Bonjour service which would do the trick until the problem occurred again. Since this was a service, it was great not having to reboot. I eventually solved the problem, which if memory serves was caused by my router, but I felt it was handy to hold onto this in case I ever needed to stop or restart the Bonjour service again. These commands need to be run as administrator, which is why they are prefixed with the sudo command. You will be prompted to enter your admin password to execute them.
Restart Apple Remote Desktop (ARD) service
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -restart -agent -menu
Note: This is a very long command that should all be typed or copied/pasted as one line.
I had a problem with Apple Remote Desktop once where if I left a remote control session running for too long (say overnight), the remote display would no longer refresh automatically. In my quest to avoid rebooting my server, I found this handy command that restarts the ARD service, which listens for and manages remote control requests. This has to be run on the machine you want to control normally. Since I was having problems remote controlling said computer, I would log in remotely via SSH by typing ssh ip_address and execute the command while logged in remotely. Very handy indeed. Being able to remotely login via SSH is no doubt one of the most useful reasons to learn the command line. All terminal commands that are covered in this article can be executed remotely. You can view the SSH man page to get help by typing man ssh at the prompt and hitting return.
Reset Network Interface
Shut down network interface:
sudo ifconfig en0 down
Start up network interface:
sudo ifconfig en0 up
Note: Substitute en0 for appropriate network interface id (a.k.a. BSD device name). You can use System Profiler (in the /Applications/Utilities folder) to find the BSD device name for the network connection you want to reset.
I can’t remember why I needed to do this. Might have been while I was troubleshooting that Bonjour service issue, or maybe I was trying to change the connection’s MAC hardware address. Doesn’t really matter. The point is you can use this combination of commands to restart a network interface. These commands use the SUDO command to run using administrator rights and so you will be prompted for your admin password.
[Edit: Thanks to commenter "why o why" for pointing out, "it should be noted that if you remotely shutdown the ethernet interface you are using, it will be difficult to get it back up remotely
"]
Restart Apache Webserver
While restarting Mac OS X’s built-in Apache web server is as easy as toggling the “Personal Web Sharing” service’s status in the Sharing preference pane, you can’t do this easily remotely unless you can remote control the server in question. Over a modem connection, this can be near impossible or at least very painful. This command comes in handy if you’ve modified the Apache configuration file via a remote SSH connection as the changes only take effect after the Apache service is restarted.
Restart MySQL Server
Stop MySQL Server
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
Start MySQL Server
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
Not so long ago I installed the MySQL open source SQL database on my web server so I could run a phpBB based forum site. MySQL also happens to be the database that runs the Art Of Geek blog. These two commands are useful for stopping or restarting the MySQL service via SSH, or if like me you have ever broken your MySQL installation just enough for the MySQL preference pane to stop working.
Change a file’s type code to make an AAC file an iTunes/iPod audio book
/Developer/Tools/SetFile -t 'm4b ' filename.m4b
Note: You must have the Mac OS X developer tools installed for this command to work!
This gem of a command will set the type code of a file to ‘m4b ‘ (there is a space after the ‘b’), which tells iTunes it’s an audio book. This is required if you have ever ripped an audio book from CD, and want iTunes to see it as an audio book. The file must be an AAC file, and you need to change the file extension to .m4b. The truth is, this command can come in handy any time you need to implicitly set a file’s ‘type’ or ‘creator’ codes. You can view the SetFile man page for help by typing man SetFile at the terminal prompt and hitting return.
That’s all the time (and commands) we have for today folks! I’ll post more in a future article!
September 22nd, 2006
Most Mac enthusiasts were relieved when Apple launched it’s Get a Mac TV campaign a few months back, but we weren’t holding our breath that it would last, given Apple’s past Mac advertising efforts. The ads have been received quite well among the Mac faithful, and have certainly ruffled some feathers in the Windows world. Apple added more spots to the lineup, each one targeting one feature or benefit. A great way to communicate the Mac’s benefits without information overload. Let the masses learn about the Mac one feature or benefit at a time and eventually people will start to wake up.
The Get A Mac TV ads were actually phase 2 of their marketing campaign, phase 1 being the opening of Apple Stores across the United States and later expansion to other countries such as Japan, UK, and Canada. Now numbering 160 stores and growing, this strategy is geared towards giving people an excellent consumer experience and the opportunity to test drive Apple’s products in a relaxed no-pressure environment. The TV spots have played a strong role in boosting brand awareness and driving traffic into Apple Stores.
Well now it looks like Apple is following up on this successful strategy with some informative print advertising. A 14-page brochure has been spotted attached to a 3 full page ad in Entertainment Weekly magazine. In it, Apple hilights the most popular iLife applications (iPhoto, iTunes, iMovie, GarageBand), as well as a couple of Mac OS X features (iChat, Dashboard) and Microsoft Office. The brochure closes by showcasing the Macintosh consumer lineup (iMac, MacBook, MacBook Pro and Mac mini). You can see scanned images of the entire brochure on Flickr.
This is an excellent follow-up to the TV ad campaign, because it is more product focused rather than branding/symbolic in nature, as the TV spots are. By making it a brochure that can be removed from the magazine, potential customers can pull it out and save it for later or pass it on to a friend. I think these brochures will get far more views than they would if they were simply full-page ads. Assuming Apple runs these print ads in a wide range of popular publications, I think they’ll go far to finally bridge the gap between the branding/imagery of the TV spots and the hand-on experience of the Apple Store. These brochures dangle a bit more of a carrot to pique the interest of consumers enough to get them to visit the apple website or stop in at their local Apple Store.
I am curious why Apple has chosen to avoid mentioning Windows compatibility in the 14-page brochure though. While I don’t think Apple should be focusing too much of it’s marketing message on luring people to the Mac platform with the intention of using it for Windows, they have mentioned it in their TV spot titled Touché. Following that up with a page on their brochure with a screenshot of Windows XP running in virtual machine window with Mac OS X apps wouldn’t be such a bad idea, would it?
Critique aside, Apple’s Mac marketing strategy is now coming into focus and seems to be close to firing on all cylinders for the upcoming holiday season. It will be interesting to see how much thunder Apple can steal from Microsoft Windows Vista before it launches. There has never been such a great opportunity to steal market share as there is now, especially given that Windows Vista will drive most Windows customers to buy new hardware in order to keep up with the latest version. Many of those customers may just decide to spend that money on a new Mac instead.
September 7th, 2006