Monday, September 28, 2009

Wide-screen Monitor Aspect Ratios – We're Getting Cheated

You may not realize, but you are getting cheated on monitors and laptops, lately. Because we continue to measure screen sizes by their diagonal, we are comparing apples and oranges when we think about the size of an old, squarish monitor with a current wide-screen monitor.
“Aspect ratio” is the ratio of width to height w:h.

It was not that long ago that computer monitors shared the 4:3 (squarish) aspect ratio with traditional television screens (that it, in turn, inherited its size from old film formats). With the trend to wide screens, wider (16:10 aspect ratio) computer monitors and screens have become very popular. Now we are seeing the move to match the wider 16:9 aspect ratio of wide-screen televisions. This is a problem.

Since a computer monitor presents the user’s “workspace,” the important measurement of a monitor is its surface area—its usable area. But screen size specifications are normally reported by their diagonal length. But, for a given diagonal length, applied to screens of different aspect ratios, the apparent sizes and usable areas are quite different. The following illustration shows two screen aspect ratios with the same diagonal length.

Which is bigger?


(Image: 4:3 aspect ratio w/diagonal 'x')(Image: 16:9 aspect ratio w/diagonal 'x')
Old-style, 4:3 aspect ratio of a diagonal length x.16:9 aspect ratio of a diagonal length x.

Most of the documents we work with are vertically oriented—letters, emails, web pages, and such are all vertically oriented. So, unless a majority of your computer use involves working with or watching videos, the wide-screen format is not the most useful format. It is bad enough that we cannot get 4:3 monitors anymore; the move from 16:10 to 16:9 is even worse.

(Image: 4:3 aspect ratio w/diagonal 'x')(Image: 16:10 aspect ratio w/diagonal 'x')(Image: 16:9 aspect ratio w/diagonal 'x')
4:3, 16:10, and 16:9 comparisons, all of the same (diagonal) “size”.

So using surface area in square inches (or centimeters) would be a more honest and useful metric for comparing computer screens of different aspect ratios. To simplify matters by having a single way of reporting both computer monitors and televisions, a better metric for comparing screens of different aspect rations would be to use the screen’s height.

16x9 Diagonal TVs4x3 Diagonal TVs16x10 Diagonal MonitorsSurface AreaWidthHeight
12

61.5310.465.88


1264.7210.186.36

12
69.129.607.20


15101.1212.727.95
17

123.4914.828.33

15
108.0012.009.00

17
138.7213.6010.20
24

246.1220.9211.77


24258.8820.3512.72

25
300.0020.0015.00

30
432.0024.0018.00

32
491.5225.6019.20
40

683.6834.8619.61
42

753.7636.6120.59

36
622.0828.8021.60
46

904.1740.0922.55
50

1,068.2543.5824.51
56

1,340.0148.8127.45
60

1,538.2852.2929.42

While the wide-screen is larger, the size of the elements on-screen—particularly when playing videos—will be the same size.

(Image: 4:3 aspect ratio of height 'y')(Image: 16:9 aspect ratio of height 'y')
4:3 aspect ratio screen with height y.16:9 aspect ratio with height y.

When you are looking at widescreen monitors for your computer, you are losing useable space for a given diagonal size when compared with 4:3 monitors. The current move to 16:9 from 16:10 makes this even worse. While it makes portables more compact, it comes at the expense of a useable work area. Don’t be fooled by the quoted “size” and get the largest quality screen you can afford.

[direct link to this post]

Friday, September 25, 2009

A Family Calendar (for the Extended Family)

How tedious it is to keep track of family events... even more difficult when trying to keep track of the extended family. Fortunately, with so many of us online, these days, we can take advantage of calendar sharing. With calendar sharing, family members can use their favorite calendar application (or calendar web site) to either view or modify calendar events. (This works with any groups, as well, of course).

And it is getting easier. In the old days, everyone had to create and manage their own calendars. Later, the ability to share a calendar allowed one person to create and manage a calendar, allowing others to view the changes. Today, it is becoming easier for everyone to participate in adding deleting events on a single calendar.

Creating the Calendar

In order to share a calendar, it needs to be reside somewhere. In the old days of a couple of years ago, this was awkward or complex. Today, Google Calendar (and others) do this for us for free.

Using Google Calendar as an example, one person in the family with a Google account must create a calendar on Google Calendar. This becomes the primary calendar for the family into which family events can be added. As with any calendar program, repeating events such as birthdays and anniversaries can be added there as well.

Sharing a Calendar with Other Google Users

In the simple case, this calendar can be shared with others who want to “subscribe” to it. Any calendar events that appear on the primary calendar will appear on each subscriber’s own calendar. This means that the calendar owner needs to maintain the calendar on behalf of everyone else.

It is trivial for the calendar owner to share a calendar with anyone else with a Google account.

  1. Make sure the list of calendars shows your calendar (under “My Calendars”),
  2. Click on the menu for the calendar you want to share and select “Calendar settings.”
  3. Select the “Share this calendar” section.
  4. At the bottom, you can enter the settings for everyone that should have access to the calendar. You can also set whether they can add or change events on the calendar.

Note that, for this method to work, the others must have a Google account before they can see the calendars shared in this fashion. If they do, however, it is very easy for everyone to participate in managing the calendar.

For current or more detailed information, see “Share your calendar” for more details.

Sharing a Calendar with Non-Google People

For those who do not have a Google account, Google Calendar provides URL address that allows others to view the calendar with a browser.

Also, if you have another favorite (modern) calendar program, you can also use an address to subscribe to the calendar events and integrate their display with each person’s own calendars.

  1. Make sure the list of calendars shows your calendar (under “My Calendars”),
  2. Click on the menu for the calendar you want to share and select “Calendar settings.”
  3. At the bottom of the “Calendar details” page, in the “Private address” section, there are buttons on the bottom that will display “iCal” and “XML” buttons that can be used calendar programs to integrate the calendar events. Calenders can be shared with Outlook, Mac Mail, and iPhone calendars, for example.
  4. The “HTML” button, in the same section, allows others to view the calendar in a browser.

See “Share with people who don’t use Google Calendar” for more details.

Sharing Ownership of a Calendar with Non-Google People

