Archive for the 'Stories' Category

BBEdit Applescripts to the rescue

I’ve always wanted the ability to toggle the "soft wrap" and "show invisibles" features of BBEdit with keyboard shortcuts. I could never understand why this feature wasn’t added to the product after fourteen significant releases. BBEdit does provide the ability to ad keyboard shortcuts to any script, filter or menu item, but the things I need kb shortcuts for aren’t standard menu items, they’re editor window menu items.

Continue reading ‘BBEdit Applescripts to the rescue’

iTunes 4 Smart Playlist Solution (kind of)

iTunes 4 Smart Playlist Solution (kind of) - Updated: 4/13/04; 9:50:36 PM.

In iTunes 4, Apple has made the change I mentioned in a previous [story][1]. As you can see in the screenshot below, there is now a checkbox in the Smart Playlist Dialog for matching only checked songs. Continue reading ‘iTunes 4 Smart Playlist Solution (kind of)’

The Insane Person’s iPod Travel Kit

I’ve gone "over-the-top" once again. Since I’m packing my bags, getting ready for the NAMM show, I’ve decided to put together The Insane Person’s iPod Travel Kit. Your mileage will vary, but hopefully you’ll have what you need, when you need it to completely enjoy your iPod in whatever situation is presented to you. The real trick — how will I fit all of this into my carry-on bag?

Continue reading ‘The Insane Person’s iPod Travel Kit’

iPod v1.2 - iTunes 3 problem

iPod v1.2 - iTunes 3 problem Updated: 4/13/04; 9:50:32 PM.

Most of the information here (specifically the “Problem”) is out of date, see the followup [story][1] on how iTunes 4 solves the checked song issue.

After playing around with the iPod 1.2 update, I decided to change my mp3 ‘workflow’ from manual to synchronized. This would allow me to use a cool new feature called smart playlists. I just needed to figure out how select which songs to sync from my huge mp3 library to the 10GB iPod. Continue reading ‘iPod v1.2 - iTunes 3 problem’

Personal “unix stuff” repository

Unix Stuff Updated: 4/13/04; 9:50:54 PM.

Here’s my repository of unix commands, tips, tricks and hints I’ve picked up over the last few years. I expect it will be perpetualy unfinished and somewhat incoherent.

Continue reading ‘Personal “unix stuff” repository’

My Books page.

My Books - Updated: 4/13/04; 9:50:30 PM.

Current

Email Encoding rant

Email Encoding - Updated: 5/12/03; 12:23:56 AM.

This was supposed to be an email response to an article I read on a website years back that had good intentions, but bad information. I never ended up sending the email, I couldn’t get the tone friendly enough.

For the sake of completeness I’m including a link to Rich Siegel’s (Bare Bones Software) [Apple Double][1] explanation page. He explains everything much better than I can.

Continue reading ‘Email Encoding rant’




