Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

One way to share links to networked files Network
Problem: You work with 50 people using Macs, and you need to direct someone to a file on the server which is buried 12 layers deep in the folder hierarchy. Unlike the web, OS X provides no way to "bookmark" a file.

  1. Drag the file into an empty Firefox window.
  2. Copy and paste the file path from Firefox's address bar.
  3. Share by email, iChat, or whatever.
Comment: This is the most elegant solution -- and it's far from that -- that I can find. It seems absurd the Finder can't do this. We waste thousands of man hours per year because there's no easy way to share locations of files on our server; that seems as sensible as the web without hyperlinks! If you have alternative solutions, please share them in the comments.
  Post a comment  •  Comments (34)  
  • Currently 1.82 / 5
  You rated: 1 / 5 (11 votes cast)
[28,510 views]  View Printable Version
10.5: Install (or boot from) an image over local network Network
I needed to reinstall OS X, but my discs were broken. Fortunately, I had an image of the installation DVD on my server, so I figured that I should be able to boot into that image over the network. Well, it wasn't that easy.

In the end what you will need is a computer running two servers: one tftp server and one web or NFS server, preferably NFS, since you don't have to worry about making sure you have Apache 2 or newer to support huge file transfers over http. You'll also need some command-line skills, too.

The first step is to get four files:
  1. A bootloader
  2. A kernel
  3. An mkext file (which is a bunch of drivers)
  4. The image you wish to boot
All of these items are actually relatively easy to get. The first three are obtainable from inside a functioning OS X environment (or rather, an environment into which you, at the very least, can get a command-line). The bootloader is located at /usr » standalone » ppc » bootx.bootinfo. Copy it to your favorite place, i.e. a USB stick or something like that.

The kernel is located at /mach_kernel, just under the root directory. Copy that one, too.

The third one is a little bit trickier. It involves picking the drivers you'll need and putting them in a nice package. I'll give you a line to make life easier:
kextcache -L -N -S -Z -m mach_kernel.mkext /System/Library/Extensions
This will create a file named mach_kernel.mkext in the /System » Library » Extensions folder, which contains everything you need to successfully boot an image over the network. If you're curious about the flags, check out man kextcache. You really should also put this file on some kind of removable media, otherwise you may get stuck.
read more (500 words)   Post a comment  •  Comments (7)  
  • Currently 2.09 / 5
  You rated: 2 / 5 (11 votes cast)
[53,160 views]  View Printable Version
10.5: Enable and disable the firewall via AppleScript Network
I started using MarcoPolo recently to switch networks on my Macbook when moving between home and work. I also wanted to turn the firewall on and off easily, but could not find and scripts to switch the Leopard firewall between "Allow all incoming connections" (my definition of OFF) and "Allow only essential services" (ON).

So here is the ON script:
-- Firewall on script
-- Growl support - remove next line if you don't use Growl
-- Make sure support for assistive devices is active
tell application "System Events"
  if UI elements enabled is false then
    tell application "System Preferences"
      set current pane to pane id ""
      -- OK or cancel. If use cancels the script exits anyway
      display dialog "This script requires access for assistive sevices be enabled." & return & return & "To continue, click the OK button and enter an administrative password in the security dialog." with icon 1
    end tell
    -- User pressed OK
    set UI elements enabled to true
    if UI elements enabled is false then
      -- remove next line if you don't use Growl
      my growlnote("Error Notification", "Firewall script error")
      return "Failed to set"
    end if
    delay 1 -- delay for user to see change
  end if
end tell
-- Do firewall action
tell application "System Preferences"
  tell application "System Events"
    tell process "System Preferences"
      click menu item "Show All Preferences" of menu 1 of menu bar item "View" of menu bar 1
      click button "Security" of scroll area 1 of window "System Preferences"
      repeat until exists window "Security"
        delay 0.2
      end repeat
      click radio button "Firewall" of tab group 1 of window "Security"
      -- uncomment the next line, and comment the one below it, to create the 'off' version of this script
      -- click radio button "Allow all incoming connections" of radio group 1 of tab group 1 of window "Security"
      click radio button "Allow only essential services" of radio group 1 of tab group 1 of window "Security"
      -- remove next line if you don't use Growl
      my growlnote("General Notification", "Allow only essential services")
    end tell
  end tell
  delay 2 -- Stay just long enough to see
  quit -- Quit system preferences after use
