Sable Cantus

Musician, Dad, Gamer, Teacher, Explorer, Philosopher, Runner, Student of the world

view my profile
sync your files
go for a run
let's meet

Posts

  • September 07, 11:48 AM
  • September 04, 01:21 PM

    Buzz by Sable Cantus from Buzz

    Only in America.
    Only in America.
  • September 03, 06:09 PM

    Buzz by Sable Cantus from posterous.com

    tempests of uncertainty and bravado:

    Teenagers are teenagers -- tempests of uncertainty and bravado -- no matter what zip code they live in.



    via andrewsullivan.theatlantic.com
    love this quote. great read. it reaches me as a part-time college professor

    tempests of uncertainty and bravado:

    Teenagers are teenagers -- tempests of uncertainty and bravado -- no matter what zip code they live in.



    via andrewsullivan.theatlantic.com
    love this quote. great read. it reaches me as a part-time college professor

  • August 30, 09:58 PM

    Buzz by Sable Cantus from Mobile

    Life can be strange. I just met with an instrument repair guy at a bar in Fullerton. Bruce Belo was highly recommended to me to get my slaughtered trombone slide repaired after a horrible child plus brass accident.

    I literally left my prize conn 44h with a complete stranger in a bar. I'll call him tomorrow I hope!
    Life can be strange. I just met with an instrument repair guy at a bar in Fullerton. Bruce Belo was highly recommended to me to get my slaughtered trombone slide repaired after a horrible child plus brass accident.

    I literally left my prize conn 44h with a complete stranger in a bar. I'll call him tomorrow I hope!
  • August 31, 10:35 PM

    Buzz by Sable Cantus from posterous.com

    Bruce belo and I:



    Bruce belo and I:



  • August 31, 04:30 PM

    Buzz by Sable Cantus from posterous.com

    India Blackberry | Research in Motion | Ban:

    Under the agreement, RIM will immediately implement systems to grant "lawful access by law enforcement agencies" to customer data, India's Home Ministry said in a statement.



    via globalpost.com
    This article makes it seem as though the government of India will be able to read blackberry users email. I don't think that is possible as email is encrypted from the device all the way to the server at the network operations center. For an enterprise like ours, email is encrypted all the way to our BES. For a non enterprise user, their email is encrypted all the way to RIM headquarters.
    I suppose that RIM could hand over the unencrypted email headers of messages so it would be possible to see that I sent an email to so-and-so.
    Messenger data is another story. Anyone can decrypt or change ( http://www.blackberryfaq.com/index.php/How_do_I_alter/remove_the_peer-to-peer... it.

    India Blackberry | Research in Motion | Ban:

    Under the agreement, RIM will immediately implement systems to grant "lawful access by law enforcement agencies" to customer data, India's Home Ministry said in a statement.



    via globalpost.com
    This article makes it seem as though the government of India will be able to read blackberry users email. I don't think that is possible as email is encrypted from the device all the way to the server at the network operations center. For an enterprise like ours, email is encrypted all the way to our BES. For a non enterprise user, their email is encrypted all the way to RIM headquarters.
    I suppose that RIM could hand over the unencrypted email headers of messages so it would be possible to see that I sent an email to so-and-so.
    Messenger data is another story. Anyone can decrypt or change ( http://www.blackberryfaq.com/index.php/How_do_I_alter/remove_the_peer-to-peer... it.

  • August 31, 02:14 PM

    Buzz by Sable Cantus from Google Reader

    new cli-style commands to effectively route through your daily news feed.

    I say huzzah

    Fullscreen and more! - Official Google Reader Blog
    new cli-style commands to effectively route through your daily news feed.

    I say huzzah

    Fullscreen and more! - Official Google Reader Blog
  • August 25, 11:50 AM

    Buzz by Sable Cantus from posterous.com

    US-CERT Cyber Security Tip ST05-014 -- Real-World Warnings Keep You Safe Online:

    If it sounds too good to be true, it probably is



    via us-cert.gov
    This list of solid security tidbits came via email this morning and I thought I would share with you. via us-cert.gov

    US-CERT Cyber Security Tip ST05-014 -- Real-World Warnings Keep You Safe Online:

    If it sounds too good to be true, it probably is



    via us-cert.gov
    This list of solid security tidbits came via email this morning and I thought I would share with you. via us-cert.gov

  • August 24, 01:14 PM

    Buzz by Sable Cantus from posterous.com

    UNIX tips: Learn 10 good UNIX usage habits:

    Introduction

    When you use a system often, you tend to fall into set usage patterns. Sometimes, you do not start the habit of doing things in the best possible way. Sometimes, you even pick up bad practices that lead to clutter and clumsiness. One of the best ways to correct such inadequacies is to conscientiously pick up good habits that counteract them. This article suggests 10 UNIX command-line habits worth picking up -- good habits that help you break many common usage foibles and make you more productive at the command line in the process. Each habit is described in more detail following the list of good habits.

    Adopt 10 good habits

    Ten good habits to adopt are:





    Make directory trees in a single swipe .



    Change the path; do not move the archive .



    Combine your commands with control operators .



    Quote variables with caution .



    Use escape sequences to manage long input .



    Group your commands together in a list .



    Use xargs outside of find

    .



    Know when grep should do the counting -- and when it

    should step aside .



    Match certain fields in output, not just lines .



    Stop piping cat s .



    Make directory trees in a single swipe

    Listing 1 illustrates one of the most common bad UNIX habits around: defining directory trees one at a time.

    Listing 1. Example of bad habit #1: Defining directory trees individually

    It is so much quicker to use the p option to mkdir and make all parent directories along with their

    children in a single command. But even administrators who know about this option are still caught stepping through the subdirectories as they make them on the

    command line. It is worth your time to conscientiously pick up the good habit:

    Listing 2. Example of good habit #1: Defining directory trees with one command

    You can use this option to make entire complex directory trees, which are great to use inside scripts; not just simple hierarchies. For example:

    Listing 3. Another example of good habit #1: Defining complex directory trees with one command



    In the past, the only excuse to define directories individually was that your mkdir implementation did not support this option, but this is no longer true on most systems. IBM AIX® mkdir , GNU mkdir , and others that conform to the Single UNIX Specification now have this option.



    For the few systems that still lack the capability, use the mkdirhier script (see Resources ), which is a wrapper for mkdir that does the same function:



    Change the path; do not move the archive



    Another bad usage pattern is moving a .tar archive file to a certain directory because it happens to be the directory you want to extract it in. You never need to

    do this. You can unpack any .tar archive file into any directory you like -
    that is what the C option is for. Use the -C option when unpacking an archive file to specify the directory to unpack it in:

    Listing 4. Example of good habit #2: Using option -C to unpack a .tar archive file

    Making a habit of using -C is preferable to moving the archive file to where you want to unpack it, changing to that directory, and only then extracting its contents -
    especially if the archive file belongs somewhere else.

    Back to top Combine your commands with control operators

    You probably already know that in most shells, you can combine commands on a single command line by placing a semicolon (;) between them. The semicolon is a shell control operator , and while it is useful for stringing together multiple discrete commands on a single command line, it does not work for everything. For example, suppose you use a semicolon to combine two commands in which the proper execution of the second command depends entirely upon the successful completion of the first. If the first command does not exit as you expected, the second command still runs -- and fails. Instead, use more appropriate control operators (some are described in this article). As long as your shell supports them, they are worth getting into the habit of using them.

    Run a command only if another command returns a zero exit status

    Use the && control operator to combine two commands so that the second is run only if the first command returns a

    zero exit status. In other words, if the first command runs successfully, the second command runs. If the first command fails, the second command does not run at all. For example:

    Listing 5. Example of good habit #3: Combining commands with control operators



    In this example, the contents of the archive are extracted into the ~/tmp/a/b/c directory unless that directory does not exist. If the directory does not exist, the

    tar command does not run, so nothing is extracted.

    Run a command only if another command returns a non-zero exit status

    Similarly, the || control operator separates two commands and runs the second command only if the first command returns a non-zero exit status. In other words, if the first command is successful, the second command does not run. If the first command fails, the second command

    does run. This operator is often used when testing for whether a given directory exists and, if not, it creates one:

    Listing 6. Another example of good habit #3: Combining commands with control operators

    You can also combine the control operators described in this section. Each works on the last command run:

    Listing 7. A combined example of good habit #3: Combining commands with control operators

    Back to top Quote variables with caution

    Always be careful with shell expansion and variable names. It is generally a good idea to enclose variable calls in double quotation marks, unless you have a good reason not to. Similarly, if you are directly following a variable name with alphanumeric text, be sure also to enclose the variable name in curly braces ({}) to

    distinguish it from the surrounding text. Otherwise, the shell interprets the trailing text as part of your variable name -- and most likely returns a null value. Listing 8 provides examples of various quotation and non-quotation of variables and their effects.

    Listing 8. Example of good habit #4: Quoting (and not quoting) a variable

    Back to top Use escape sequences to manage long input

    You have probably seen code examples in which a backslash (\) continues a long line over to the next line, and you know that most shells treat what you type over successive lines joined by a backslash as one long line. However, you might not take advantage of this function on the command line as often as you can. The backslash is especially handy if your terminal does not handle multi-line wrapping properly or when your command line is smaller than usual (such as when

    you have a long path on the prompt). The backslash is also useful for making sense of long input lines as you type them, as in the following example:

    Listing 9. Example of good habit #5: Using a backslash for long input

    Alternatively, the following configuration also works:

    Listing 10. Alternative example of good habit #5: Using a backslash for long input

    However you divide an input line over multiple lines, the shell always treats it as one continuous line, because it always strips out all the backslashes and extra

    spaces.



    Note: In most shells, when you press the up arrow key, the entire multi-line entry is redrawn on a single, long input line.

    Back to top Group your commands together in a list

    Most shells have ways to group a set of commands together in a list so that you can pass their sum-total output down a pipeline or otherwise redirect any or all of its streams to the same place. You can generally do this by running a list of commands in a subshell or by running a list of commands in the current shell.

    Run a list of commands in a subshell

    Use parentheses to enclose a list of commands in a single group. Doing so runs the commands in a new subshell and allows you to redirect or otherwise

    collect the output of the whole, as in the following example:

    Listing 11. Example of good habit #6: Running a list of commands in a subshell



    In this example, the content of the archive is extracted in the tmp/a/b/c/ directory while the output of the grouped commands, including a list of extracted files, is mailed to the admin address.

    The use of a subshell is preferable in cases when you are redefining environment variables in your list of commands and you do not want those definitions to

    apply to your current shell.

    Run a list of commands in the current shell

    Use curly braces ({}) to enclose a list of commands to run in the current shell. Make sure you include spaces between the braces and the actual commands, or the shell might not interpret the braces correctly. Also, make sure that the final command in your list ends with a semicolon, as in the following example:

    Listing 12. Another example of good habit #6: Running a list of commands in the current shell

    Back to top Use xargs outside of find

    Use the xargs tool as a filter for making good use of output culled from the find command. The general precept is that a find run provides a list of files that match some criteria. This list is passed on to xargs , which then runs some other useful command with that list of files as arguments, as in the following example:

    Listing 13. Example of the classic use of the xargs tool

    However, do not think of xargs as just a helper for find ; it is one of those underutilized tools that, when

    you get into the habit of using it, you want to try on everything, including the following uses.

    Passing a space-delimited list

    In its simplest invocation, xargs is like a filter that takes as input a list (with each member on a single line). The tool puts those members on a single space-delimited line:

    Listing 14. Example of output from the xargs tool



    You can send the output of any tool that outputs file names through xargs to get a list of arguments for some other tool that takes file names as an argument, as in the following example:

    Listing 15. Example of using of the xargs tool

    The xargs command is useful for more than passing file names. Use it any time you need to filter text into a single line:

    Listing 16. Example of good habit #7: Using the xargs tool to filter text into a single line

    Be cautious using xargs





    Technically, a rare situation occurs in which you could get into trouble using xargs . By default, the end-of-file string is an underscore (_); if that character is sent as a single input argument, everything after it is ignored. As a precaution against this, use the e flag, which, without arguments, turns off the end-of-file string completely.

    Back to top Know when grep should do the counting -
    and when it should step aside

    Avoid piping a grep to wc l in order to count the number of lines of output. The -c option to grep gives a count of lines that match the specified pattern and is generally faster than a pipe to wc , as in the following example:

    Listing 17. Example of good habit #8: Counting lines with and without grep

    An addition to the speed factor, the -c option is also a better way to do the counting. With multiple files, grep with the -c option returns a separate count for each file, one on each line, whereas a pipe to wc gives a total count for all files combined.



    However, regardless of speed considerations, this example showcases another common error to avoid. These counting methods only give counts of the number of lines containing matched patterns -
    and if that is what you are looking for, that is great. But in cases where lines can have multiple instances of a particular pattern, these methods do not give you a true count of the actual number of instances matched. To count the number of instances, use wc to count, after all. First, run a grep command with the -o option, if your version supports it. This option outputs only the matched pattern, one on each line, and not the line itself. But you cannot use it in conjunction with the -c option, so use wc -l to count the lines, as in the following example:

    Listing 18. Example of good habit #8: Counting pattern instances with grep

    In this case, a call to wc is slightly faster than a second call to grep with a dummy pattern put in to match and count each line (such as grep -c ).

    Back to top Match certain fields in output, not just lines

    A tool like awk is preferable to grep when you want to match the pattern in only a specific field in the lines of output and not just anywhere in the lines.

    The following simplified example shows how to list only those files modified in December:

    Listing 19. Example of bad habit #9: Using grep to find patterns in specific fields

    In this example, grep filters the lines, outputting all files with Dec in their modification dates as well as in their names. Therefore, a file such as December_Report.pdf is matched, even if it has not been modified since January. This probably is not what you want. To match a pattern in a particular field, it is better to use awk , where a relational operator matches the exact field, as in the following example:

    Listing 20. Example of good habit #9: Using awk to find patterns in specific fields

    See Resources for more details about how to use awk .

    Back to top Stop piping cats

    A basic-but-common grep usage error involves piping the output of cat to grep to search the contents of a single file. This is absolutely unnecessary and a waste of time, because tools such as grep take file names as arguments. You simply do not need to use cat in this situation at all, as in the following example:

    Listing 21. Example of good and bad habit #10: Using grep with and without cat





    This mistake applies to many tools. Because most tools take standard input as an argument using a hyphen (-), even the argument for using cat to intersperse multiple files with stdin is often not valid. It is really only necessary to concatenate first before a pipe when you use cat with one of its several filtering options.

    Back to top Conclusion: Embrace good habits

    It is good to examine your command-line habits for any bad usage patterns. Bad habits slow you down and often lead to unexpected errors. This article presents 10 new habits that can help you break away from many of the most common usage errors. Picking up these good habits is a positive step toward sharpening your UNIX command-line skills.





    Resources Learn

    " Use free software within commercial UNIX " (developerWorks, February 2006) is a short primer on using the myriad of open source software on a commercial, proprietary UNIX implementation.



    " Working in the bash shell " (developerWorks, May 2006) provides an introductory tutorial on the popular Bash shell.



    " Get started with GAWK " (developerWorks, September 2006) shows you how to manipulate text with the AWK language.



    " Hone your regexp pattern-building skills " (developerWorks, July 2006) describes more useful ways to use grep .



    Visit the developerWorks AIX and UNIX zone to get the resources you need to advance your skills.



    New to AIX and UNIX? Visit the New to AIX and UNIX page to learn more.



    Browse the technology bookstore for books on these and other technical topics.

    Get products and technologies

    To obtain a copy of mkdirhier , you can download a version from the Haskell compiler .

    Discuss

    Podcasts : Tune in and catch up with IBM technical experts.



    Check out developerWorks blogs and get involved in the developerWorks community .



    About the author Michael Stutz is author of The Linux® Cookbook , which, incidentally, he designed and typeset using only open source software. His research interests include digital publishing and the future of the book. He has used various UNIX operating systems for 20 years. You can reach Michael at stutz@dsl.org .







    Comments













    10  comments | Sign in Add comment Report inappropriate content Show 5 most recent comments | Show next 5 comments | Show all comments Sign in Add comment









    Back to top

    Trademarks  |  My developerWorks terms and conditions









    Close [x]





    Help: Update or add to My dW interests

    What's this?



    This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

    And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

    View your My developerWorks profile

    Return from help















    Close [x]





    Help: Remove from My dW interests

    What's this?



    Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

    View your My developerWorks profile

    Return from help















    via ibm.com
    Thanks IBM for helping us streamline our cli workflow.

    UNIX tips: Learn 10 good UNIX usage habits:

    Introduction

    When you use a system often, you tend to fall into set usage patterns. Sometimes, you do not start the habit of doing things in the best possible way. Sometimes, you even pick up bad practices that lead to clutter and clumsiness. One of the best ways to correct such inadequacies is to conscientiously pick up good habits that counteract them. This article suggests 10 UNIX command-line habits worth picking up -- good habits that help you break many common usage foibles and make you more productive at the command line in the process. Each habit is described in more detail following the list of good habits.

    Adopt 10 good habits

    Ten good habits to adopt are:





    Make directory trees in a single swipe .



    Change the path; do not move the archive .



    Combine your commands with control operators .



    Quote variables with caution .



    Use escape sequences to manage long input .



    Group your commands together in a list .



    Use xargs outside of find

    .



    Know when grep should do the counting -- and when it

    should step aside .



    Match certain fields in output, not just lines .



    Stop piping cat s .



    Make directory trees in a single swipe

    Listing 1 illustrates one of the most common bad UNIX habits around: defining directory trees one at a time.

    Listing 1. Example of bad habit #1: Defining directory trees individually

    It is so much quicker to use the p option to mkdir and make all parent directories along with their

    children in a single command. But even administrators who know about this option are still caught stepping through the subdirectories as they make them on the

    command line. It is worth your time to conscientiously pick up the good habit:

    Listing 2. Example of good habit #1: Defining directory trees with one command

    You can use this option to make entire complex directory trees, which are great to use inside scripts; not just simple hierarchies. For example:

    Listing 3. Another example of good habit #1: Defining complex directory trees with one command



    In the past, the only excuse to define directories individually was that your mkdir implementation did not support this option, but this is no longer true on most systems. IBM AIX® mkdir , GNU mkdir , and others that conform to the Single UNIX Specification now have this option.



    For the few systems that still lack the capability, use the mkdirhier script (see Resources ), which is a wrapper for mkdir that does the same function:



    Change the path; do not move the archive



    Another bad usage pattern is moving a .tar archive file to a certain directory because it happens to be the directory you want to extract it in. You never need to

    do this. You can unpack any .tar archive file into any directory you like -
    that is what the C option is for. Use the -C option when unpacking an archive file to specify the directory to unpack it in:

    Listing 4. Example of good habit #2: Using option -C to unpack a .tar archive file

    Making a habit of using -C is preferable to moving the archive file to where you want to unpack it, changing to that directory, and only then extracting its contents -
    especially if the archive file belongs somewhere else.

    Back to top Combine your commands with control operators

    You probably already know that in most shells, you can combine commands on a single command line by placing a semicolon (;) between them. The semicolon is a shell control operator , and while it is useful for stringing together multiple discrete commands on a single command line, it does not work for everything. For example, suppose you use a semicolon to combine two commands in which the proper execution of the second command depends entirely upon the successful completion of the first. If the first command does not exit as you expected, the second command still runs -- and fails. Instead, use more appropriate control operators (some are described in this article). As long as your shell supports them, they are worth getting into the habit of using them.

    Run a command only if another command returns a zero exit status

    Use the && control operator to combine two commands so that the second is run only if the first command returns a

    zero exit status. In other words, if the first command runs successfully, the second command runs. If the first command fails, the second command does not run at all. For example:

    Listing 5. Example of good habit #3: Combining commands with control operators



    In this example, the contents of the archive are extracted into the ~/tmp/a/b/c directory unless that directory does not exist. If the directory does not exist, the

    tar command does not run, so nothing is extracted.

    Run a command only if another command returns a non-zero exit status

    Similarly, the || control operator separates two commands and runs the second command only if the first command returns a non-zero exit status. In other words, if the first command is successful, the second command does not run. If the first command fails, the second command

    does run. This operator is often used when testing for whether a given directory exists and, if not, it creates one:

    Listing 6. Another example of good habit #3: Combining commands with control operators

    You can also combine the control operators described in this section. Each works on the last command run:

    Listing 7. A combined example of good habit #3: Combining commands with control operators

    Back to top Quote variables with caution

    Always be careful with shell expansion and variable names. It is generally a good idea to enclose variable calls in double quotation marks, unless you have a good reason not to. Similarly, if you are directly following a variable name with alphanumeric text, be sure also to enclose the variable name in curly braces ({}) to

    distinguish it from the surrounding text. Otherwise, the shell interprets the trailing text as part of your variable name -- and most likely returns a null value. Listing 8 provides examples of various quotation and non-quotation of variables and their effects.

    Listing 8. Example of good habit #4: Quoting (and not quoting) a variable

    Back to top Use escape sequences to manage long input

    You have probably seen code examples in which a backslash (\) continues a long line over to the next line, and you know that most shells treat what you type over successive lines joined by a backslash as one long line. However, you might not take advantage of this function on the command line as often as you can. The backslash is especially handy if your terminal does not handle multi-line wrapping properly or when your command line is smaller than usual (such as when

    you have a long path on the prompt). The backslash is also useful for making sense of long input lines as you type them, as in the following example:

    Listing 9. Example of good habit #5: Using a backslash for long input

    Alternatively, the following configuration also works:

    Listing 10. Alternative example of good habit #5: Using a backslash for long input

    However you divide an input line over multiple lines, the shell always treats it as one continuous line, because it always strips out all the backslashes and extra

    spaces.



    Note: In most shells, when you press the up arrow key, the entire multi-line entry is redrawn on a single, long input line.

    Back to top Group your commands together in a list

    Most shells have ways to group a set of commands together in a list so that you can pass their sum-total output down a pipeline or otherwise redirect any or all of its streams to the same place. You can generally do this by running a list of commands in a subshell or by running a list of commands in the current shell.

    Run a list of commands in a subshell

    Use parentheses to enclose a list of commands in a single group. Doing so runs the commands in a new subshell and allows you to redirect or otherwise

    collect the output of the whole, as in the following example:

    Listing 11. Example of good habit #6: Running a list of commands in a subshell



    In this example, the content of the archive is extracted in the tmp/a/b/c/ directory while the output of the grouped commands, including a list of extracted files, is mailed to the admin address.

    The use of a subshell is preferable in cases when you are redefining environment variables in your list of commands and you do not want those definitions to

    apply to your current shell.

    Run a list of commands in the current shell

    Use curly braces ({}) to enclose a list of commands to run in the current shell. Make sure you include spaces between the braces and the actual commands, or the shell might not interpret the braces correctly. Also, make sure that the final command in your list ends with a semicolon, as in the following example:

    Listing 12. Another example of good habit #6: Running a list of commands in the current shell

    Back to top Use xargs outside of find

    Use the xargs tool as a filter for making good use of output culled from the find command. The general precept is that a find run provides a list of files that match some criteria. This list is passed on to xargs , which then runs some other useful command with that list of files as arguments, as in the following example:

    Listing 13. Example of the classic use of the xargs tool

    However, do not think of xargs as just a helper for find ; it is one of those underutilized tools that, when

    you get into the habit of using it, you want to try on everything, including the following uses.

    Passing a space-delimited list

    In its simplest invocation, xargs is like a filter that takes as input a list (with each member on a single line). The tool puts those members on a single space-delimited line:

    Listing 14. Example of output from the xargs tool



    You can send the output of any tool that outputs file names through xargs to get a list of arguments for some other tool that takes file names as an argument, as in the following example:

    Listing 15. Example of using of the xargs tool

    The xargs command is useful for more than passing file names. Use it any time you need to filter text into a single line:

    Listing 16. Example of good habit #7: Using the xargs tool to filter text into a single line

    Be cautious using xargs





    Technically, a rare situation occurs in which you could get into trouble using xargs . By default, the end-of-file string is an underscore (_); if that character is sent as a single input argument, everything after it is ignored. As a precaution against this, use the e flag, which, without arguments, turns off the end-of-file string completely.

    Back to top Know when grep should do the counting -
    and when it should step aside

    Avoid piping a grep to wc l in order to count the number of lines of output. The -c option to grep gives a count of lines that match the specified pattern and is generally faster than a pipe to wc , as in the following example:

    Listing 17. Example of good habit #8: Counting lines with and without grep

    An addition to the speed factor, the -c option is also a better way to do the counting. With multiple files, grep with the -c option returns a separate count for each file, one on each line, whereas a pipe to wc gives a total count for all files combined.



    However, regardless of speed considerations, this example showcases another common error to avoid. These counting methods only give counts of the number of lines containing matched patterns -
    and if that is what you are looking for, that is great. But in cases where lines can have multiple instances of a particular pattern, these methods do not give you a true count of the actual number of instances matched. To count the number of instances, use wc to count, after all. First, run a grep command with the -o option, if your version supports it. This option outputs only the matched pattern, one on each line, and not the line itself. But you cannot use it in conjunction with the -c option, so use wc -l to count the lines, as in the following example:

    Listing 18. Example of good habit #8: Counting pattern instances with grep

    In this case, a call to wc is slightly faster than a second call to grep with a dummy pattern put in to match and count each line (such as grep -c ).

    Back to top Match certain fields in output, not just lines

    A tool like awk is preferable to grep when you want to match the pattern in only a specific field in the lines of output and not just anywhere in the lines.

    The following simplified example shows how to list only those files modified in December:

    Listing 19. Example of bad habit #9: Using grep to find patterns in specific fields

    In this example, grep filters the lines, outputting all files with Dec in their modification dates as well as in their names. Therefore, a file such as December_Report.pdf is matched, even if it has not been modified since January. This probably is not what you want. To match a pattern in a particular field, it is better to use awk , where a relational operator matches the exact field, as in the following example:

    Listing 20. Example of good habit #9: Using awk to find patterns in specific fields

    See Resources for more details about how to use awk .

    Back to top Stop piping cats

    A basic-but-common grep usage error involves piping the output of cat to grep to search the contents of a single file. This is absolutely unnecessary and a waste of time, because tools such as grep take file names as arguments. You simply do not need to use cat in this situation at all, as in the following example:

    Listing 21. Example of good and bad habit #10: Using grep with and without cat





    This mistake applies to many tools. Because most tools take standard input as an argument using a hyphen (-), even the argument for using cat to intersperse multiple files with stdin is often not valid. It is really only necessary to concatenate first before a pipe when you use cat with one of its several filtering options.

    Back to top Conclusion: Embrace good habits

    It is good to examine your command-line habits for any bad usage patterns. Bad habits slow you down and often lead to unexpected errors. This article presents 10 new habits that can help you break away from many of the most common usage errors. Picking up these good habits is a positive step toward sharpening your UNIX command-line skills.





    Resources Learn

    " Use free software within commercial UNIX " (developerWorks, February 2006) is a short primer on using the myriad of open source software on a commercial, proprietary UNIX implementation.



    " Working in the bash shell " (developerWorks, May 2006) provides an introductory tutorial on the popular Bash shell.



    " Get started with GAWK " (developerWorks, September 2006) shows you how to manipulate text with the AWK language.



    " Hone your regexp pattern-building skills " (developerWorks, July 2006) describes more useful ways to use grep .



    Visit the developerWorks AIX and UNIX zone to get the resources you need to advance your skills.



    New to AIX and UNIX? Visit the New to AIX and UNIX page to learn more.



    Browse the technology bookstore for books on these and other technical topics.

    Get products and technologies

    To obtain a copy of mkdirhier , you can download a version from the Haskell compiler .

    Discuss

    Podcasts : Tune in and catch up with IBM technical experts.



    Check out developerWorks blogs and get involved in the developerWorks community .



    About the author Michael Stutz is author of The Linux® Cookbook , which, incidentally, he designed and typeset using only open source software. His research interests include digital publishing and the future of the book. He has used various UNIX operating systems for 20 years. You can reach Michael at stutz@dsl.org .







    Comments













    10  comments | Sign in Add comment Report inappropriate content Show 5 most recent comments | Show next 5 comments | Show all comments Sign in Add comment









    Back to top

    Trademarks  |  My developerWorks terms and conditions









    Close [x]





    Help: Update or add to My dW interests

    What's this?



    This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

    And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

    View your My developerWorks profile

    Return from help















    Close [x]





    Help: Remove from My dW interests

    What's this?



    Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

    View your My developerWorks profile

    Return from help















    via ibm.com
    Thanks IBM for helping us streamline our cli workflow.

  • August 23, 12:06 PM

    Buzz by Sable Cantus from Google Reader

    It must be a terrible crime to drive through L.A. on a family vacation. Avoid it at all costs.

    If the police run your plates and the COLOR, MAKE, and MODEL don't match - they won't notice. All they see is that the plates were stolen ...

    » National Lampoon’s LA Vacation Dvorak Uncensored: General interest observations and true web-log. - www.dvorak.org
    It must be a terrible crime to drive through L.A. on a family vacation. Avoid it at all costs.

    If the police run your plates and the COLOR, MAKE, and MODEL don't match - they won't notice. All they see is that the plates were stolen ...

    » National Lampoon’s LA Vacation Dvorak Uncensored: General interest observations and true web-log. - www.dvorak.org
  • August 23, 03:43 AM

    Buzz by Sable Cantus from posterous.com

    Doubletwist using 175% CPU?:

    I wonder why DoubeTwist is hitting Safari Ad Block and if that is causing the massive CPU hit?
    Doubletwist using 175% CPU?:

    I wonder why DoubeTwist is hitting Safari Ad Block and if that is causing the massive CPU hit?
  • August 20, 12:38 PM
  • August 18, 04:28 PM

    Buzz by Sable Cantus from Mobile

    You know you are overscheduled when you need shared calendars and collaboration software to do stuff with your wife!
    You know you are overscheduled when you need shared calendars and collaboration software to do stuff with your wife!
  • August 18, 12:05 PM

    Buzz by Sable Cantus from Google Reader

    This is awesome. Imagine how many of these you could fit into a laptop, mobile phone, tablet, car stereo, or pair of sneakers.

    SanDisk 64GB postage stamp-sized iSSDs are going to make devices smaller via #FeedSquares - FeedSquares
    This is awesome. Imagine how many of these you could fit into a laptop, mobile phone, tablet, car stereo, or pair of sneakers.

    SanDisk 64GB postage stamp-sized iSSDs are going to make devices smaller via #FeedSquares - FeedSquares
  • August 15, 02:01 AM

    Buzz by Sable Cantus from Mobile

    market://details?id=com.audible.application: Audible for Android 1.0 Launched -- Now available for download in Android Market.
    market://details?id=com.audible.application: Audible for Android 1.0 Launched -- Now available for download in Android Market.
  • August 11, 05:55 PM

    Buzz by Sable Cantus from posterous.com

    "this should not be happening":

    The mozilla thunderbird guys have a sense of humour :D The syslog error says, "this should not be happening! arrgggggh!"

    "this should not be happening":

    The mozilla thunderbird guys have a sense of humour :D The syslog error says, "this should not be happening! arrgggggh!"

  • August 11, 01:00 AM

    Buzz by Sable Cantus from posterous.com

    girl quits job on dry erase board exposes farmville boss called her hopa theCHIVE:

    via thechive.com
    Whether this is real or fake Jenny has some talent. Very creative and entertaining.

    girl quits job on dry erase board exposes farmville boss called her hopa theCHIVE:

    via thechive.com
    Whether this is real or fake Jenny has some talent. Very creative and entertaining.

  • August 10, 04:19 PM

    Buzz by Sable Cantus from posterous.com

    Don’t Be Ugly By Accident! « OkTrends:

    via blog.okcupid.com
    iPhone users have more sex? I guess it would have been worth it to defect to AT&T!!!

    Don’t Be Ugly By Accident! « OkTrends:

    via blog.okcupid.com
    iPhone users have more sex? I guess it would have been worth it to defect to AT&T!!!

  • August 10, 03:02 AM

    Buzz by Sable Cantus from posterous.com

    thumbs up with the one-eyed flip cam:

    DSC_3201

    thumbs up with the one-eyed flip cam:

    DSC_3201

  • August 09, 01:06 PM

    Buzz by Sable Cantus from Google Reader

    I think I work in a 2/4 shop. Hrmmm. What about you?

    Telecommuting Culture - www.travisswicegood.com
    I think I work in a 2/4 shop. Hrmmm. What about you?

    Telecommuting Culture - www.travisswicegood.com
  • August 09, 12:32 PM

    Buzz by Sable Cantus from Google Reader

    Let me get this straight. Coca-cola said that the general public couldn't possibly be led to believe that vitaminwater was healthy? It's just sugarwater? The kids have an expression for this sort of forehead smacking nonsense: fml

    John Robbins: The Dark Side of Vitaminwater - www.huffingtonpost.com
    Let me get this straight. Coca-cola said that the general public couldn't possibly be led to believe that vitaminwater was healthy? It's just sugarwater? The kids have an expression for this sort of forehead smacking nonsense: fml

    John Robbins: The Dark Side of Vitaminwater - www.huffingtonpost.com
  • August 05, 09:32 AM
  • August 04, 02:00 PM
  • August 02, 12:29 PM

    Buzz by Sable Cantus from Google Reader

    Wow. Awesome. I would like to do this for my kids. Maybe a dedicated DSLR with a wifi card that uploads automatically to twitter???

    mental_floss Blog » He Took a Polaroid Every Day, Until the Day He Died - www.mentalfloss.com
    Wow. Awesome. I would like to do this for my kids. Maybe a dedicated DSLR with a wifi card that uploads automatically to twitter???

    mental_floss Blog » He Took a Polaroid Every Day, Until the Day He Died - www.mentalfloss.com
  • August 02, 11:52 AM
  • July 23, 04:58 PM

    Buzz by Sable Cantus from Buzz

    I just saw the "Download Chrome OS" option in the latest parallels update (5.0.9370). This feature may have occurred earlier but I just noticed it today. So I download Chrome. Log in. Install Last Pass. I'm fully up and running inside the Chrome OS VM. Wow.
    I just saw the "Download Chrome OS" option in the latest parallels update (5.0.9370). This feature may have occurred earlier but I just noticed it today. So I download Chrome. Log in. Install Last Pass. I'm fully up and running inside the Chrome OS VM. Wow.
  • July 23, 12:38 PM
  • July 23, 12:32 PM

    Buzz by Sable Cantus from Google Reader

    I'll take two of these. Unless shipping costs are out-of-hand :)

    India's $35 tablet computer - Roger Ebert's Journal - blogs.suntimes.com
    I'll take two of these. Unless shipping costs are out-of-hand :)

    India's $35 tablet computer - Roger Ebert's Journal - blogs.suntimes.com
  • July 23, 12:30 PM

    Buzz by Sable Cantus from Google Reader

    Of course they underestimated the time it was going to take to implement a large IT migration in a complex (both politically and technically) and physically disparate organization.

    duh.

    Google misses deadline in high-profile L.A. deal - MarketWatch - www.marketwatch.com
    Of course they underestimated the time it was going to take to implement a large IT migration in a complex (both politically and technically) and physically disparate organization.

    duh.

    Google misses deadline in high-profile L.A. deal - MarketWatch - www.marketwatch.com
  • July 23, 12:10 PM

    Buzz by Sable Cantus from Buzz

    Does anyone else find that there buzz feed is a little slow to scroll in Safari 5 but not in Chrome? (on Mac)
    Does anyone else find that there buzz feed is a little slow to scroll in Safari 5 but not in Chrome? (on Mac)
  • July 21, 02:24 PM
  • July 13, 09:34 PM

    Buzz by Sable Cantus from Mobile

    Busy pizza night ... wonder why
    Busy pizza night ... wonder why
  • July 13, 09:26 PM
  • July 12, 01:32 PM

    Buzz by Sable Cantus from Posted from the web

    Cool and timely
    Cool and timely
  • July 02, 01:03 PM
  • July 02, 12:47 PM

    Buzz by Sable Cantus from Buzz

    Our DSL internet connection is out at the moment.

    So I'm posting this on my MacBook Pro, tethered via wifi to my Froyo-powered Nexus One on T-Mobile.

    Next stop? I'm off to amazon.com to pre-order the new Kindle DX.

    @John Gruber is soooo going to love this one.
    Our DSL internet connection is out at the moment.

    So I'm posting this on my MacBook Pro, tethered via wifi to my Froyo-powered Nexus One on T-Mobile.

    Next stop? I'm off to amazon.com to pre-order the new Kindle DX.

    @John Gruber is soooo going to love this one.
  • July 01, 12:21 PM
  • June 29, 03:37 PM

    Buzz by Sable Cantus from Mobile

    I would worry that my house would be "violated" if I hired them...
    I would worry that my house would be "violated" if I hired them...
  • June 28, 11:19 AM

    Buzz by Sable Cantus from Buzz

    Does checking email shorten your lifespan? - Diagnosis: Email Apnea? - O'Reilly Radar http://is.gd/d7Lmx
    Does checking email shorten your lifespan? - Diagnosis: Email Apnea? - O'Reilly Radar http://is.gd/d7Lmx
  • June 26, 08:14 PM

    Buzz by Sable Cantus from Mobile

    Sitting down for dinner at the harbor house
    Sitting down for dinner at the harbor house
  • June 25, 12:46 PM
  • June 24, 09:47 AM

    Buzz by Sable Cantus from Posted via buzz@gmail

    Speedtest.net Android Result
    Speedtest.net Android Result
  • June 19, 01:58 AM

    Buzz by Sable Cantus from Mobile

    Just played a rockin 70s set
    Just played a rockin 70s set
  • June 16, 12:29 PM

    Buzz by Sable Cantus from Mobile

    No fast T-Mobile 3g+ at CSLA. It is still decent but at about 900k down according to speedtest.
    No fast T-Mobile 3g+ at CSLA. It is still decent but at about 900k down according to speedtest.
  • June 15, 03:34 PM

    Buzz by Sable Cantus from Mobile

    Grammer fail?
    Grammer fail?
  • June 15, 04:29 PM

    Buzz by Sable Cantus from Google Reader

    "Which is the fundamental paradox of mobile – so long as the mobile carriers remain a part of mobile computing, it will only work for so long as you don't go anywhere."

    The mobile revolution has arrived | Technology | guardian.co.uk - www.guardian.co.uk
    "Which is the fundamental paradox of mobile – so long as the mobile carriers remain a part of mobile computing, it will only work for so long as you don't go anywhere."

    The mobile revolution has arrived | Technology | guardian.co.uk - www.guardian.co.uk
  • June 15, 11:31 AM

    Buzz by Sable Cantus from Google Reader

    The new Mac mini is out and has a native HDMI port. Anybody interested in plugging this into their TV? I sure am.

    Mac mini - Buy Mac mini desktop computers - Apple Store (U.S.) - store.apple.com
    The new Mac mini is out and has a native HDMI port. Anybody interested in plugging this into their TV? I sure am.

    Mac mini - Buy Mac mini desktop computers - Apple Store (U.S.) - store.apple.com
  • June 14, 01:17 PM

    Buzz by Sable Cantus from Mobile

    Ever have that feeling that you are a nail in one hand,a hammer in the other, and just can't get them to work together?
    Ever have that feeling that you are a nail in one hand,a hammer in the other, and just can't get them to work together?
  • June 14, 12:19 PM

    Buzz by Sable Cantus from Buzz

    LIfehacker disappeared on me this morning.
    LIfehacker disappeared on me this morning.
  • June 14, 11:51 AM

    Buzz by Sable Cantus from Google Reader

    The picture of all the tech guys in funky robes looks like something out of Eyes Wide Shut ...

    Microsoft Kinect gets official, Video Chat announced -- Engadget - www.engadget.com
    The picture of all the tech guys in funky robes looks like something out of Eyes Wide Shut ...

    Microsoft Kinect gets official, Video Chat announced -- Engadget - www.engadget.com
  • June 11, 12:25 PM

    Buzz by Sable Cantus from Mobile

    I just discovered a nice little froyo feature. Long press on the Smiley icon on the keyboard and a menu of Smileys pops up. Long press on the period and get a menu of punctuation. That's a time saver.
    I just discovered a nice little froyo feature. Long press on the Smiley icon on the keyboard and a menu of Smileys pops up. Long press on the period and get a menu of punctuation. That's a time saver.
  • June 09, 02:28 PM
  • June 09, 02:19 PM

    Buzz by Sable Cantus from Buzz

    I couldn't see a way to add this photo to the other post so here is a picture of the Nexus One on it's kickstand at my desk. (Pic taken with a blackberry 9700).

    The pic of the stand is here: http://www.google.com/buzz/jcantus/Y2isL6aWJVR/Nexus-one-kickstand-This-sits-on-my-desk-just
    I couldn't see a way to add this photo to the other post so here is a picture of the Nexus One on it's kickstand at my desk. (Pic taken with a blackberry 9700).

    The pic of the stand is here: http://www.google.com/buzz/jcantus/Y2isL6aWJVR/Nexus-one-kickstand-This-sits-on-my-desk-just
  • June 09, 02:13 PM

    Buzz by Sable Cantus from Mobile

    Nexus one kickstand

    This sits on my desk just below my monitor. The nexus one sits landscaped perfectly angled for me to see anything on screen.
    Nexus one kickstand

    This sits on my desk just below my monitor. The nexus one sits landscaped perfectly angled for me to see anything on screen.
  • June 09, 12:28 PM

    Buzz by Sable Cantus from Buzz

    Let's come back to reality everyone. The Safari 5 reader view does not block ad's, it does not kill revenue, it does not break the web.

    It simply allows the reader (me) to pull the article out of the page I have already opened. I have already seen the advertisements. Now I don't have to worry about wonky fonts or flashing lights distracting me from the reason I visited the page - to read the article.

    One issue that we have as web-surfers is that our attention is drawn in so many directions that we miss a lot of the depth of what we are looking at. Have you ever skimmed an article and then forgotten what it was about? Have you ever started reading a story and then followed a link or a video only to forget where you were?
    Let's come back to reality everyone. The Safari 5 reader view does not block ad's, it does not kill revenue, it does not break the web.

    It simply allows the reader (me) to pull the article out of the page I have already opened. I have already seen the advertisements. Now I don't have to worry about wonky fonts or flashing lights distracting me from the reason I visited the page - to read the article.

    One issue that we have as web-surfers is that our attention is drawn in so many directions that we miss a lot of the depth of what we are looking at. Have you ever skimmed an article and then forgotten what it was about? Have you ever started reading a story and then followed a link or a video only to forget where you were?
  • June 08, 01:19 PM
  • June 08, 12:32 PM
  • June 08, 12:18 PM

    Buzz by Sable Cantus from Google Reader

    As a Nexus One user I agree. I am also impressed by the new phone and would like one. It's not that much better than my Nexus One though to make me want to drop a bunch of money or switch carriers.

    Now if FaceTime works with other Android phones for video chat I will want to get a front facing camera....

    Also, is the iPhone 4 going to be sold unlocked? With quad band can I use it on my T-Mobile 3G network?

    An Android User’s Take On Yesterday’s iPhone News - techcrunch.com
    As a Nexus One user I agree. I am also impressed by the new phone and would like one. It's not that much better than my Nexus One though to make me want to drop a bunch of money or switch carriers.

    Now if FaceTime works with other Android phones for video chat I will want to get a front facing camera....

    Also, is the iPhone 4 going to be sold unlocked? With quad band can I use it on my T-Mobile 3G network?

    An Android User’s Take On Yesterday’s iPhone News - techcrunch.com
  • June 08, 12:02 PM

    Buzz by Sable Cantus from tweetdeck.com

    Safari 5: To quickly enter Reader mode, hit CMD+SHIFT+R. It's amazing how nice this feature is when it's built in.
    Safari 5: To quickly enter Reader mode, hit CMD+SHIFT+R. It's amazing how nice this feature is when it's built in.
  • June 07, 03:30 PM

    Buzz by Sable Cantus from Posted from the web

    Apple announces new iPhone 4: the Steve Jobs keynote
    Apple announces new iPhone 4: the Steve Jobs keynote
  • June 04, 09:41 PM
  • June 03, 03:46 PM

    Buzz by Sable Cantus from Mobile

    Apple screen-gasm at my desk today.
    Apple screen-gasm at my desk today.
  • June 02, 05:04 PM

    Buzz by Sable Cantus from tweetdeck.com

    Do you really speak the same language as your boss? It may sound like a technicial, specific question, but what is the boss really asking?
    Do you really speak the same language as your boss? It may sound like a technicial, specific question, but what is the boss really asking?
  • June 02, 02:15 PM

    Buzz by Sable Cantus from tweetdeck.com

    http://tinyurl.com/kmxspc Really interesting TED talk.

    Autonomy, mastery, and purpose.

    wow
    http://tinyurl.com/kmxspc Really interesting TED talk.

    Autonomy, mastery, and purpose.

    wow
  • June 01, 02:14 PM
  • June 01, 02:07 PM

    Buzz by Sable Cantus from tweetdeck.com

    Why aren't you writing more music? Writing more charts? My excuses are usually "I'm tired, I've had a long day, or It's just not the right time". Isn't the only way to get better at writing music to write music? Like my drill sgt used to say, "want to get better at pushups? practice pushups"
    Why aren't you writing more music? Writing more charts? My excuses are usually "I'm tired, I've had a long day, or It's just not the right time". Isn't the only way to get better at writing music to write music? Like my drill sgt used to say, "want to get better at pushups? practice pushups"
  • May 28, 03:05 PM

    Buzz by Sable Cantus from Google Maps for mobile

    No lines at sb today
    No lines at sb today
  • May 28, 11:54 AM

    Buzz by Sable Cantus from Google Reader

    This makes a lot of sense. For $99 I would order it right now, sight unseen.

    Yes I'm an apple lover.

    The next Apple TV revealed: cloud storage and iPhone OS on tap... and a $99 price tag -- Engadget - www.engadget.com
    This makes a lot of sense. For $99 I would order it right now, sight unseen.

    Yes I'm an apple lover.

    The next Apple TV revealed: cloud storage and iPhone OS on tap... and a $99 price tag -- Engadget - www.engadget.com
  • May 28, 11:37 AM

    Buzz by Sable Cantus from Google Reader

    We can't really expect a profit-centered organization to have our best interests at heart.

    Facebook and the Ford Pinto - Steve (GRC) Gibson's Blog
    We can't really expect a profit-centered organization to have our best interests at heart.

    Facebook and the Ford Pinto - Steve (GRC) Gibson's Blog
  • May 27, 10:43 PM

    Buzz by Sable Cantus from Mobile

    Big meeting ... will drama ensue? Stay tuned.
    Big meeting ... will drama ensue? Stay tuned.
  • May 27, 06:35 PM

    Buzz by Sable Cantus from Mobile

    Cool looking sport trike on the freeway
    Cool looking sport trike on the freeway
  • May 27, 11:32 AM

    Buzz by Sable Cantus from tweetdeck.com

    I've already installed Gist for android. First real use coming up for a 10am meeting. http://tinyurl.com/32z7epj
    I've already installed Gist for android. First real use coming up for a 10am meeting. http://tinyurl.com/32z7epj
  • May 27, 12:36 AM

    Buzz by Sable Cantus from Mobile

    Graduation dinner
    Graduation dinner
  • May 26, 12:05 PM
  • May 25, 01:19 PM

    Buzz by Sable Cantus from tweetdeck.com

    buzz is live on tweetdeck on my desktop. Tweetdeck would not install the desktop client via Chrome though. I had to open Safari.
    buzz is live on tweetdeck on my desktop. Tweetdeck would not install the desktop client via Chrome though. I had to open Safari.
  • May 24, 03:54 PM

    Buzz by Sable Cantus from Mobile

    Google voice notifications are green on the trackball .. how cool

    So far I haven't seen any other color lighted trackball notifications ...
    Google voice notifications are green on the trackball .. how cool

    So far I haven't seen any other color lighted trackball notifications ...
  • May 24, 02:36 PM

    Buzz by Sable Cantus from Buzz

    A quick search for "Android 2.2" which was just announced a few days ago is showing 17,600,000 results - wow
    A quick search for "Android 2.2" which was just announced a few days ago is showing 17,600,000 results - wow
  • May 23, 01:42 AM

    Buzz by Sable Cantus from Mobile

    Battlestar galactica game going on right now
    Battlestar galactica game going on right now
  • May 24, 12:14 PM
  • May 24, 04:02 AM

    Buzz by Sable Cantus from Mobile

    Froyo is up and running. Having gmail and exchange Cal's side by side I'd sweet.

    The keyboard is more responsive too.
    Froyo is up and running. Having gmail and exchange Cal's side by side I'd sweet.

    The keyboard is more responsive too.
  • May 21, 09:14 PM
  • May 21, 01:15 PM

    Buzz by Sable Cantus from Buzz

    I love that google talk replies go to my N1, ichat, and open browsers simultaneously ...
    I love that google talk replies go to my N1, ichat, and open browsers simultaneously ...
  • May 21, 01:02 PM
  • May 21, 12:39 PM

    Buzz by Sable Cantus from Buzz

    "If you believe in choice, if you believe in innovation from everyone, welcome to Android."

    http://www.youtube.com/user/GoogleDevelopers
    "If you believe in choice, if you believe in innovation from everyone, welcome to Android."

    http://www.youtube.com/user/GoogleDevelopers
  • May 20, 04:12 PM

    Buzz by Sable Cantus from Google Reader

    I've been dreaming of a way to add an SSD as a second drive in my laptop - lo and behold, here it is!

    MCE OptiBay Hard Drive for MacBook Pro, MacBook, PowerBook G4, and Mac mini - www.mcetech.com
    I've been dreaming of a way to add an SSD as a second drive in my laptop - lo and behold, here it is!

    MCE OptiBay Hard Drive for MacBook Pro, MacBook, PowerBook G4, and Mac mini - www.mcetech.com
  • May 19, 01:44 PM

    Buzz by Sable Cantus from Buzz

    Didn't the google I/O presenters plan for the network to be saturated? They should setup a private presenters wifi network next year.
    Didn't the google I/O presenters plan for the network to be saturated? They should setup a private presenters wifi network next year.
  • May 17, 02:41 PM

    Buzz by Sable Cantus from Google Reader

    These guys loaded a BASIC program into an Apple //e using the audio output to "dial in" via the modem and then ran a dude's ASCII music video ...

    I'm so impressed.

    Panic Blog » An Apple //e, an iPad, and Jed - www.panic.com
    These guys loaded a BASIC program into an Apple //e using the audio output to "dial in" via the modem and then ran a dude's ASCII music video ...

    I'm so impressed.

    Panic Blog » An Apple //e, an iPad, and Jed - www.panic.com
  • May 12, 09:39 AM

    Buzz by Sable Cantus from Mobile

    I used an ipad last night to control keynote while lecturing. The ipad was on a music stand with some notes. It was very smooth.
    I used an ipad last night to control keynote while lecturing. The ipad was on a music stand with some notes. It was very smooth.
  • May 11, 11:46 AM

    Buzz by Sable Cantus from Google Reader

    What would a high-fidelity audio track bring to the listener if they are hearing it over low-fi earbuds or in the car with the sound of the road in the background?

    A Musical Revolution, With a Cost in Fidelity - NYTimes.com - www.nytimes.com
    What would a high-fidelity audio track bring to the listener if they are hearing it over low-fi earbuds or in the car with the sound of the road in the background?

    A Musical Revolution, With a Cost in Fidelity - NYTimes.com - www.nytimes.com
  • May 11, 12:59 AM

    Buzz by Sable Cantus from Buzz

    Show off your buzz feed on your flavors.me homepage by putting this http://buzz.googleapis.com/feeds/{user}/public/posted in the RSS services option. Put your gmail username where it says {user}. Check mine out cantus.us
    Show off your buzz feed on your flavors.me homepage by putting this http://buzz.googleapis.com/feeds/{user}/public/posted in the RSS services option. Put your gmail username where it says {user}. Check mine out cantus.us
  • May 10, 02:02 PM

    Buzz by Sable Cantus from Posted from the web

    I'm a dork and used to use an older version of visor way back on 10.3. Then I forgot about it. Then I saw my colleague on Ubuntu with his "window shade" terminal and I was jealous. Now I have it again.

    What a terrible narrative! If you use terminal all day just use this.
    I'm a dork and used to use an older version of visor way back on 10.3. Then I forgot about it. Then I saw my colleague on Ubuntu with his "window shade" terminal and I was jealous. Now I have it again.

    What a terrible narrative! If you use terminal all day just use this.
  • May 01, 04:10 PM
  • May 01, 04:09 PM

    Buzz by Sable C from Mobile

    Who will be at the OC marathon expo today?
    Who will be at the OC marathon expo today?
  • April 19, 01:37 PM

    Buzz by Sable C from Buzz

    If you are using Spaces on 10.6 and Synergy then the keyboard doesn't seem to sync with synergy on a Windows XP client unless you are on Space #1 ... wierd

    The mouse will work fine from any space though ...
    If you are using Spaces on 10.6 and Synergy then the keyboard doesn't seem to sync with synergy on a Windows XP client unless you are on Space #1 ... wierd

    The mouse will work fine from any space though ...
  • April 13, 07:44 PM
  • April 13, 07:43 PM
  • April 13, 11:33 AM

    Buzz by Sable C from Buzz

    Apps Emulate Life

    It's been three years now in the App Economy. Sure we've always had applications on our computers. Programs that we could type in from magazines, trade on disks, or download from numerous websites. In fact, from the time I first started on computers in 1985 I had been moving steadily away from the "App Economy".

    See, the App Economy already exists in your home, in your school, and in your library. I still go to the Barnes & Noble to buy an App. In this case, a book, much like an icon on my shelf, that does one thing. I have hundreds of them. Real life icons that do one thing each.

    I find it fascinating that I'm able to download app's that are books instead of readers that provide books in a single interface.

    But isn't this the argument against compilations?
    Apps Emulate Life

    It's been three years now in the App Economy. Sure we've always had applications on our computers. Programs that we could type in from magazines, trade on disks, or download from numerous websites. In fact, from the time I first started on computers in 1985 I had been moving steadily away from the "App Economy".

    See, the App Economy already exists in your home, in your school, and in your library. I still go to the Barnes & Noble to buy an App. In this case, a book, much like an icon on my shelf, that does one thing. I have hundreds of them. Real life icons that do one thing each.

    I find it fascinating that I'm able to download app's that are books instead of readers that provide books in a single interface.

    But isn't this the argument against compilations?
  • April 12, 12:29 PM

    Buzz by Sable C from Google Reader

    I love when he says "let me call a meeting, cause that's what I do, call meetings all day"

    The Case for Ignoring People at Work - Distractions - Lifehacker - lifehacker.com
    I love when he says "let me call a meeting, cause that's what I do, call meetings all day"

    The Case for Ignoring People at Work - Distractions - Lifehacker - lifehacker.com
  • April 08, 11:21 PM

    Buzz by Sable C from Mobile

    I just picked my nexus one car dock.. i must have done something wrong though as my friend said he could barely hear me.
    I just picked my nexus one car dock.. i must have done something wrong though as my friend said he could barely hear me.
  • April 08, 11:59 AM

    Buzz by Sable C from Google Reader

    Visa knows when you are going to get divorced - so they can dump your credit and hike your rates!

    How Visa Predicts Divorce - The Daily Beast - www.thedailybeast.com
    Visa knows when you are going to get divorced - so they can dump your credit and hike your rates!

    How Visa Predicts Divorce - The Daily Beast - www.thedailybeast.com

Posts