TweetFollow Us on Twitter

Feb 98 - Tips

Volume Number: 14 (1998)
Issue Number: 2
Column Tag: Tips & Tidbits

Tips & Tidbits

by Steve Sisak

Logical Names

Unfortunately, the Macintosh doesn't have a system-level mechanism for dealing with the notion of logical paths. Aliases don't work when files get moved, and using paths with device names doesn't work because everybody uses different device names (besides, device names aren't guaranteed to be unique).

As a kluge for MPW Shell, AppleScript and Macintosh Common Lisp, we create a folder in the system folder called "Logical Names" and place aliases to other files and folders in this folder. The name of each alias is then defined, in some application specific way (q.v, below), as a symbol bound to the file found by resolving the alias. This allows us to put aliases like "ProjFolder" or "MoreFilesFolder" in the logical names folder and have a chance of being able to use build scripts, Makefiles, etc. on other folks' machines without having to do a major re-write of the files in question.

Usage

To make use of any of the specific implementations described below, you need first create your logical names folder. This folder must be immediately in your system folder, and it must be named "Logical Names" (note the space).

Then, create some useful aliases in this folder. For example, we typically place the following in our logical names folders:

  TempFolder - an alias to the RAM Disk
  HomeFolder - an alias to the folder containing user folders
  ProjFolder - an alias to the folder containing project folders
  ArchivesFolder - an alias to the folder containing archives
  TransferFolder - an alias to a folder used as transient storage

You may place aliases within folders within the logical names folder, though you should avoid name conflicts between folders.

MPW Shell

This implementation is distributed in the file: UserStartup*!LogicalNames

For the MPW Shell implementation of Logical Names, we use a start-up script to create an environment variable for each alias in the logical names folder. The name of each variable is the same as the name of the alias. The value of each variable is the resolution of the alias. In addition, the LogicalNames variable is set to a list of the installed logical names.

To make use of this script, simply place it in your MPW folder (leaving it named "UserStartup*!LogicalNames").

For example, if you've created the "ArchivesFolder" logical name alias, once you launch MPW the following should report the full path to your archives folder:

  echo {ArchivesFolder}

AppleScript

This implementation is distributed in the file: LogicalNames.as.

For the AppleScript implementation of LogicalNames, we use a function to lookup and resolve a logical name alias given its name. For this implementation only, if the alias is in a sub-folder of the logical names folder, then a partial path must be supplied. LogicalNames.as also supplies a utility function which converts an item into a full path string.

To make use of these functions, you must first load and compile LogicalNames.as using the Script Editor. Then, you must save the compiled script as a Compiled Script to the file "LogicalNames" in your Scripting Additions folder. Now it's in a well-known location. Then, insert the following at the beginning of every script in which you want to use logical names:

  tell application "Finder"
    set LogicalNames to -
      (load script file -
        (name of startup disk & ":" & -
          name of system folder & ":" & -
          "Extensions:Scripting Additions:LogicalNames"))
  end tell

This will bind the LogicalNames variable to the (previously saved) compilation of the LogicalNames.as script, from which you may use the logicalNameGetItem(aName) and fullPathFromItem(anItem) functions.

For example, if you've created the "ArchivesFolder" logical name alias, a script such as the following should report the full path to your archives folder:

  tell application "Finder"
    set LogicalNames to -
      (load script file -
        (name of startup disk & ":" & -
          name of system folder & ":" & -
          "Extensions:Scripting Additions:LogicalNames"))
  end tell
  set myArc to logicalNameGetItem("ArchivesFolder") of LogicalNames
  fullPathFromItem(myArc) of LogicalNames

Macintosh Common Lisp

This implementation is distributed in the file: logical-names.lisp

MCL has a concept similar to logical names in its "logical hosts", but no reasonable built-in mechanisms for defining them in terms of the generalized Mac file system. So, for the MCL implementation of Logical Names, we simply provide functions for defining a logical host for each alias in the logical names folder. The name of each logical host is the same as the name of the alias. The target of each logical host is the resolution of the alias.

To make use of these functions, simply place logical-names.lisp in your MCL folder, then add the following to your init.lisp (or .fasl/.pfsl) file:

  (load "logical-names.lisp")
  (define-all-logical-names)