bbedit editing window with menu pulled down While working with the projects in Eric Meyer on CSS I couldn't take it anymore. I needed these keyboard shortcuts. So I scoured the manual, Googled and Googled and figured the only way to get what I need was with Applescripts. I've tried this before unsuccessfully, but I was not going to be stopped this time. My new Applescripts were not working as I wanted so Googled again and landed on this AppleScripts for BBEdit page. The two scripts I needed were on this page, but they were written for BBEdit 6 in Mac OS 8.5, would they work with version 7, on OS X? Yes, Editing the scripts slightly was all that was needed to allow them run in BBEdit 7 on OS X. Now all I needed to do was pick a few keyboard shortcuts and assign them to these scripts. I selected command-option-i for "show invisibles" (I was already using this shortcut in Adobe Illustrator) and command- for "soft wrap" (seemed logical enough since command-option- is built into BBEdit as Hard Wrap). bbedit scripts palette with new scripts and keyboard shortcuts added It turns out that I needed one more script. BBEdit considers spaces a separate case of invisible. So I needed to toggle "show spaces" as well. A quick trip to script editor was all that was needed. I assigned command-option-control-i to this script and I was in business. Matthias Steffens, the author of the original scripts does not indicate if derivative work can be distributed, I'm guessing that he won't mind (since I've attributed the original work to him), so I've made the three new scripts available for download here. [post_title] => BBEdit Applescripts to the rescue [post_category] => 0 [post_excerpt] => I've always wanted the ability to toggle the "soft wrap" and "show invisibles" features of BBEdit with keyboard shortcuts. [post_lat] => 40.5897 [post_lon] => -73.7411 [post_status] => publish [comment_status] => open [ping_status] => closed [post_password] => [post_name] => bbedit-applescripts-to-the-rescue [to_ping] => [pinged] => [post_modified] => 2004-09-25 11:35:56 [post_modified_gmt] => 2004-09-25 16:35:56 [post_content_filtered] => [post_parent] => 0 [guid] => http://jumpserve.com/blanco/archives/2003/09/14/bbedit-applescripts-to-the-rescue/ [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [ancestors] => Array ( ) ) [comments] => [comment_count] => 0 [current_comment] => -1 [comment] => [found_posts] => 10 [max_num_pages] => 2 [max_num_comment_pages] => 0 [is_single] => [is_preview] => [is_page] => [is_archive] => 1 [is_date] => [is_year] => [is_month] => [is_day] => [is_time] => [is_author] => [is_category] => 1 [is_tag] => [is_tax] => [is_search] => [is_feed] => [is_comment_feed] => [is_trackback] => [is_home] => [is_404] => [is_comments_popup] => [is_admin] => [is_attachment] => [is_singular] => [is_robots] => [is_posts_page] => [is_paged] => [query] => Array ( [category_name] => stories ) [posts] => Array ( [0] => stdClass Object ( [ID] => 578 [post_author] => 2 [post_date] => 2003-09-14 19:06:53 [post_date_gmt] => 2003-09-15 00:06:53 [post_content] => I've always wanted the ability to toggle the "soft wrap" and "show invisibles" features of BBEdit with keyboard shortcuts. I could never understand why this feature wasn't added to the product after fourteen significant releases. BBEdit does provide the ability to ad keyboard shortcuts to any script, filter or menu item, but the things I need kb shortcuts for aren't standard menu items, they're editor window menu items. bbedit editing window with menu pulled down While working with the projects in Eric Meyer on CSS I couldn't take it anymore. I needed these keyboard shortcuts. So I scoured the manual, Googled and Googled and figured the only way to get what I need was with Applescripts. I've tried this before unsuccessfully, but I was not going to be stopped this time. My new Applescripts were not working as I wanted so Googled again and landed on this AppleScripts for BBEdit page. The two scripts I needed were on this page, but they were written for BBEdit 6 in Mac OS 8.5, would they work with version 7, on OS X? Yes, Editing the scripts slightly was all that was needed to allow them run in BBEdit 7 on OS X. Now all I needed to do was pick a few keyboard shortcuts and assign them to these scripts. I selected command-option-i for "show invisibles" (I was already using this shortcut in Adobe Illustrator) and command- for "soft wrap" (seemed logical enough since command-option- is built into BBEdit as Hard Wrap). bbedit scripts palette with new scripts and keyboard shortcuts added It turns out that I needed one more script. BBEdit considers spaces a separate case of invisible. So I needed to toggle "show spaces" as well. A quick trip to script editor was all that was needed. I assigned command-option-control-i to this script and I was in business. Matthias Steffens, the author of the original scripts does not indicate if derivative work can be distributed, I'm guessing that he won't mind (since I've attributed the original work to him), so I've made the three new scripts available for download here. [post_title] => BBEdit Applescripts to the rescue [post_category] => 0 [post_excerpt] => I've always wanted the ability to toggle the "soft wrap" and "show invisibles" features of BBEdit with keyboard shortcuts. [post_lat] => 40.5897 [post_lon] => -73.7411 [post_status] => publish [comment_status] => open [ping_status] => closed [post_password] => [post_name] => bbedit-applescripts-to-the-rescue [to_ping] => [pinged] => [post_modified] => 2004-09-25 11:35:56 [post_modified_gmt] => 2004-09-25 16:35:56 [post_content_filtered] => [post_parent] => 0 [guid] => http://jumpserve.com/blanco/archives/2003/09/14/bbedit-applescripts-to-the-rescue/ [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [ancestors] => Array ( ) ) [1] => stdClass Object ( [ID] => 601 [post_author] => 2 [post_date] => 2003-04-29 15:29:49 [post_date_gmt] => 2003-04-29 20:29:49 [post_content] => iTunes 4 Smart Playlist Solution (kind of) - Updated: 4/13/04; 9:50:36 PM. In iTunes 4, Apple has made the change I mentioned in a previous [story][1]. As you can see in the screenshot below, there is now a checkbox in the Smart Playlist Dialog for matching only checked songs. ![smart playlist][2] This is great, now I'm feeling the power of Smart Playlists. I have 12 different Smart Playlists running on my desktop and my iPod right now. What could be better? Well, how about if when you choose "selected by random" you had the ability to re-randomize the Smart Playlist? The Smart Playlist above shows that I'd like to include 25 songs selected at random with year ID3 Tag in the range of 1980 to 1989. And it does that. I've also checked "Live Updating" so if I add or remove tracks from my iTunes Library, the Smart playlist will adjust itself accordingly. It does that too. But, if I don't add or remove tracks from the iTunes Library, those 25 "randomly" selected songs are not going to change at all, and I'm probably going to get tired of them real quick. Apple could add a checkbox or pulldown menu field like "Regenerate Smart Playlist every XXX House/Days/Weeks/Months etc." or had a button or menu item in advanced to click that could selectively Regenerate Smart Playlists. [1]: http://jumpserve.com/blanco/archives/2002/08/21/ipod-v12-itunes-3-problem/ [2]: http://jumpserve.com/blanco/images/itunes4_smart_playlist.jpg [post_title] => iTunes 4 Smart Playlist Solution (kind of) [post_category] => 0 [post_excerpt] => [post_lat] => 40.5897 [post_lon] => -73.7411 [post_status] => publish [comment_status] => open [ping_status] => open [post_password] => [post_name] => itunes-4-smart-playlist-solution-kind-of [to_ping] => [pinged] => [post_modified] => 2004-09-28 18:44:23 [post_modified_gmt] => 2004-09-28 23:44:23 [post_content_filtered] => [post_parent] => 0 [guid] => http://jumpserve.com/blanco/archives/2003/04/29/itunes-4-smart-playlist-solution-kind-of/ [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [ancestors] => Array ( ) ) [2] => stdClass Object ( [ID] => 507 [post_author] => 2 [post_date] => 2003-01-12 17:35:27 [post_date_gmt] => 2003-01-12 22:35:27 [post_content] =>