end tell

-- Growl support - remove both routines if you don't use Growl
on register_growl()
    tell application "GrowlHelperApp"
      set the allNotificationsList to {"General Notification", "Error Notification"}
      set the enabledNotificationsList to {"General Notification", "Error Notification"}
      register as application "Configure Firewall" all notifications allNotificationsList default notifications enabledNotificationsList icon of application "Script Editor"
    end tell
  end try
end register_growl

on growlnote(growltype, str)
    tell application "GrowlHelperApp"
      notify with name growltype title "Firewall" description str application name "Configure Firewall"
    end tell
  end try
end growlnote
If you are not using Growl for notifications, then remove the register_growl and growlnote subs and their associated calls.

Once you have the "ON" script working, to create the "OFF" script, just change Allow only essential services to Allow all incoming connections as noted in the commented lines -- simple.

[robg adds: I tried both scripts, and they worked as described. Copy the above into Script Editor and paste, then save it as Firewall Off. Follow the instructions to switch the functionality, and then save the modified version as Firewall On. With some tweaking, I think it'd be possible to do this in one script by first checking the status of the firewall. I'll leave that version as an exercise for someone with more AppleScript skills than I, though.]
  Post a comment  •  Comments (8)  
  • Currently 1.88 / 5
  You rated: 1 / 5 (8 votes cast)
[21,916 views]  View Printable Version
Install vpnc as a replacement for the Cisco VPN client Network
Here's how to build vpnc as a drop-in replacement for the Cisco VPN client. Why on earth would I want to do this? Because, in my opinion, Cisco's client is a pretty poor piece of software, you shouldn't have to have a Cisco contract to download the thing, and I am a big proponent of open source software.

This process has been tested under Mac OS X 10.5.5 and Ubuntu Intrepid 64 bit, and it's written up in detail on this page on my site. Here's the executive summary version: Requirements:
  • A UNIX system. (Sorry, Windows folks. I have neither the time nor patience to even try to set it up under Windows).
  • A development environment (Xcode).
  • A basic working knowledge of UNIX.
  • The ability to follow instructions.
Required software: Read on for the short version of the installation instructions...
read more (317 words)   Post a comment  •  Comments (9)  
  • Currently 2.18 / 5
  You rated: 5 / 5 (11 votes cast)
[45,928 views]  View Printable Version
Enable mounting of remote CD/DVDs on any Mac Network
The CD/ROM in my computer busted, so I decided to try to remotely mount the CD from another computer on mine. I know the MacBook Air can do this, so I reasoned that any Mac could. It turns out it is possible, but the solution is far from obvious -- after much searching, I found the solution here.

Here's a quick synopsis. Go to System Preferences » Sharing, and enable 'DVD or CD Sharing.' (I think you need to do this on both machines -- the one with the drive and the one without the CD/ROM drive). Then, on the computer that does not have the CD drive on it, go to a Terminal window and enter:
$ defaults write EnableODiskBrowsing -bool true
$ defaults write ODSSupported -bool true
Reboot this machine, and when the reboot is finished, you'll see the remote CD/DVD under Devices in the Finder's sidebar. Thereafter, you can remotely mount a CD/DVD from another machine.

[robg adds: The linked hint gives credit for the Terminal commands to this MacRumors forum post. I haven't tested this one yet.]
  Post a comment  •  Comments (10)  
  • Currently 2.92 / 5
  You rated: 2 / 5 (13 votes cast)
[71,632 views]  View Printable Version
Use VLC to watch movies before they're fully copied Network
I have two computers -- a Power Mac and a MacBook. I have massive amount of storage space on my desktop, but for portability's sake, I don't typically connect hard drives to my MacBook. This means I keep all my movies on my desktop. But what if I want to watch them on my MacBook? I don't want to deal with plugging in hard drives, or waiting for a movie to transfer over the network before I start watching.

So here's what I do. I first begin a file transfer across the network of the movie I want to watch. (I typically do a file copy, not a move, so when I'm done, I can just trash the file on my MacBook.) I wait a second to let it get a head start, and then open the partially-transfered movie in VLC. Note that opening from the Finder won't work; either open the file inside VLC, or drag the file onto VLC in the Dock.