Google can share calendars with other programs, allowing the calendars to be managed without going to the Google site. This also allows non-Google users to modify the calendar. This feature relies on a technology called CalDAV. This is not yet universally supported by calendar programs, so not everyone will be able to modify the calendar, if they are also not Google account holders.

This works with calender programs such as Outlook, Mac Mail, and the iPhone's calendar. I may fill in more information about how to set this up; in the mean time, see the details at “Get Started with CalDAV” (or leave a comment requesting more information, and I will add more info here).

[direct link to this post]

Monday, September 07, 2009

Canon vs. Nikon (redux)

Too Many Choices

I’ve gone through this once before, trying to decide on a digital SLR. The first time around, I would start with the affordable models; as I thumbed through the catalogs, I’d myself desiring the ones thousands of dollars more. Years passed. I tried to make do with lesser digital cameras but with never feel the satisfaction I’d remembered with film SLRs.

As the years passed, the selection of camera companies (and therefore, camera models) broadened, making the choice even more difficult. There are a lot of great, innovative SLR camera companies out there (e.g., Sony, Pentax, Olympus). So many, I made the nearly arbitrary decision to narrow it down to Nikon and Canon, the two most prolific SLR manufacturers of professional quality SLRs over the past several decades.

At the time, about three years ago, Canon had already established a near monopoly in the digital SLR arena amongst professional photographers (compared to the vast majority that Nikon held during the film era). The primary reason: the broad range of technology that Canon offered and, in particular, Canon offered full-frame sensor cameras as well as the cheaper, APS-C sensor size models. For a long time, there were rumors of Nikon introducing a full-size sensor camera for professionals, but that had not materialized.

The sensor of a digital camera refers to the electronic component that takes the place of what film used to do: turn light into persistent images. For cost reasons, all the digital SLR companies have standardized on a sensors sizes that are much smaller than a traditional 35mm film camera film frame. The size of a sensor has a big impact on the image that it creates; the most obvious is that, for any given lens length, the size of the subject will differ. To preserve the visual integrity of file camera counterparts, as well as other quality advantages of larger sensors, some camera companies (first Canon, then Nikon, and later, Sony) offer full-frame sensor models targeting professional users–“full-frame” is relative to traditional 35mm film.

Making the Choice

Entry level digital SLRs had more features than I ever had on my film SLRs—some only found on professional SLRs of old. From a practical point of view, all digital SLRs are so good that there are only minuscule differences in quality between them. With that and the vague feeling that Canon might stay closer to the cutting edge than Nikon, I chose the Canon Rebel XTi (aka 400D, elsewhere in the world) as my first d-SLR.

Over the next 3 years, I happily and satisfyingly shot 10,000 pictures, all the while relearning photography and learning about all the new facets brought in by digital. This was brought to an abrupt halt when I decided to soak most of my equipment in the salty waters of the Canadian sea. Salt, as you may know, is never good for electronic nor metallic parts; digital cameras and lenses are both. Even if I could get them repaired, it is likely that residual salt would eat away at the internals, killing them again.

Choosing All Over Again

Since I was a kid, I’ve said, “My life would not be complete without a Nikon.” So, with most of my Canon equipment destroyed, I thought I would take the opportunity to re-evaluate Canon vs. Nikon. Both have iterated their camera lines a couple of generations. Notably, 3-months after I made my Canon choice, Nikon finally introduced their line of full-frame sensor cameras. In these intervening years, Nikon has quickly ascended to take over a large percentage of the professional d-SLR audience.

Canon and Nikon; Canon vs. Nikon

Both Canon and Nikon have a wide range of camera models ranging tailored to satisfy the demands of casual photographers to professionals. They have a full range of lenses from cheap and versatile to high-quality professional lenses. In the past 3-year period, Nikon has caught up with Canon and, now, both companies clearly have each other in their sites—there is a near exact feature match amongst their products. There are some subtle differences in their approach, however.

It is a new age, but Nikon has demonstrated, as it did with its film cameras, consistency of design where lenses designed for cameras nearly 50 years ago will work on today's digital cameras! Within its line of “entry-level” d-SLRs, Nikon has maintained the same battery type across that line while Canon has changed the battery and charger needed for nearly every new model. Nikon's approach preserves the user's investment in their equipment and reduces the number of pieces to be packed when traveling. Nikon also has a more flexible advanced flash system that costs an extra few hundred $$ to achieve with Canon. And, Nikon has officially accommodated a GPS accessory that will embed positional information in the meta-data of each image.

On the other hand, Canon has a longer history of high-end digital cameras and whose entry-level series is closely tied. It also has a broader line of advanced, “professional” lenses, many of which are available in variants fitting more size or cost conscious buyers. Subjectively, I prefer the panel information on the latest Canon "Rebel" T1i (aka 500D, elsewhere).

Since most of my photography takes place while traveling, size and weight of my equipment is of utmost importance. Fortunately, there appears to be a stronger focus by both Nikon and Canon, to include more advanced features in its smaller, lower-level camera models. Canon, explicitly and Nikon, perhaps, have split their entry-level line into a less expensive series and more expert, but still, physically small model lines. This suits me perfectly.


CanonNikon
Professional1D, 1DsD2, D3, D3x
Semi-professional5D, 7DD700
Advanced20D, 30D, 40D, 50DD200, D300, D300s
Advanced Entry-levelRebel, XT, XTi, XSi, T1i (300D, 350D, 400D, 450D, 500D)D40, D40x, D60, D80, D90, D5000
Cost ConsciousRebel XS (1000D)D3000

There may be variants of the listed models also available. As of 7 Sept 2009. Bold entries are currently available.

Initially, the competition between Nikon and Canon started with the mid-range and entry level models. Then, Nikon changed the competition with with direct competition in the full-frame professional series. Today, we see both companies broadening their product lines in the "semi-pro" and cost cutting models. While, this table is not complete, clearly there is fierce competition in the "advanced entry-level" (nee entry-level) line.

Decisions, Decisions

Over time, I would expect to buy more lenses than camera bodies. So, understanding which lenses are available and their cost becomes an important factor in choosing a system (since, unfortunately, they are not compatible between Canon and Nikon--in fact, hardly any accessories are compatible between the two makes).