I've gone "over-the-top" once again. Since I'm packing my bags, getting ready for the NAMM show, I've decided to put together The Insane Person's iPod Travel Kit. Your mileage will vary, but hopefully you'll have what you need, when you need it to completely enjoy your iPod in whatever situation is presented to you. The real trick — how will I fit all of this into my carry-on bag?

I've put together a list of things I like to travel with in order to fully enjoy my iPod experience while on-the-road. First, the "Basics".

iPod Travel Kit

  1. Neoprene Case - to protect the iPod and allow me to get it.
  2. A 10GB iPod, feel free to use the 5GB or 20GB version, as long as you have one you are on your way to becoming an insane iPod enthusiast.
  3. Compact Cassette Adapter - this device allows a 1/8" stereo output to be fed into a cassette player that you might find in a car.
  4. Cigatette Lighter iPod power supply/charger
  5. Apple's Wired remote control
  6. Apple's EarBuds
  7. 1/8" stereo to RCA cable - this allows you to feed the iPod's output into a traditional stereo system
  8. 1/8" stereo to 1/8" stereo cable - many car stereos have a 1/8" stereo jack on the faceplate. This cable allows direct connection from the 'Pod to the car stereo.
  9. iRock FM transmitter - if all else fails you can probably use this to listen to your iPod though the FM receiver in a rent-a-car, providing the four frequencies it broadcasts on are unused in the area that you're traveling in.
  10. iPod AC power supply - you'll need this to charge your 'Pod from an AC outlet.
  11. Belt Clip - this works in conjunction with the neoprene case (number 1) above.
  12. Firewire Cable - 'nuff said.
  13. Velcro - I use this to mount the iRock transmitter in a convenient (close to the radio) place in a car.
  14. Extra EarBud foamcovers - just-in-case to protect my inner ears and the dreaded "Bud Fallout".

I've got a pouch that was designed to carry headphones that I stuff all of this crap into before I drop it into my carry-on bag.

Some other items I've left out that you might want to take with you are listed below.

  1. A Macintosh Computer to manage playlists and add and remove songs from the iPod
  2. An extra set of headphones or EarBuds. Perhaps a set of Noise canceling phones if you're going to spend a bit on time in flight.