Now, VLC is going to think the file is broken, and ask if you want to repair it -- don't. Your movie will now start playing, and assuming your transfer speed is fast enough to keep up with the movie's speed, you should be able to watch the movie while it transfers in the background.

[robg adds: I've posted this because I think it's interesting that VLC will start playing an incomplete movie without (too many) complaints. However, for general viewing, it'd be much easier to just actually stream the movie using VLC. Just connect to the Power Mac over the network, mount the volume that holds the movie, and start playing. You my have to adjust VLC's cache settings to avoid stutters and drop-outs; for more on that, see this hint.]
  Post a comment  •  Comments (14)  
  • Currently 2.00 / 5
  You rated: 2 / 5 (8 votes cast)
[32,060 views]  View Printable Version
Require Admin rights to create Ad Hoc network Network
In some cases, you may not want your OS X users to have the ability to create an Ad Hoc network. This can cause all kinds of issues if they are broadcasting their own SSIDs through out your network. After some extensive Google searching and hitting up some mailing lists, I was able to configure the AirPort daemon to require Administrative privileges to create an Ad Hoc network.

This is not widely documented, and I have only tested it in 10.5. I also rebooted my machine to restart all daemons after running the command. If you try running it in 10.4, you will have to test it as I do not have a Tiger machine around me to test this out.

Open up Terminal and run the following command:
sudo /usr/libexec/airportd en1 ‑ibss_admin 1
To undo this, simply rerun the code, but replace the ending 1 with a 0, and then all users will be able to create Ad Hoc networks.
  Post a comment  •  Comments (6)  
  • Currently 1.80 / 5
  You rated: 1 / 5 (10 votes cast)
[10,998 views]  View Printable Version
Set up an AirPort Base Station for fast 802.11n-only use Network
If you want the fastest possible wireless network, and you have all N-compatible clients, then on your AirPort Base Station, set the following options:
  • Radio Mode: 802.11n only (5GHz)
  • In the Wireless Options section, insure that Wide Channels are selected
Other vendors use wide channels in the 2.4GHz spectrum, but this is a problem as doing so can use up to 75% of this spectrum. Not great if you have a cordless phone, or neighbors that are also using 2.4GHz hardware mentioned above. As the 5GHz the channels don't overlap like they do in the 2.4GHz range, then this can be done. In 2.4GHz, if you wanted to have three non-interfering networks, they would each have to be five channels apart so that they don't overlap -- 1,6,11 for example.

You should get speeds up to 500MB per minute between two 802.11n clients with this setup.

[robg adds: I don't know if these are ideal settings or not -- if you have advice on setting up the fastest N-only network, please add your comments.]
  Post a comment  •  Comments (16)  
  • Currently 2.00 / 5
  You rated: 3 / 5 (8 votes cast)
[31,524 views]  View Printable Version
Older wireless Macs and D-Link wireless N routers Network
I bought a new D-Link DIR-625 router and got it to work with all my computers except one -- an older PowerBook Pismo with an AirPort wireless card. I kept getting the error that it couldn't connect to the airport network. The machine would connect to my old router, and to my neighbor's router, just not my new D-Link router. For days, I tried everything I could find to fix it. I called support multiple times, and tried everything that they suggested. Their suggestions were of no help, however.

I finally stumbled on to the fix myself. I had to change the wireless mode from "B,G and N" to just "B and G," and then it worked fine. The problem is that my new MacBook has N wireless and now can't use my new N router at full speed. I guess that is why it is still called "draft" N router!
  Post a comment  •  Comments (9)  
  • Currently 1.43 / 5
  You rated: 1 / 5 (7 votes cast)
[15,903 views]  View Printable Version
Toggle HTTP, FTP and HTTPS proxies via widget Network
I wrote a free widget for switching HTTP, FTP or HTTPS proxies, and it currently works for Ethernet or AirPort networks.

The widget is basically a front end for a bash script, which does the hard work. I also had to write an Objective C tool for parsing of current configuration information. It is all free, so if somebody would like to see the source, just let me know.

[robg adds: I haven't tried this one.]
  Post a comment  •  Comments (3)  
  • Currently 1.71 / 5
  You rated: 3 / 5 (7 votes cast)
[9,531 views]  View Printable Version