The option of moving up to the more advanced cameras play a role in my decision. This evaluation becomes a difficult since I do not have the opportunity to test all the models of each make. Also, nearly every quarter, each manufacturer leap frogs the other with its new models with new technology features and quality improvements.

In the end, the cameras you use have to feel comfortable. If I had not already had the experience with the Canon (or I had waited 3 months the first time around), I probably would have chosen Nikon. However, despite some of the quantitative advantages of Nikon, the familiarity I have developed over the past three years with the Canon is likely to lead me back to rebuilding my Canon system.

[direct link to this post]

Sunday, August 02, 2009

Shooting Speed

8sep09 — Correction to step 2.

Here are some tips about shooting fast moving subjects, like car racing, air shows, and sports, with a digital camera.

  1. Make sure your batteries are charged, lens(es) and sensor are
    clean, and you have the lenses you plan to use.
  2. Use the fastest memory card you have.
  3. Set your camera to shoot JPEG only.
  4. Turn single-shot mode off.
  5. If the action is all happening in the distance, pre-focus your camera and turn auto-focus off.
  6. Set the lens aperture to a medium opening like f/8.
  7. Position your body, facing towards the direction you’re likely to finish. And twist your body in the direction that the action is likely to start.

2. Single Format

Since the write speed to your storage card is slow, choose the smallest format you would be satisfied with; this allows as many images as possible to be cached as the camera is saving the images to the storage card. That means shooting JPEG only. If you want to shoot RAW, be sure not to record both RAW+JPEG (if you even have that option), because that will slow down the RAW recordings. Set the camera to record only one format and use JPEG only (if you can stand it).

4 & 5. Pre-focus and Preset Aperture

If the background is non-descript (as when shooting airplanes against the blue sky) or if you will be panning the camera across objects that are nearer than the subject (e.g., telephone poles and feces), pre-focusing the lens and turning off its autofocus mode will ensure that the lens isn’t seeking focus away from the subject while tracking the moving subject.

This only works if you are able to capture the subject within the focus zone formed by the depth of field of the lens.

In order to broaden the focus zone, set the camera to aperture priority and choose a medium aperture (e.g., f/8 or smaller) so that precise focus is not necessary. The choice of aperture depends on the balance of

  1. Your ability to capture the subject at the pre-focused distance,
  2. The required shutter speed,
  3. The amount of depth-of-field desired.

6. Body Position

Successfully capturing the image of a moving subject results in a sharp subject image while its surroundings may be blurred. To do this, the camera needs to track with the movement of the subject during the time that the shutter is open. Like many sports, golf, tennis, baseball, this requires good body positioning, early anticipation, and smooth follow through.

Anticipate the path of the subject, especially where you first expect to see it and where it will leave your view. Plan to track and follow the subject with your camera movement through that entire path. Knowing the extent of the path, position your body so that it does not “bind” your movement as you move through the path. Consider positioning you body so that it is square just past the middle of your movement through the path of tracking the subject movement.

Finally, anticipating where and when the subject will appear in view, start the tracking movement of the camera slowly before the appearance of the subject to coincide with the appearance and movement of the subject as it comes into view. Continue tracking smoothly and press and hold the shutter release for the requirement number of shots as you track the movement of the subject. Even after releasing the shutter release, continue to track the subject’s movement smoothly–this smooth follow through will ensure smooth tracking of the subject in your final shots.

[direct link to this post]

Friday, June 12, 2009

Configuring Apple/Mac Mail to work seamlessly with GMail

Are you a Gmail user and like the features of the Mail application on Apple’s Mac OS? There are a few tweaks that will allow you to seamlessly integrate the two that I have not found documented anywhere. The major steps are:
  1. Enable access to Gmail from other e-mail applications.
  2. Configure Apple Mail to access yor Gmail account.
  3. Tweak the Mail settings to sync seamlessly with Gmail.
These steps will allow you to leverage the advantages of Mail in reading and composing e-mail for your Gmail account.

Gmail, Tagging, and Folders

First, a little background about how Gmail works; if you know all this, you can skip ahead to the next section.

I’m a big fan of Gmail. I’ve tailored Gmail and my e-mail readers to work together so that I can continue to use my own domain’s e-mail address—to the rest of the world, my e-mail address has not changed. At the same time, I can use any web browser to access my mail on any machine, I get Gmail’s spam and phishing handling, and when I use other mail applications, the organization of the mail is consistent (notably the “Sent Mail” folder).

Gmail has a different approach to e-mail. Instead of organizing mail into folders, it allows you to “tag” each item with any number of tags. This is a great idea... many times a mail item does not fall neatly into a single “folder”; by adding multiple tags to an item, you can effectively put the same item into several folders.

Since other mail applications only have the concept of folders you’ll have to use the web page to manage these tags. Keep in mind when using an e-mail app,

  1. Moving items from one “folder” to another, that Gmail is actually adjusting tag, and
  2. An e-mail item may appear to be in more than one folder when, in fact, it is the same e-mail item with multiple tags.
The tweaks, in the last section of this article, help to coordinate the handling the actual Gmail folders with the Apple Mail application’s folders.

1. Enabling Access to Gmail

Gmail allows access to its mail from other e-mail applications through standards, POP3 and IMAP4. Forget about POP3 unless your e-mail application doesn’t support IMAP (POP3 only allows programs to copy e-mail from the server, IMAP allows the e-mail program to organize mail in sync with the server). To allow other e-mail applications to access Gmail, you need to enable this in the Gmail settings, on its web page.
  1. After logging into your Gmail account, click on the “Settings” link, in the upper right of the web page and select the “Forwarding and POP/IMAP” tab.
  2. In the “IMAP Access section, set the Status to “Enable IMAP.”
  3. If there is an Auto-Expunge setting, set it to “Immediately expunge messages when I mark them deleted in IMAP.”
  4. Save the changes with the “Save Changes” button.
You Gmail account is now ready allow other e-mail applications to access mail.

2. Configuring Apple Mail