[post_title] => The Insane Person's iPod Travel Kit [post_category] => 0 [post_excerpt] => [post_lat] => 40.5897 [post_lon] => -73.7411 [post_status] => publish [comment_status] => open [ping_status] => closed [post_password] => [post_name] => the-insane-persons-ipod-travel-kit [to_ping] => [pinged] => [post_modified] => 2004-09-25 13:51:48 [post_modified_gmt] => 2004-09-25 18:51:48 [post_content_filtered] => [post_parent] => 0 [guid] => http://jumpserve.com/blanco/archives/2003/01/12/the-insane-persons-ipod-travel-kit/ [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [ancestors] => Array ( ) ) [3] => stdClass Object ( [ID] => 600 [post_author] => 2 [post_date] => 2002-08-21 18:23:54 [post_date_gmt] => 2002-08-21 23:23:54 [post_content] => iPod v1.2 - iTunes 3 problem Updated: 4/13/04; 9:50:32 PM. **Most of the information here (specifically the "Problem") is out of date, see the followup [story][1] on how iTunes 4 solves the checked song issue.** After playing around with the iPod 1.2 update, I decided to change my mp3 'workflow' from _manual_ to _synchronized_. This would allow me to use a cool new feature called smart playlists. I just needed to figure out how select which songs to sync from my huge mp3 library to the 10GB iPod. Let me say that the documentation on selective sync-ing is 'hard-to-find', as I figured, you just need to check which songs you want to sync to your pod in the iTunes library. ![Check the songs in the Library that you want to sync with iPod][2] No problem, I can handle that. The only problem was, it didn't work, I was missing something and I didn't know what. Finally, I stumbled across the preference that was hiding in plain sight. The one that not only instructs iTunes to go into 'sync' mode with the iPod, but there's also an option to have iTunes observe the check marks and not to send the 'unchecked' songs to the iPod. Thus allowing you to have a 20GB iTunes library live happily with a 10GB iPod. ![iPod Only Play Check Songs][3] So I've got my selective sync going, everything is fine right? Wrong, I set up a few Smart Playlists and then noticed something strange... ![smart playlist][4] Even though a song was 'unchecked' in the iTunes Library, it was marked as 'checked' in the smart playlist and consequently getting sync'd - weather I wanted it to or not (see below). ![In Smart Playlists All songs are checked by default][5] **The problem is iTunes will put unchecked songs from your Library into a Smart Playlist thus defeating the purpose of using "Only Update Checked Songs" in the screen above.** Apple needs to add a checkbox field to the Smart Playlist Dialog that says "Only Update Checked Songs" or allow "Song is Checked in Library" to be one of the match conditions. [1]: http://jumpserve.com/blanco/archives/2003/04/29/itunes-4-smart-playlist-solution-kind-of/ [2]: http://jumpserve.com/blanco/images/library_checked.jpg [3]: http://jumpserve.com/blanco/images/ipod_only_checked.jpg [4]: http://jumpserve.com/blanco/images/smart_playlist.jpg [5]: http://jumpserve.com/blanco/images/smart_all_checked.jpg [post_title] => iPod v1.2 - iTunes 3 problem [post_category] => 0 [post_excerpt] => [post_lat] => 40.5897 [post_lon] => -73.7411 [post_status] => publish [comment_status] => open [ping_status] => open [post_password] => [post_name] => ipod-v12-itunes-3-problem [to_ping] => [pinged] => [post_modified] => 2004-09-28 18:43:49 [post_modified_gmt] => 2004-09-28 23:43:49 [post_content_filtered] => [post_parent] => 0 [guid] => http://jumpserve.com/blanco/archives/2002/08/21/ipod-v12-itunes-3-problem/ [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [ancestors] => Array ( ) ) [4] => stdClass Object ( [ID] => 251 [post_author] => 2 [post_date] => 2002-03-09 23:32:53 [post_date_gmt] => 2002-03-10 04:32:53 [post_content] => Unix Stuff Updated: 4/13/04; 9:50:54 PM. Here's my repository of unix commands, tips, tricks and hints I've picked up over the last few years. I expect it will be perpetualy unfinished and somewhat incoherent. Restarting Apache on a Raq2 su to root /etc/rc.d/init.d/httpd.init restart Directories cd ~ < -- change to current users home dir (OR) cd < -- change to current users home dir cd / <-- change to root (top level) dir cd .. <-- move "up" one directory pwd <-- list the path to the current directory mkdir [new directoy name] creates a new directory/folder Perl perldoc perllocal <-- get version of perl Processes ps <-- list running processes ps aux <-- large list of running processes top <-- list runnning processes in real time + other info - q to exit working with apache Conf file is located at: /etc/httpd/httpd.conf Starting stoping & testing (while as root or sudo'd) apachectl configtest apachectl start apachectl stop apachectl graceful (this restarts apache) MySQL instering a file into MySQL mysql -u root databasename < filename.ext Networking nslookup <-- to get an IP address and your dns's ip address ex: nslookup www.jumpserve.com Server: ns4.srv.hcvlny.cv.net Address: 167.206.112.4 Name: www.jumpserve.com Address: 64.39.13.73 Unix commands gzip [filename] - uses zip compression of a file the original is deleted leaving only the zipped file Users su -- then type in a pw to go log in as root last -- to see the an access log into the machine mini Reference cat Reading and printing multiple files cd Changing directories, moving around chmod Changing permissions on a file or directory chown Changing ownership of files and directories cp Copying files date Displaying and setting dates diff Differences between files exit Stopping a process and coming back home find Searching for files that meet specified conditions finger Gathering information about users grep Searching for lines that match regular expressions head Printing the beginning of a file kill Terminating processes less Displaying files lprm Removing printer queue requests ls Listing files man Using the online manual mkdir Making directories more Displaying files mv Moving and renaming files passwd Creating or changing passwords ps Active processes pwd Printing the pathname rlogin Logging into remote systems rm Removing files and directories rmdir Removing directories su Logging in as another user tail Printing the end of a file telnet Communicating with other hosts who Displaying information about a system more commands su Switch to a different user in order to have their access priveleges without telneting in again. When no username is provided, su will switch you to root (superuser). You will be prompted for the user's password unless you have superuser priveleges. Usually the - option should be used since it loads all the configuration files for the user. Examples: su su - su bob su - bob ls List contents of the directory. pwd Print Working Directory. Display the name of the directory that you are currently in. cd Change Directory. mv Move a file or directory rm Remove file. rmdir Remove directory. chown Change the owner of a file or directory. chmod Change Mode. Change the access restrictions for a file or directory. du Display the disk usage for a directory and its subdirectories. df Display the free disk space information. ping Ping an IP address or domain name to see if that server is active. host Look up a DNS entry for an IP address or domain name. date Display date and time. telent to webserver (to see headers and such) bash-2.01$ telnet www.hotmail.com 80 Trying... Connected to www.hotmail.com. Escape character is '^]'. GET / HTTP/1.0 HTTP/1.1 200 OK Date: Fri, 08 Jan 1999 01:07:20 GMT Server: Apache/1.2.1 ASCII Character list man 7 ascii Getting a file w/o ftp curl -O http://www.domain.com/directory/file.ext (that's a capital letter o) downloads a file named the same as the one you've typed. X windows startx Shell How to tell your shell grep _username_ | /etc/passwd Prompts: $ - bash , % -csh find out which binary (a binary file's location) which _name of binary_ Setting (owner) permissions chown user:group (file or directory) (-R means recusivley - descend through the directories) chown -R blanco:staff /Users/blanco [post_title] => Personal "unix stuff" repository [post_category] => 0 [post_excerpt] => [post_lat] => 40.5897 [post_lon] => -73.7411 [post_status] => publish [comment_status] => open [ping_status] => closed [post_password] => [post_name] => unix-stuff-repository [to_ping] => [pinged] => [post_modified] => 2004-09-25 13:49:23 [post_modified_gmt] => 2004-09-25 18:49:23 [post_content_filtered] => [post_parent] => 0 [guid] => http://jumpserve.com/blanco/archives/2002/03/09/unix-stuff-repository/ [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [ancestors] => Array ( ) ) [5] => stdClass Object ( [ID] => 210 [post_author] => 2 [post_date] => 2002-02-17 16:27:11 [post_date_gmt] => 2002-02-17 21:27:11 [post_content] => My Books - Updated: 4/13/04; 9:50:30 PM. Current * [Designing With Web Standards][1] - Jeff Zeldman On and Off / Reference * [John Lautner, Architect][2] - Escher * [PHP and MySQL Web Development][3] - Luke Welling, Laura Thomson * [Screen][4] - Jessica Helfand Recently Finished * [Snow Crash][5] [[Bantam][6]] - Neal Stephenson * [The Diamond Age][7] - Neal Stephenson * [All Tomorrow's Parties][8] - Willam Gibson * [Taking Your Talent to the Web][9] - Jeff Zeldman * [Next: the Future Just Happened][10] - Michael Lewis * [Cryptonomicon][11] - Neal Stephenson * [The New New Thing : A Silicon Valley Story][12] - Michael Lewis * [The Tipping Point][13] - Malcom Gladwell * [Uncommon Grounds - The History of Coffee and How it Transformed Our World][14] - Mark Pendergrast [1]: http://www.zeldman.com/dwws/ [2]: http://www.compbio.caltech.edu/~sjs/lautnerb.htm [3]: http://www.tangledweb.com.au/ [4]: http://www.jhwd.com/screen/main.html [5]: http://www.wired.com/wired/archive//1.03/streetcred.html?pg=25&person=neal_stephenson&topic_set=wiredpeople [6]: http://www.randomhouse.com/bantamdell/catalog/display.pperl?isbn=0553380958 [7]: http://www.complete-review.com/reviews/stephenn/diamond.htm [8]: http://www.salon.com/books/review/1999/10/29/gibson/ [9]: http://www.zeldman.com/talent/ [10]: http://www.wwnorton.com/catalog/spring01/002037.htm [11]: http://www.cryptonomicon.com/ [12]: http://www.wwnorton.com/catalog/fall99/newnewthing.htm [13]: http://www.gladwell.com/books2.html [14]: http://www.nytimes.com/books/99/09/05/reviews/990905.05fusselt.html [post_title] => My Books page. [post_category] => 0 [post_excerpt] => [post_lat] => 40.5897 [post_lon] => -73.7411 [post_status] => publish [comment_status] => open [ping_status] => closed [post_password] => [post_name] => my-books-page [to_ping] => [pinged] => [post_modified] => 2004-09-25 14:22:06 [post_modified_gmt] => 2004-09-25 19:22:06 [post_content_filtered] => [post_parent] => 0 [guid] => http://jumpserve.com/blanco/archives/2002/02/17/my-books-page/ [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [ancestors] => Array ( ) ) [6] => stdClass Object ( [ID] => 195 [post_author] => 2 [post_date] => 2002-02-08 23:49:56 [post_date_gmt] => 2002-02-09 04:49:56 [post_content] => Email Encoding - Updated: 5/12/03; 12:23:56 AM. _This was supposed to be an email response to an article I read on a website years back that had good intentions, but bad information. I never ended up sending the email, I couldn't get the tone friendly enough._ _For the sake of completeness I'm including a link to Rich Siegel's (Bare Bones Software) [Apple Double][1] explanation page. He explains everything much better than I can._ First off, after seeing your articles for the first time, I must say that I feel they provide valuable information to the Macintosh neophyte and beyond. I'm going to recommend that several people start reading them on a regular basis. (Perhaps that will help to eliminate a few SOS calls from my friends each month.) I must however correct something that appeared in your December 16th, 1998 article "Making Stuffit A Little Less Stuffy". At one point you say "There are now 3 or 4 main types of compression, including bin-hqx, Stuffit, and self-extracting archives." While the intent was good and the end result (using stuffit-expander on compressed or encoded files) will be OK. I'd like to point something out. Binhex files are NOT compressed, they are actually BIGGER than the binary files they represent. Binhex is not a compression file format, binhex is one of several internet encoding formats which also includes uucode and base-64 (also known as MIME). What's the difference you say? A compression file format is supposed to make the file smaller, one of the main reasons for this is a faster download. An encoding file format can make the file bigger or smaller, however the most common formats of encoding (mentioned above) for the internet make the files larger. Why would you want to make files LARGER on the internet? I'll try to keep this short. The internet is based on unix mainframe standards. Back when the internet began there weren't a lot of fancy file types, everything was in text or [ASCII][2] file format. These ASCII text files were 7-bit data files. Sending an email was of course text. Databases were text. Programs just stored things in ASCII text. Unix machines were built to send these ASCII files to other unix machines and everything was fine. Enter the late 80s and 90s PCs and Macs are starting to go on the internet and the machines are exchanging a new type of file. This new file is binary 8-bit data, not that "old school" ASCII 7-bit text stuff used on those unix machines. So now we have all the players and their habits - unix machines which like to exchange 7-bit ASCII text data and Desktop Machines (PCs and Macs) which like to exchange 8-bit binary data using the already existing 7-bit pathways unix machines were providing. Basically we had the problem of fitting a square 8-bit peg in a round 7-bit hole. The solution - encode the binary data as 7-bit ASCII text and use the same unix pathways that already exist, when the ASCII data gets to the other side decode it to back to binary data. Everyone's happy - except the encoded data file is larger than the binary file it represents. A rough formula to get the encoded size of a file is to divide the file size before being encoded by seven - then multiply it by 8, this should get you in the ball park. Encoding can add as much as 35% to the file size depending on the data in the file itself and the type of encoding (binhex, uucode or base-64) used. Then it's time to use email with file attachments - here's where it can get complicated. As a rule unix machines uucode files, PCs encode/decode base-64 (also know as MIME) and Macs encode/decode binhex. Today's email clients can handle pretty much anything thrown at them encoding wise. Some older email programs don't do as well so when you send your brother-in-law the snappy new digital photo of his newborn niece, your Mac's email application binhex's the JPEG and when he tries to receive the file with his AOL email client all he gets is garbled text. AOL by default uses base-64 for file encoding/decoding it doesn't understand binhex. So you'll need to manually pick base-64 as the encoding method of the email. [1]: http://www.macemail.com/oe/pages/tips_tricks/appledouble.shtml [2]: http://hotwired.lycos.com/webmonkey/guides/glossary/ascii.html [post_title] => Email Encoding rant [post_category] => 0 [post_excerpt] => [post_lat] => 40.5897 [post_lon] => -73.7411 [post_status] => publish [comment_status] => open [ping_status] => closed [post_password] => [post_name] => email-encoding-rant [to_ping] => [pinged] => [post_modified] => 2004-09-25 13:48:19 [post_modified_gmt] => 2004-09-25 18:48:19 [post_content_filtered] => [post_parent] => 0 [guid] => http://jumpserve.com/blanco/archives/2002/02/08/email-encoding-rant/ [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [ancestors] => Array ( ) ) ) [queried_object] => stdClass Object ( [term_id] => 23 [name] => Stories [slug] => stories [term_group] => 0 [term_taxonomy_id] => 23 [taxonomy] => category [description] => [parent] => 0 [count] => 10 [cat_ID] => 23 [category_count] => 10 [category_description] => [cat_name] => Stories [category_nicename] => stories [category_parent] => 0 ) [queried_object_id] => 23 )