For example, if you've created the "ArchivesFolder" logical name alias, once you launch MCL the following should report the full path to your archives folder:

  (full-pathname (make-pathname :host "ArchivesFolder"))

Mike Webb, mjw@codewell.com and
Jeff Mallatt, jjm@codewell.com

 
AAPL
$100.96
Apple Inc.
-0.83
MSFT
$47.52
Microsoft Corpora
+0.84
GOOG
$596.08
Google Inc.
+6.81

MacTech Search:
Community Search:

Software Updates via MacUpdate

Airfoil 4.8.9 - Send audio from any app...
Airfoil allows you to send any audio to AirPort Express units, Apple TVs, and even other Macs and PCs, all in sync! It's your audio - everywhere. With Airfoil you can take audio from any... Read more
WhatRoute 1.13.0 - Geographically trace...
WhatRoute is designed to find the names of all the routers an IP packet passes through on its way from your Mac to a destination host. It also measures the round-trip time from your Mac to the... Read more
Chromium 37.0.2062.122 - Fast and stable...
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all Internet users to experience the web. FreeSMUG-Free OpenSource Mac User Group build is... Read more
Attachment Tamer 3.1.14b9 - Take control...
Attachment Tamer gives you control over attachment handling in Apple Mail. It fixes the most annoying Apple Mail flaws, ensures compatibility with other email software, and allows you to set up how... Read more
Duplicate Annihilator 5.0 - Find and del...
Duplicate Annihilator takes on the time-consuming task of comparing the images in your iPhoto library using effective algorithms to make sure that no duplicate escapes. Duplicate Annihilator detects... Read more
jAlbum Pro 12.2 - Organize your digital...
jAlbum Pro has all the features you love in jAlbum, but comes with a commercial license. With jAlbum, you can create gorgeous custom photo galleries for the Web without writing a line of code!... Read more
jAlbum 12.2 - Create custom photo galler...
With jAlbum, you can create gorgeous custom photo galleries for the Web without writing a line of code! Beginner-friendly, with pro results Simply drag and drop photos into groups, choose a design... Read more
Quicken 2015 2.0.4 - Complete personal f...
Quicken 2015 helps you manage all your personal finances in one place, so you can see where you're spending and where you can save. Quicken automatically categorizes your financial transactions,... Read more
iMazing 1.0 - Complete iOS device manage...
iMazing (formerly DiskAid) is the ultimate iOS device manager with capabilities far beyond what iTunes offers. With iMazing and your iOS device (iPhone, iPad, or iPod), you can: Copy music to and... Read more
Xcode 6.0.1 - Integrated development env...
Apple Xcode is Apple Computer's integrated development environment (IDE) for OS X. The full Xcode package is free to ADC members and includes all the tools you need to create, debug, and optimize... Read more

Latest Forum Discussions

See All