If you’re already using Mail, then you’ve probably already configured it to access one of your e-mail accounts.
  1. Open Mail preferences (Mail --> Preferences...) and select the “Accounts” tab.
  2. Add a new account by clicking the “+” at the bottom of the “Accounts” list, on the bottom-left, to start the wizard.
    1. Enter Mail account identifying and login information—the name that appears with your e-mail address, your e-mail address; (click “Continue”)
    2. In the “Incoming Mail Server” step:
      1. Select IMAP in the list,
      2. Set the description to an account name for the account,
      3. Set the “Incoming mail server” to “imap.gmail.com”, and the Gmail ID (i.e., Gmail e-mail address) and password. If you are unable to continue from this wizard page, make sure that your Gmail account is set up to support IMAP access (see above).
    3. In “Outgoing Mail server:”
      1. Enter a description that identifies this outgoing mail server so it be used by another account,
      2. Enter “smtp.gmail.com” for “Outgoing Mail Server,”
      3. Enable “Use only this server” by checking its checkbox (any mail sent through this server will automatically show up in the “Sent Mail” folder of the Gmail account),
      4. Enable “Use Authentication” and enter your Gmail ID and password, once again.
    4. On “Outgoing Mail Security,” check the “Use Secure Socket Layer (SSL)” and select “Authentication” as “Password.”
    5. After creating this account, select the “Advanced” sub-tab on the Account preferences for this new account. Here, you can set the “Keep copies of messages for offline viewing” as appropriate to match the balance of how much of the online mail you want to download.

3. Tweaking Mail

Now that you have the basic IMAP mail configured for Gmail and Apple Mail, we need to set Apple Mail to sync with the “Trash,” “Drafts,” and “Sent Mail” folders. Without the following changes, the trash, drafts, and sent mail on the Mac will not match that of Gmail. There is no user interface in Mail to do this, so this where we need to perform a little magic.
  1. Very importantly, make sure Mail is closed and not running.
  2. Open a Finder window to your home folder and navigate to Library then Preferences.
  3. Open “com.apple.mail.plist”.
  4. Expand the “MailAccounts” key and you will see several sequential entries “Item 1,” “Item 2,” etc.
  5. Look for the Gmail account by expanding each item, looking at each item’s “AccountName” key with its value matching the account name given to the account, above.
  6. Change the folders that Mail knows with the folders on the Gmail server, in order to keep those folders in sync. Double-click on the value fields of the following keys:
    1. Change the “DraftsMailboxName” value from “Drafts (account name)” to “[Gmail]/Drafts”.
    2. Change the “SentMessagesMailboxName” value from “Sent Messages (account name)” to “[Gmail]/Sent Mail”.
    3. Change the “TrashMailboxName” value from “Deleted Messages (account name)” to “[Gmail]/Trash”.
  7. Save and close “com.apple.com.plist” preference file.
Restart Mail at your leisure and mail away!

[Direct link to this post]

Sunday, May 24, 2009

Photo Tips: Managing/organizing your images

After you get your digital camera, you will quickly find a growing proliferation of image file bits scattered and, while not lost, not findable. Hopefully this can help you get your images under control before they get too far out of control. I have the quick list, right here, and the longer explanation below.
  1. Software: Get some software to help you out. My Pick is Google’s Picasa desktop software; it’s free, it works on Mac, Windows, and Linux(!), and it has strong ties to online PicasaWeb albums (as well as uploading to other sites). Oh, and did I say it’s free?
  2. Folder organization: Prefix the folder names where you put your images by its date in year, month, and optionally date order (e.g., “2009-05” or “2009-05-24” or “200905”). This allows you to easily sort your folders chronologically by name.
  3. Image filenames: Use generic filenames for the images, usually the sequential number assigned by the camera.
  4. Tag your images: Most software allows you to “tag” your images with keywords that make searching for images quicker and easier, later. Be as liberal and prolific as you can, in adding tags so that you can search for the images, later.

On the middle two points, a new digital photographer will have a strong temptation to name folders and images by subject. The problem is that the subject might be subjective; so, not only does it take longer to “handle” your pictures, it could make it more difficult to find them, later, when you are in a different frame of mind. As you accumulate more and more images, it will be difficult to locate images by name only. It may help to suffix the name of folder or image with a descriptive name so that you can recognize it visually in your desktop’s file browser. Using tags can also help you find your images.

Software

My HP machine came with some image management software, but since you will want to have access to your images for a longer period of time than you are likely to have your computer, you will want to pick a more popular solution. I already mentioned that I strongly recommend using Picasa. The following mentions some other photo management solutions that you may have heard of.

There are dozens, if not hundreds, of entry level programs. Picasa is targeted at the lay-person and is suited, not only to beginners, but reasonably advanced users. If you have confidence in Google’s commitment to maintain its desktop software, then this should be sufficient. I will give tips on using Picasa in a future blog entry.

Apple’s iPhoto is targeted at the same user audience as Picasa and shares most of the same features. It does have a slightly better user interface that makes more efficient use of the screen. However, it has a few problems:

  • It runs on Macs-only.
  • It sucks in and hides the original images so they are not readily accessible to other applications or file browsing.
  • It is difficult (impossible?) to move a subset your growing set of images to another drive while still being accessible by the program.

Adobe includes their Bridge product along with their expensive professional image creation and editing tools such as PhotoShop and Illustrator. Bridge is a great tool for viewing and sorting through large batches of photos, although it does not remember the images, so it can be slow to bring up its initial view of a set of images. And, unfortunately, Adobe does not sell Bridge by itself.

Expert Software

Where there are numerable solutions for most people, there are only a couple of commonly used solutions for expert users, the Adobe solutions and the Apple solutions. I won’t dwell on these programs since they are for far more serious photographers.

Besides Apple’s iPhoto software, Apple has Aperture 2 for advanced and professional photographers. It provides file management, “workflow,” and advanced photo editing functions.

Adobe, produces several expert/professional level products that include Bridge which allows very powerful image management, tagging, and searching features. Adobe also sells Lightroom for advanced file management, workflow, and common editing functions, targeted at professional photographers. Adobe products are all available for both Mac and Windows.

Again, I will cover Picasa usage tips in more detail in a later post.

Update, May 29 — Deleted photo editing info and added comments about Adobe Bridge.