SERVER

Array
(
    [REDIRECT_STATUS] => 200
    [HTTP_HOST] => jumpserve.com
    [HTTP_USER_AGENT] => CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
    [HTTP_ACCEPT] => Accept: application/xhtml+xml,text/html;q=0.9,text/plain;
    [HTTP_ACCEPT_LANGUAGE] => en-us,en;q=0.5
    [HTTP_ACCEPT_ENCODING] => gzip
    [HTTP_ACCEPT_CHARSET] => ISO-8859-1,utf-8;q=0.7,*;q=0.7
    [HTTP_CONNECTION] => close
    [HTTP_CACHE_CONTROL] => no-cache
    [HTTP_PRAGMA] => no-cache
    [PATH] => /bin:/usr/bin:/sbin:/usr/sbin
    [SERVER_SIGNATURE] => 
    [SERVER_SOFTWARE] => Apache
    [SERVER_NAME] => jumpserve.com
    [SERVER_ADDR] => 207.7.108.21
    [SERVER_PORT] => 80
    [REMOTE_ADDR] => 38.103.63.61
    [DOCUMENT_ROOT] => /users/home/blanco/domains/jumpserve.com/public_html
    [SERVER_ADMIN] => web@one.textdrive.com
    [SCRIPT_FILENAME] => /users/home/blanco/domains/jumpserve.com/public_html/blanco/index.php
    [REMOTE_PORT] => 60695
    [REDIRECT_URL] => /blanco/archives/category/stories/
    [GATEWAY_INTERFACE] => CGI/1.1
    [SERVER_PROTOCOL] => HTTP/1.1
    [REQUEST_METHOD] => GET
    [QUERY_STRING] => 
    [REQUEST_URI] => /blanco/archives/category/stories/
    [SCRIPT_NAME] => /blanco/index.php
    [PHP_SELF] => /blanco/index.php
    [REQUEST_TIME] => 1231453622
)

REQUEST

Array
(
)
-->