Learning to use the Apple key combinations can give your workflow rapid acceleration.
Apple Key - O -- Open File
( Make Changes to your Document )
Apple Key - S -- Save Document
Apple Key - W -- Close Document
( Open another document, with the above keystrokes, etc... )
Apple Key - Tab -- Switch to another application
Apple Key - ~ ( tilde ) -- Switch to another Window in the same application. Usually used in Microsoft word where you have two or more documents open.
Apple Key - H -- Hide Current
Application
Apple Key - Q -- Quit Application
These key combinations allow you to really fly on the apple computer.
Note: Four of these key combinations are available on Windows using the Ctrl key. Not having Quit is a pain in the neck. The difference is that they seem to be on Windows as an afterthought. They are the Primary shortcut keys on a Apple Computer.
Apple's Desktop Gui doesn't just look beautiful. It's fonts are the best in the world. They are nice looking and you will almost NEVER find a font that's just 1 pixel wide. In other words, they truly are easy on the eyes. You won't have to squint to read most text.
One of the serious weaknesses with Windows was Microsoft's need to kill MS-Dos to push the idea of Gui interfaces into it's user base. Apple's OS X has a 30 year collection
of Unix utilities in the Box that, given sufficient learning curve can help you, at least programmers, be extremely productive.
( I'd just like to add that MS-Dos is just a slight hint of the power of a highly productive batch process. ) Gui applications are Great for Beginners but they come with the cost
of high resource overhead, and the NEED for User Interaction. Something you don't want or need on a server. The best of both worlds would be to take the Unix utilities and put GUI
front end's on them for Beginner users. But, as you can see with some of these utilities, you'd need a book to learn of all their options.
But, there is a Book, or at least a Manual.
Starting up a Terminal session( Applications / Utilities / Terminal ),
type: man grep to get the full list of optional features this command can perform.
type: exit and then Apple Key - Q to Quit terminal
Some Examples:
Grep: Apple's search capabilities through the finder are good. But Grep answers a developer's text search needs more specifically:
Grep runs instantly, demonstrating the true power of the PPC architecture.
Example: grep -irn -B 10 -A 10 FIND-THIS-TEXT *.txt > /Users/YourName/Desktop/CODE/Grep-Results/GrepResults.txt
Options:
-i == ignore-case
-r == recursive, search this directory and sub-directories
-n == add line number to the output
-B 10 == print 10 lines of PRE-context info( 10 lines BEFORE the Match )
-A 10 == print 10 lines of AFTER context info
Find-This-Text < Pattern to match( can be a RegExp )
*.txt <-- File Filter, no filter of file names
> -- Send data to a file
Having an Apple available for work can help out on Windows problems. These two utilities helped me out when some Windows log files exploded in size.
split Split large files
split -l 25000 myBigFile mySplitFiles
-l -- line number to split file on
mySplitFiles -- prefix for file name: limits split to 676 files
-- file no prefix is used then output files can goto 2028
cat Concatenate and print files
- shows the contents of a file (cat filename)

cat -s file1 file2 > file3
- concat the contents of file1 and file2 into file3
-
the -s option drops multi blank lines from the output file.
Don't be afraid to add memory. It can really supercharge your workflow. This advice goes for Windows and Mac OS X.
To start out, check out the Apple Utility: Activity Monitor, and if you don't see a large application of useful information, click on the Monitor menu and select Show
Activity Monitor.
Then near the bottom of the window, click on the System Memory tab. You want to watch this while you work for a while. Specifically the Page
ins/outs: info. If you could use more
memory for your current work flow you will see an Equal amount of Page In / Outs. This indicates that the OS is paging in data and programs, then when you switch to another application
the system must Page Out some of your data to make room in memory for the New Application you've just started.
Well, If you can afford to add memory, you can cut down on this essentially Wasted Cpu Work by adding memory. The net effect will be that you will reduce or almost Eliminate Page Outs. Your cpu won't have to do this type of work, Allowing it to do more Useful work, handling application requests.
For normal Web Browsing / email: I believe you don't need more than 512meg.
To work on Multiple User applications: You shouldn't need more then 768meg.
To work on JBuilder, Dreamweaver and Word together: It doesn't hurt to have 1 Gig of real memory.
To Get the Full power of Virtual PC: 1.5 Gig is justified, although it will work with much less.
A friend of mine even has 2Gig on his laptop for Virtual PC and some Music applications.
And, it doesn't hurt. As long as that Page Out number is low you are getting the full benefit of the cpu cycles available.
But, I'm not encouraging you to spend money needlessly.
The first rule is the start looking at your page outs and the amount of memory you are currently using.
Secondly, if you aren't bothered by the cpu pausing very slightly when you change applications then you don't need a memory increase. You won't see your workflow speed increase by 100%, you will merely notice that working in your workflow is extremely smooth. Because, like a race car, you aren't increasing your top speed, just improving your corner time.