[Link to this post]

Tuesday, May 12, 2009

Tech Project: Create a Bootable Software Utility CD

Floppies are no longer ubiquitous and a floppy is not big enough to hold a useful amount of content anyway, so now I need to create an alternative to floppies that contains my essential software in a single medium.

The goal is to create a software utility configuration with the following properties:
  • Bootable CD (that would also work as a bootable USB, thumb, or flash drive)
  • Contains primary disk management utilities:
  • Contains installable “essential utilities”
  • If installed on a writable medium (especially if not on CD), then allow “portable app” support when possible.
Most of the published information on the internet is quite old. While still factually correct, they use old or obsolete information in their examples. This article provides a more contemporary look at the same issues.

This is a work in progress, come back to see my progress.

Preparing a Bootable CD: Concepts

Enabling a bootable CD is a bit of a hack; there is no direct support for booting from optical media. Instead the optical disk emulates more traditional media, floppy or hard disks.

Originally, creating a bootable CD meant creating a bootable master hard drive with the exact content and layout which is imaged to the CD. Today, it is difficult to find a hard drive small enough for this purpose. Alternatively, a smaller image can be created from a diskette drive. This startup image can load CD-ROM that allow the subsequent operation to access the remaining content of the disk.

The directly bootable portion (the disk or floppy image) is not visible when not booted from the CD drive, so it is advisable to keep all the generally viewable files separate from the boot image.
  1. Prepare bootable image that boots in real-mode and loads CD-ROM drivers that allows access to the bulk of the disk's content. This startup also may allow the user to select what functionality they want to run in bootable operation.
  2. Layout the remaining disk content that will be accessible once the CD-ROM drivers have loaded.
  3. Create ISO image.
  4. Burn to disk.

Build Tools

Tools for creating the bootable CD.
  • Prepackaged command-line tools and diskette images: clean20.zip
  • Make ISO filesystem, mkisofs -- opensource Unix, Linux, and DOS command-line utility.
  • FreeDos -- opensource DOS implementation.

Some details to be integrated...


DescriptionWhat systems support it?
Single boot image configurationAll
Multiple boot image configurationSome
Boot record volume descriptorAll
Validation entryAll
Boot Indicator 88 "Bootable"All
Boot Indicator 00 "Not bootable"None
Boot media type 0 "No emulation"All *1
Boot media type 1,2,3 "Floppy emulation"All
Boot media type 4 "Harddisk emulation"All
Sector countMany *2
Load RBAAll
Header indicatorAll
Platform IDMany *3
ID stringSome *4
Section entry extensionsI've never used it
Int 13 function 4A - Initiate disk emulationNone *5
Int 13 function 4B - Terminate disk emulationAll
Int 13 function 4C - Initiate disk emulation and bootNone *5
Int 13 function 4D - Return boot catalogSome

*1Adaptec aha2940 supports no emulation mode from firmware revision 1.25
*2Some systems do not support reading more than 1 sector
*3Some systems do not check the platform ID
*4I've only seen adaptec SCSI adapters support this
*5This one hurts, I wanted to use this function badly

Future projects

  • Support for DVD.
  • Support for solid state storage (USB/thumb or flash memory).
  • Support for boot on a Mac.
  • Support for multi-boot. Rather than driving the selection of the configuration via a Dos menu, multiple boot configurations can be stored on disk and selected directly.

Bibliograpy

  1. Microsoft. “KB167685: How to Create an El Torito Bootable CD-ROM.” [Online] Available http://support.microsoft.com/kb/167685, April 12, 2004. Details one detailed approach to creating a bootable CD/DVD.
  2. “Bart’s way to create bootable CD-Roms (for Windows/Dos).” [Online] Available http://www.nu2.nu/bootcd/, June 6, 2005.
  3. IBM and Phoenix. “‘El Torito’ Bootable CD-ROM Format Specification.” [Online] Available http://www.phoenix.com/NR/rdonlyres/98D3219C-9CC9-4DF5-B496-A286D893E36A/0/specscdrom.pdf, January 25, 1995.
  4. Wikipedia. “ISO 9660.” [Online] Available http://en.wikipedia.org/wiki/ISO_9660, April 19, 2009

Tuesday, November 11, 2008

Modern Television

There are some amazing things happening in the world of “television.” Traditional television viewership and viewing are changing rapidly and many products are pushing these changes with interesting and powerful new solutions. The tension between the big powers of content production and distribution continue to wage... for now, there are opportunities for new challenges to the old-guard. The following is a brief snapshot of some of the notable activities changing the “television” landscape.

The “big 4” are no longer the de facto standard that they used to be, viewership of individual channels is lower, and the lines between when, where and how people watch TV is blurring rapidly. As with many old-school industries, they have desperately tried cling to their old business models and stifle innovation, only to succumb and participate in the change. The change to digital broadcasts will further degrade the dominance of the big broadcasters as more “free” TV watchers move to cable (or satelite); this will begin to seal the dominance of power wielded by cable companies like Comcast, Time Warner, and AT&T. We can now wait and observe how they fare; so far, this has not put a damper on the quality of the best content available for television.

But the more interesting battleground is in the slow crumbling of the divide between watching TV on a television and watching “television” on a computer driven device. This is the new turf where new combatants can slug it out equally with the big boys as well as other up and comers. There there are a variety of products that are bridging this gap and catering to new ways of watching TV content.

On the hardware side, televisions are becoming more powerful; notably, there are full-blown computers hidden inside many of them and an increasing number of models are including Internet connections and the ability to act as computer displays. There are products that are bringing TV content to the Internet and products that bring Internet content to the TV. Already, “new television” has matured enough that most of these products have recently expanded their features and are beginning to fight it out in these new feature territories.

If you are on the road a lot, then there are a great deal of options available to you that coincides with the growing ubiquity of broadband availability.

NETFLIX