View Source – HTML, JavaScript and CSS...
View Source – HTML, JavaScript and CSS 1.0 Device: iOS Universal Category: Utilities Price: $.99, Version: 1.0 (iTunes) Description: View Source is an app plus an iOS 8 Safari extension that makes it easy to do one key web developer... | Read more »
Avenged Sevenfold’s Hail To The King: De...
Avenged Sevenfold’s Hail To The King: Deathbat is Coming to iOS on October 16th Posted by Jessica Fisher on September 19th, 2014 [ permalink ] Just in time for Halloween, on October 16 Avenged Sevenfold will be launching | Read more »
Talisman Has Gone Universal – Can Now be...
Talisman Has Gone Universal – Can Now be Played on the iPhone Posted by Jessica Fisher on September 19th, 2014 [ permalink ] | Read more »
Tap Army Review
Tap Army Review By Jennifer Allen on September 19th, 2014 Our Rating: :: SHOOT EM ALLUniversal App - Designed for iPhone and iPad Mindless but fun, Tap Army is a lane-based shooter that should help you relieve some stress.   | Read more »
Monsters! Volcanoes! Loot! Epic Island f...
Monsters! Volcanoes! Loot! | Read more »
Plunder Pirates: Tips, Tricks, Strategie...
Ahoy There, Seadogs: Interested in knowing our thoughts on all this plundering and pirating? Check out our Plunder Pirates Review! Have you just downloaded the rather enjoyable pirate-em-up Plunder Pirates and are in need of some assistance? Never... | Read more »
Goat Simulator Review
Goat Simulator Review By Lee Hamlet on September 19th, 2014 Our Rating: :: THE GRUFFEST OF BILLY GOATSUniversal App - Designed for iPhone and iPad Unleash chaos as a grumpy goat in this humorous but short-lived casual game.   | Read more »
A New and Improved Wunderlist is Here fo...
A New and Improved Wunderlist is Here for iOS 8 Posted by Jessica Fisher on September 19th, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Evernote Update for iOS 8 Adds Web Clipp...
Evernote Update for iOS 8 Adds Web Clipping, Quick Notes, and More Posted by Ellis Spice on September 19th, 2014 [ permalink ] | Read more »
Apple Names Ultimate Productivity Bundl...
Apple Names Ultimate Productivity Bundle by Readdle as the Essential Bundle on the App Store Posted by Jessica Fisher on September 19th, 2014 [ permalink | Read more »

Price Scanner via MacPrices.net

iFixIt Tears Down iPhone 6; Awards Respectabl...
iFixit notes that even the smaller 4.7″ iPhone 6 is a giant among iPhones; so big that Apple couldn’t fit it into the familiar iPhone form factor. In a welcome reversal of a recent trend to more or... Read more
Phone 6 Guide – Tips Book For Both iPhone 6...
iOS Guides has announced its latest eBook: iPhone 6 Guide. Brought to you by the expert team at iOS Guides, and written by best-selling technology author Tom Rudderham, iPhone 6 Guide is packed with... Read more
How to Upgrade iPhone iPad to iOS 8 without D...
PhoneClean, a iPhone cleaner utility offered by iMobie Inc., reveals a solution for upgrading iPhone and iPad to iOS 8 without deleting photos, apps, the new U2 album or anything. Thanks to more than... Read more
Updated Price Trackers
We’ve updated our Mac Price Trackers with the latest information on prices, bundles, and availability on systems from Apple’s authorized internet/catalog resellers: - 15″ MacBook Pros - 13″ MacBook... Read more
Mac Pros available for up to $260 off MSRP
Adorama has Mac Pros on sale for up to $260 off MSRP. Shipping is free, and Adorama charges sales tax in NY & NJ only: - 4-core Mac Pro: $2839.99, $160 off MSRP - 6-core Mac Pro: $3739.99, $260... Read more
13-inch 2.6GHz/256GB Retina MacBook Pros avai...
B&H Photo has the 13″ 2.6GHz/256GB Retina MacBook Pro on sale for $1379 including free shipping plus NY sales tax only. Their price is $120 off MSRP. Read more
Previous-generation 15-inch 2.0GHz Retina Mac...
B&H Photo has leftover previous-generation 15″ 2.0GHz Retina MacBook Pros now available for $1599 including free shipping plus NY sales tax only. Their price is $400 off original MSRP. B&H... Read more
21″ 2.7GHz iMac available for $1179, save $12...
Adorama has 21″ 2.7GHz Hawell iMacs on sale for $1179.99 including free shipping. Their price is $120 off MSRP. NY and NJ sales tax only. Read more
iOS 8 Adoption Rate Slower than iOS 7, 6, Hit...
Apple began pushing out iOS 8 updates to eligible devices around 1pm ET on September 17, 2014. However, unlike with iOS 7, which boasted a wide variety of differences from its predecessor iOS 6, in... Read more
LIkely Final Definitive OS X 10.9.5 Mavericks...
Apple has released what will almost certainly be the last incremental version number update of OS X 10.9 Mavericks (save for futire security updates) before OS X 10.10 Yosemite is released next month... Read more

Jobs Board

Position Opening at *Apple* - Apple (United...
**Job Summary** The Apple Store is a retail environment like no other - uniquely focused on delivering amazing customer experiences. As an Expert, you introduce people Read more
Position Opening at *Apple* - Apple (United...
**Job Summary** As businesses discover the power of Apple computers and mobile devices, it's your job - as a Solutions Engineer - to show them how to introduce these Read more
Position Opening at *Apple* - Apple (United...
…Summary** As a Specialist, you help create the energy and excitement around Apple products, providing the right solutions and getting products into customers' hands. You Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
Project Manager, *Apple* Financial Services...
**Job Summary** Apple Financial Services (AFS) offers consumers, businesses and educational institutions ways to finance Apple purchases. We work with national and Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.