Netflix revolutionized the movie rental space by making it easier and, arguably, more convenient to manage and rent movies while eliminating the hassle of worrying about rental fees through a subscription rental service. In addition to the unrivaled multitude of DVD titles that they have available, they have been slowly building a sub-catalog of content that subscribers can stream and play directly on their computer. Then, several months ago, they worked with Roku to develop a dedicated box that streams their content directly to a TV (without a computer). Within the last couple of months, they have extended this idea to bring Netflix content to LG and Samsung Blueray players, the Xbox360, and TiVo Series 3 and HD models. With many of the best TV serials available on DVD and streaming, some viewers are eschewing real-time broadcasts in favor of Netflix content. Netflix has adapted well to the changing world of video and may prove to be a winner in this war.

TIVO

Speaking of TiVo... a lot of the the current TV revolution can be traced to the advent of the TiVo. This may not have been the first “digital video recorder” (DVR or PVR, “programmable video recorder”), but it is the most usable and it is so well known that it has become a verb. Its user interface was so well designed that it survives essentially unchanged from its introduction.

Starting as a glorified VCR (video tape recorder), they have expanded beyond broadcast recording through partnerships with Internet content providers to build a palette of offerings that can be streamed or saved from the Internet for playback on a TV. They are bringing the immediacy of high quality movie downloads to the living room as well via Amazon's “Video on Demand” (née “Unboxed”) and, soon, Netflix. There is a deliberate goal of bringing the power of Internet connectivity to the traditional television form-factor.

I would like to take a moment to commend TiVo for their commitment to their customers by staving obsolescence of their older products through continuous feature additions through software upgrades. Such a rare demonstration of commitment to their products and customers in this day and age offsets the perceived high price of their service subscription. Sadly, they are not updating Series 2 models with the Netflix feature.

TiVo has now jumped to the other side of the TV-Computer chasm by teaming with Nero (of CD and DVD ripping, burning, and playing fame) to bring TiVo capabilities directly to a Windows-based PC. with the included hardware, all of the features of the TiVo are now directly available on the PC.

SLINGBOX

Another game changer, Sling Media introduced the Slingbox as a way to put traditional television onto the Internet to allow a person to watch their video device from anywhere there is a decent Internet connection on any kind of connected device, be it a computer or a mobile device. This may not be for everyone, but for those that travel a lot and miss their local broadcasts or don’t want to let their TiVo content build up before they get back home this is a beautiful solution.

With the broadening variety of compelling content on the web, Sling Media introduced Sling Catcher to bring that content to the television, overlapping some of TiVo’s more selective approach for bringing The Net to TV.

I should be interesting to exciting is their yet to be released sling.com web site that will allow streaming content from a variety of sources, including your Slingbox direct to a browser.

Summary

There is a lot going on in the world of television—I didn’t even address mobile video solutions or media specific computers. For the TV addict, they will have the flexibility to watch TV from your couch as always, but with a lot more content options. Traditional content providers are making much of their content available on the Web; there are now solutions to allow you to choose whether you want to watch from your computer screen or on your couch... or, indeed, from anywhere in the world.

Note: I own and am a big fan of TiVo, Slingbox, and Netflix. I have no financial interest in them, but I am cheering their success.

Wednesday, August 13, 2008

Is the iPhone a phone, or isn’t it?

The iPhone has its critics. I am probably one of them, but I’m one of the ones that use it as my
regular phone, so how critical am I, really?
  • It cannot send phone or contact information via Bluetooth.
  • It does not show call forwarding status in the statusbar.
  • It cannot add custom sounds to text msg reception.

It is clear that the iPhone is really a portable computer that happens to be able to
make phone calls rather than a phone that can do a bunch of other things. Oh, I wish Palm OS were still evolving.

Friday, November 30, 2007

Standardizing on Gmail IMAP

Web based access to email allows access to email anywhere where you have an Internet connection. Many web-based email services now offer a lot of space to archive your mail. With Google’s addition of IMAP support in their Gmail service, we can now leverage the advantages of web-based and “local” mail handling.

If you access your email on different machines or web sites, trying to keep all your email activities can be quite a chore. Another difficulty is keeping email organization in sync across computers (i.e., not wasting time rereading and resorting email on each different machine). At the same time, it is often preferable to use your favorite email reader to view and/or compose email, particularly if you need to access your mail while offline.

This article interlaces howto steps for using Gmail as your primary email server while maintaining a separate email address and allowing use other email readers along with a bit of history. If you have any comments or experience for other email clients’ access to Gmail, feel free to comment to this entry and I will try to verify and incorporate your experience here.

Old School e-Mail Access — POP3

Most people (whether they know it or not) have been accessing their mail via POP3 (Post Office Protocol). This simple protocol describes how mail is transferred from a mail server to the e-mail client—the e-mail reader. Generally, this assumes that the mail will sit on a mail server until the e-mail moves the mail from that server. Such mail servers are not generally intended to save mail long periods of time. Most e-mail programs, by default, will delete the mail from the mail server. When this happens, the mail cannot be accessed from anywhere else—any other e-mail program or web site—because the mail is no longer on the server to be retrieved.

It is possible to configure most e-mail programs not to delete e-mail from the POP3 server. This allows access to the same e-mail from several readers. But most POP3 servers are not really designed to save e-mail long term—it is not very efficient for them to store such mail, among other things. Also, it leads to a lot of wasted time, having to re-organize e-mail at each location where you access your mail. I won’t go into much detail about this because I want to focus using Gmail’s IMAP.

Any modern operating system comes with its own e-mail program Outlook Express for Windows (before Vista), Windows Mail for Vista, Apple Mail for OS X, and a whole variety of open source options that run on Linux and other operating systems. Many companies have made a living on email programs; Eurdora, Lotus Notes, Outlook, etc. See Wikipedia Comparison of e-mail clients for a longer list of options.

Untethered Freedom—Web Access to Mail

Web access to e-mail has provided a big step in freeing one’s self from the machine where their email program and, more importantly, their email is. There are two approaches to web access:

  1. E-mail viewer
  2. E-mail reader client
  3. Dedicated e-mail systems

An e-mail viewer is a very simple client that simply views whatever e-mails are on the server. It does not store the e-mails anywhere so if another client has deleted the e-mail, the viewer will not be able to see it. Due to this limited functionality, such viewers are rare, but can sometimes be useful http://www.mail2web.com/ is one of these.

There are several e-mail reader sites that act very much like the stand-alone e-mail program that you have on your computer. Such reader sites will download and store e-mail from the mail server into its own, managed area before viewing. Since these readers are web-based, you can access the mail from anywhere you have access to the web. With such web services, you can usually configure them to retrieve mail from your own separate mail server (e.g., sbcglobal.net, your own domain). With such web sites, you can usually get an e-mail address specifically for that site and use it as your primary e-mail address. There are many... one particularly well done example is http://fastmail.fm/ although you need to pay to get enough storage space to be useful, long term. These services usually also have the ability for you to access their messages via another reader program, if you prefer the interface of another program, via POP3 and/or IMAP4.

Then, there are full-fledged e-mail web services such as Hotmail, Yahoo!, or Google Mail (Gmail), as well as many others. Such web services manage all the email themselves and are geared primarily to support their email address as the primary email address. They may not allow access via an external e-mail client (or charge extra to allow that).

Modern Mail Handling with IMAP4 — Internet Message Access Protocol

We all organize our mail into folders, don’t we? If we do, then, traditionally this organization only occurs on the client reader. This means that if you have access to your email from different locations, you have to organize the mail for each client. This is because, using POP3, the mail is copied to the mail reader and organized locally, independent of the other readers.

The IMAP4 protocol was designed to allow storing and managing of e-mail on the mail server; this includes allowing folders to be created to hold mail. This is a real boon to those who like to be able to access the same view of their organized mail from any reader or location. The downside is that it is a complex protocol, so different servers and readers support the it differently, making consistent configuration sometimes tricky. Also, relying on IMAP is most useful if there is enough storage space to hold all the mail you would want to access from all those locations.

Local Client Access to Mail

With web access to mail, that should be enough, right? For most people they might be, but for others, they may need access to email while offline. Offline mail readers also provide more powerful or more efficient email authoring features. In these cases, access and caching of email in a local client is essential. Access via POP3 has its downsides, but IMAP access allows the common view to e-mail, as just described.

Google Mail with IMAP support

Google has recently added IMAP access support to their Gmail service. This means that you do not have to rely on its own web interface or POP3 to access your mail. With its support for IMAP access, built-in spam filtering, its large storage size and its powerful online text capabilities, this makes a great mail service to base your mail access on.

First, follow the instructions in Supported IMAP Client List; this will give you the basic setup to get IMAP access working. I will detail information needed to make your Gmail IMAP integration more seamless. For those of you who know what you’re doing or have an e-mail reader that is not listed in on their instructions, here are the essential facts (for the rest of you, use the instructions). Note, that not all mail programs support IMAP mail access; if that is the case, you will have to drop back to using POP3 access, with its reduced features.

Protocol:  IMAP4
IMAP Server: imap.gmail.com, SSL Security=true, Port=993
SMTP Server: smtp.gmail.com, SSL Security=true, Port=465
For both the IMAP and SMTP servers the userid userid@gmail.com and the password is the corresponding Gmail password.

Using an Alternate E-mail Address

Though not an IMAP issue, if you want to use a different primary e-mail address than the userid@gmail.com address. There are two things you will want to do to make this all work:

  1. Set the email address used in sending email
  2. Forward all the email from the provider of the primary email address to your Gmail address so that all the mail will be available there.

If you do not want to expose your Gmail address as your primary address and you will want your mail recipients who use the “reply” button to direct responses to an alternate address, you will want to set the desired email address in the client. With most e-mail applications you can specify the email address you want in the configuration. This is distinct from the Gmail login information specified for the IMAP (or POP3) and SMTP servers and it is distinct from the “Reply To” address that you can optionally specify. Since there is not any validation of this address, you can set this to any address you wish.

Note that this does not completely hide your Gmail address; it is still listed in each, normally hidden, email header.

The second part of tying your primary email address to GMail is to forward all your email from the ISP to your Gmail address. The method for doing this is dependent on the your email provider. And, in order to avoid overflowing your storage capacity at your email service provider and generating error messages to people sending mail to you, be sure that the email at the ISP will no longer be saved there. You might want to try this all out first before you cancel mail delivery to your existing email account.

Special IMAP and Gmail Folders

Most e-mail readers that support IMAP create and manage some special folders:

  • Inbox — Primary incoming mailbox (created and managed by the server)
  • Drafts — The folder where the client application saves email in progress
  • Sent Mail — The folder where the client (or server) can save email that has been sent
  • Trash — The folder where deleted mail goes.
In addition, Gmail maintains some additional special “folders”
  • Starred — Flagged e-mail items are replicated in this folder.
  • Spam — The folder that temporarily holds mail treated as spam.
  • All Mail — A view of all the mail that is not in the Trash or Spam folders.

The folder names shown are the ones used by Gmail. Other client readers usually use different names for folders of equivalent functionality, thereby creating duplicate folder types. For example, Gmail uses “[Gmail]/Trash” to temporarily hold deleted mail while Outlook saves its mail in progress to “Deleted Messages.” See the following for more details on each of these special folders.

The trick is knowing how to sync these folders with the activities that occur in the mail reader. The general behavior of how Gmail treats these folders is described in the Google Help. I will describe some of the differences between how Gmail treats these folders and compared with email readers followed by some configuration details for various email readers.

Inbox Folder

The Inbox is like the old POP view of mail—a flat list of incoming messages. A big reason to switch to Gmail as the primary email server is that you can benefit from its filtering of spam from your incoming mail. The inbox also benefits from Gmail filters that “archive” mail which remove them from the Inbox view of the mail (filters are often used to tag such messages so that they would appear in different folders).

Most email readers use the same name for this folder as Gmail, so the view of this folder across email readers is consistent (whew!).

Drafts Folder

Email programs often have their own way to store email in progress. The result is that they get saved into folders of different names. If you are concerned about the status of incomplete messages, be sure to check “draft” messages in their different folder incarnations—Gmail’s name for this folder is “Drafts.”

I need to experiment with this a bit more... it might be that you’ll need to move the drafts from non-Gmail drafts folders to the Gmail one in order for you to have Gmail treat them as drafts (and vice versa).

IMAP support on the iPhone seamlessly supports these folders... see below.

Trash Folder

Similar to Drafts messages, deleted items are handled differently between Gmail and by various mail clients. This is made more complex because Gmail does not actually delete an email that you delete via a different mail reader unless that you use the mail reader to actually move the message to the “[Gmail]/Trash” folder. If the mail reader moves deleted messages to a folder of a different name, then you will have to occasionally move them manually from that folder to the “[Gmail]/Trash” folder. Failing to do this leaves the mail on the Gmail server, viewable via the “[Gmail]/All Mail” folder.

Starred Mail Folder

If the email reader has the ability to flag email, those messages will automatically be added to the “[Gmail]/Starred” folder. Likewise, Starred mail items will appear “flagged” in your email reader and appear in the “[Gmail]/Starred” folder. Moving an email to the “[Gmail]/Starred” folder will flag/star it as well, should the email reader not have that feature.

Sent Mail Folder

In general, you can configure your email program to use any accessible SMTP server to send mail. If you use the Gmail server, however, it will automatically add that mail to the Sent Mail folder for the account that is associated with SMTP server. (It can do this since the Gmail account information is necessary to access its SMTP server).

Most email clients have the ability to save a local copy of sent mail. If you use the Gmail server as the outgoing server, then there is no need to do this; it will save mail sent to the “[Gmail]/Sent Mail” folder. Because of this, it is also not necessary to set the mail program to send a copy of sent mail to yourself. Configuring your mail client to do either of these simply results in duplicate sent mail on the server.

Email Reader Program Configuration

The following describes how to set up various e-mail client programs. Should you have any experience to add, please let me know.

Netscape 7.2

Gmail Netscape
[Gmail]/Drafts [Imap]/Drafts
[Gmail]/Trash [Imap]/Trash
[Gmail]/Sent Mail [Imap]/Sent*
* Not necessary, see “Sent Mail Folder,” above.

To be completed.

Microsoft Outlook XP (aka 2002) and 2003

Gmail Outlook
[Gmail]/Drafts Drafts
[Gmail]/Trash

Deleted Items

[Gmail]/Sent Mail Sent Items*
* Not necessary, see “Sent Mail Folder,” above.

To be completed.

Microsoft Outlook Express

Gmail Outlook Express
[Gmail]/Drafts
[Gmail]/Trash

[Gmail]/Sent Mail *
* Not necessary, see “Sent Mail Folder,” above.

To be completed.

iPhone Mail Support

Gmail iPhone
[Gmail]/Drafts Draft Messages†
[Gmail]/Trash Deleted Messages†
[Gmail]/Sent Mail Sent Messages†
† Not necessary, see description.

Since Gmail IMAP support was not available when the iPhone was released, rather than using the most visible way to set up Gmail, you need to set up IMAP manually as described. The nice feature about iPhone IMAP support is that you can define how the device’s special folders map to the IMAP folders. This allows you to automatically maintain the same view of your Sent Mail, Deleted Messages, and Drafts as you’d expect to see in Gmail itself.

To be completed.

Caveats

Okay, with all that there are some road bumps that I would like to see “fixed”:

  1. If there were an option to tread a “deletion” like most email clients do, then users would not have to think so hard about whether they actually deleted a message or if it were just hidden in the “All Mail” folder. They might also support IMAP’s mark-for-deletion feature as well.
  2. I haven't tracked down the problem, but most IMAP readers have the ability to specify which folders should be automatically synchronized (subscribed). This information must be saved on the server because each time I try to exclude a folder from synchronization, it reappears as a “subscribed” folder. Because the “All Mail” folder contains a view all the mail (except those in the Spam and Trash folders), this can double the amount of disk space used locally, if you are retrieving the full content of all mail messages.

Friday, August 31, 2007

Apple on a Safari hunt in Windows

The guesswork surrounding Apple’s every move goes on and on... I will belatedly comment on their decision to make the Safari browser available on windows, that I have not yet heard or read.

While the roll out of the iPhone, with Safari built-in to it was surely a motivation for the Windows version of Safari (for the oft cited reason that it enables Windows developers to “develop” for it), there was probably much grander motivation: by making Safari available on the most prolific operating system, its broader reach would encourage more web site developers to ensure compatibility when they design their sites. This would benefit Mac OS users, then, as well.

Friday, October 20, 2006

Widgets! A new programming direction?

I always hated the use of the term “widgets” for real software things. It was a term that was reserved for theoretical objects of production in economics classes, with no defined use or purpose. But, today, widgets are coming to be known as little applications that have become quite useful and personal. My first awareness was its use by the Konfabulator technology (Konfabulator has been bought by Yahoo! to become Yahoo! Widgets). First implemented on the Mac, Konfabulator was an engine that supported the presentation and use of their little widgets. Later, they provided the same functionality for Windows so that the same widgets could run in either environment.

It turns out that their little idea has spawned a lot of copycats. With the release of Apple’s OS X, they’ve included similar functionality called Dashboard. OpenSource efforts are pushing their own solutions with varying approaches: Mozilla’s XUL/XULRunner and WinBinder. Microsoft, of course, is not to be left out, so with Vista will come Windows Gadgets, Microsoft’s copy of the the technology. Similiar, too, is Google’s Gadget plug-ins to its Google Desktop.

There are several concepts that tie all these technologies together. It allows small simple applications to be easily distributed and used while allowing extremely simple development processes.
  1. Scripting language
  2. Simple packaging
  3. Common, available technologies
Implementation Language
Choosing a scripting language is essential to encouraging development of the little “applets” that proliferate in these environments. A simple text editor is all that is needed to compose the logic that makes these programs run.

All the Gadget and Widget approaches except for WinBinder use JavaScript as their native programming language. Since a large audience of developers have built their skills building powerful cross-platform web pages using JavaScript, support for that language minimizes the barrier to entry for that developer audience.

Packaging
The implementations typically include the implementation code files, resources such as image files, and metadata files that describe the characteristics of the little application. They might require a specific directory layout. For convenience, most can be packed into a single distributable file. And, because of its ubiquity they use the “zip” file format (originally made popular on PC platforms with PKZIP). Rather than using the .zip file type, it is usually changed to something specific; e.g., “.widget”, “.gadget”, “.jar”, etc.