Archive for January, 2006

IE7 for Web Designers: CSS & Standards Test Results (Updated)

Tuesday, January 31st, 2006

I downloaded the public beta of IE7 this afternoon. From a web designer’s perspective, I give it mixed marks. The browser appears to be stronger in its CSS standards support, though the jury is still out if the dream of coding once for all browsers will become reality.

Generally, my impressions are that the upgrade is a) sorely needed, and b) brings IE usability up to the level of Firefox–but not any further. It’s very obvious that the IE7 developers looked long and hard at Firefox and “borrowed” the best interface features. Under the hood, though, it still feels very much like the geriatric IE6.

Web Designers Notes:

The Good:

  • A cursory look at all of my clients’ existing sites shows that none broke; if you’ve made it work in IE6, chances are good that it will work in IE7 (see Newsvine in “The Bad” below for the glaring exception)
  • Spacing and padding in DIVs seems to be fixed IE6′s. Wahoo! No more Holly Hack!
  • The ancient DIV select bug (where text selection barfs in IE6 set in quirks mode if you try and select text across multiple, non-code-contiguous DIVs) seems to be fixed
  • PNG transparency support is in. A little victory, but a welcome one at that.
  • DHTML support seems as strong as it was in IE6. I’ll need to do further testing to see if we will still which JavaScript conventions IE7 uses. My guess is that this is status quo. At least nothing broke in my tests (see below).

The Bad:

  • The browser fails the Acid2 test horribly (see results); Microsoft has stated openly that complying with this test is not a priority and that they do not plan to comply by the final release of the browser. This is disappointing.
  • Support for custom list item (li) icons and spacing is very spotty (see screenshot). Looks like browser-specific CSS will still be required to get list items to draw correctly.

Major User Interface Omissions:

  • No Undo or Redo in forms
  • No ability to specify non-MSFT apps for defaults under the Tools > Internet Options > Programs menu. For instance, you cannot specify Dreamweaver as the default HTML editor even if it is the default app at the system level.
  • No Firefox-style inline find feature; they still use the old pop-up, one-search-at-a-time approach (image)

Aggravation:

  • Can’t install IE7 independently (!), which will make developing forward for IE7 while ensuring backwards compatibly with IE6 a royal pain.

My Tests:

Keeping in mind that these findings are only preliminary, here’s what I’ve done to test the new browser:

  • First, you can download the Beta on the MSFT Public Beta site. Be warned: the installation completely replaces your IE6 installation.
  • Failed: Loaded Newsvine. IE7 is very broken; spacing and padding are wacked, invisible DIVs abound, line items are out of whack (screenshots: 1 | 2 | 3)
  • Failed: Loaded Yahoo! Mail login page; line height and z-sorting seem to be broken (screenshot)
  • Failed: Acid2 Test (live test | Wikipedia Article | screenshot of IE7 render)
  • Passed: Loaded my clients’ sites; none broke (at least they didn’t with a cursory pass) – (site list available on my site here if you’re interested)
  • Passed: DHTML Menu support on par with IE6 and Firefox – (see menu on left sidebar of this site | see developer’s demos [note: I have nothing to do with this site; I have just used their DHTML menu in the past and have found it to be a good test for cross-browser DHTML & JS support])
  • Passed: PNG support (quick & ugly test here)

Note: I should mention I don’t have an axe to grind. I am certainly open to the possibility that I’m wrong on findings in this test, and I welcome debate. Keep in mind that my findings are only preliminary and I certainly intend to do more research. Please feel free to comment on this post.

Change Log:

  • 02/01/2006 – added Yahoo! results under “My Tests”

Why the DMCA Needs Revision

Sunday, January 29th, 2006

With the best of intentions in 1998, Congress passed the Digital Millennium Copyright Act (“DMCA”). The law was passed in an admirable attempt to prevent digital piracy. Few could have foreseen, however, how radically the digital media landscape has changed in the years since the DMCA was enacted. Unfortunately, the law has proven to have unintended consequences; consequences that severely undermine consumers’ rights. A revision of the DMCA is sorely needed if the digital media revolution is to continue.

The unintended consequences of the DMCA stem specifically from provisions in the law that a) prohibit the act of circumventing copyright protection, and b) outlaw the manufacture, sale and distribution of tools or technology that make circumvention possible. While these protections sound reasonable, in reality, they have proven to favor media companies’ interests to the near-exclusion of consumers’ rights. This law has made it illegal to provide legitimate oversight of onerous and often dangerous copy protection schemes. It has had a chilling effect on security research, and most of all, it has proven ill-equipped to protect either copyright holders’ or consumers’ rights as the digital landscape has evolved.

Case in point: the recent and well-publicized Sony BMG copy-protection debacle. Under the DMCA, not only was it perfectly legal for Sony BMG to install a poorly written and dangerous rootkit on users’ systems without their knowledge or permission, it made it illegal for Mark Russinovic, the man credited with the discovery of the flaw, to share his findings with the world. The writers of the DMCA surely did not intend to inoculate corporations from onerous and potentially harmful behavior. Nor could they have intended to make it illegal for anyone to research and publicize warnings against or steps to work around the problem. Had Sony BMG not specifically waived their right to exercise their protection against the dissemination of such information, it would be illegal for anti-virus/anti-spyware companies to research and write routines that detected and repaired the rootkit.

The Sony BMG debacle is just the latest in a string of incidents that have revealed the dark side of the DMCA. Did you know that the DMCA also makes it illegal for you to make legitimate backup copies of your personal DVDs? That it is illegal for a DVD player manufacturer to provide you with the means to fast-forward through commercials and other materials preceding the feature presentation of a DVD (so long as those materials are designated as un-skippable)? How about the fact that the DMCA makes it a crime to provide software that allows you to put copy-protected music on your iPod?

Under the DMCA as it is currently written, all of these things are illegal, yet they are certainly not aligned with consumer interests and desires. Since when is it logical that pressing the fast-forward button on your remote can send someone to jail? Since when is it right that someone who does legitimate security research could end up facing a lengthy prison sentence?

What can be done to protect our rights? Unfortunately, very little. Corporations and well-funded organizations such as the MPAA and the RIAA have been feasting at the all-you-can-eat buffet for too long. Interests are vested. Money is at stake. And history has shown time and time again that the consumer inevitably looses such battles.

All is not lost, however. There are hints and signs that some in Congress are waking up to the realities of the situation. My hope is that every single representative and senator goes out and buys a video iPod and a DVR. Then and only then will they understand the power of time-shifted media consumption. Then and only then will they experience the appeal of whenever-wherever entertainment that consumers want and will increasingly demand. Then and only then will our representatives understand on a personal level that the DMCA is tragically misaligned with the interests of the American Consumers who voted them into office.

So with the belief that knowledge is power and reform is possible only when the outcry becomes loud enough, there are things you can do:

  • Write your representatives. Both the House and Senate make it easy for you to do this online. Or you can use the Electronic Frontier Foundation‘s form letters found in the EFF’s Action Center. Either way, let your representative know how you stand on the issue.
  • Learn more about the topic. The Go Deep section below provides links to various articles on the topic.
  • Debate the topic. Talk about it with friends and family. Post about it in your blogs and forums.
  • Here’s the easiest one: continue to do what you are already doing. If you enjoy watching your favorite shows on you DVR wherever you like, continue to do so. If you like skipping commercials and unwanted trailer trash, skip them. If you like podcasts, continue to download and listen to them. If you like listening to your music whenever and wherever you want, continue to do so. The dollars you spend on these gadgets and forms of entertainment will force the market in a favorable direction. Laws will eventually and inevitably catch up.

Go Deep:

Is Nielsen Still Relevant?

Friday, January 27th, 2006

I don’t know if this is a function of my age and interests being out of touch with the rest of America, or simply a fact that my media habits have drastically changed in the past year, but I find that the TV shows I’ve come to know and love are being canceled left and right.

Which brings me to the question: is the Nielsen Rating System relevant in the TiVo age? Is a sizable group of people?¢‚Ǩ‚Äù20- and 30-Somethings with enough disposable income to buy our TiVos, build our MythTVs, watch our video iPods, and otherwise consume our media in a time-shifted fashion?¢‚Ǩ‚Äùbeing passed by?

Case in point: Firefly. This great series was tragically canceled before its time. Yet brisk DVD sales of the series and Serenity, Firefly’s big screen counterpart, and consistently high Netflix ratings would seem to indicate that there are at least a few million fans out there.

Another case in point: Futurama. This is another case of a great show fitting squarely in this demographic that was canceled (again by Fox, no less). Yet the show enjoys solid ratings in reruns on the Cartoon Network’s Adult Swim and frequent torrent downloads. There is even talk of the show being picked up again by Fox. This would seem to indicate that a larger audience exists for the show than previously shown by Nielsen.

I’m sure there are more examples (Family Guy and Arrested Development (which is on the chopping block) come to mind) of grossly underestimated audience interest in a show. But the television industry is shackled to an antiquated rating system that is wholly ill-equipped to monitor content delivery mechanisms other than traditional network and cable broadcasts. This leaves a whole generation of early adopters and an emerging group of gadget-heads out in the cold.

Go Deep:

Adobe CS vs CS2: Worth the Upgrade?

Friday, January 27th, 2006

In a word, no.

If you are a web designer who currently owns the first Creative Suite, save your money. CS2 is not worth the upgrade.

As an Adobe Certified Expert (ACE), I have been using the various products currently bundled in the Adobe Creative Suite for years; more than a decade in the case of Photoshop. I often joke that I use Photoshop more than I do Word. (I know you can barely contain yourself with laughter, but do, please, try to pick yourself up off the floor).

As a web designer, the Photoshop and Acrobat, and to a lesser extent Illustrator, are vital tools in my workflow. So when it came time to upgrade to the latest Creative Suite, CS2, I did my research.

On the positive side, CS2 offers several improvements, most notably Adobe Bridge which replaces the file browser with some capable and worthy feature updates such as improved thumbnail handling and advanced catalog management.

New features in Photoshop include a new vanishing point tool, improved multilayer support, and other GUI enhancements. I find that the vanishing point tool, while clever, is difficult to use and, from a practical sense, useless in all but a few esoteric applications. I mean really, how often do I need to add a window to the side of a barn?

But in the world of web design, there’s very, very little, if anything, I need to do on a daily basis that can’t be done well in the first version of Creative Suite. Photoshop is most definitely not worth the upgrade.

Acrobat is unchanged between the suites, assuming you purchased or upgraded to CS after Adobe released Acrobat 7.

Illustrator does provide a number of useful improvements?¢‚Ǩ‚Äùmost notably live trace and cross-application support with Photoshop?¢‚Ǩ‚Äùbut, again, since I do very little illustration or vector work that can’t be done in Photoshop, these features are not worth the cost of upgrading.

InDesign has many improvements. If you do a lot of page layout work in addition to your web design, then consider an upgrade for this purpose alone. However, here again, I find that there is little that I couldn’t do in CS that I need to do in the course of my daily web design work.

Finally, I don’t use GoLive and haven’t for years. Especially since they stopped supporting application development a few years back. In that light, the GoLive improvements seem to take this product still further away from application development, focusing instead on cross product support with Smart Objects and direct export from InDesign. If the ability to export a static page directly from your InDesign layout is important to you, then GoLive is worth consideration. However, you are probably not reading this blog if it is, so I’ll move on.

Lastly, Adobe’s built in file management and version control system, Version Que, is a bit onerous for my purposes. I opt, instead, to use the powerful Subversion / TortoiseSVN combo to handle all of my version control in Windows.

So, in all, the changes and improvements in Adobe Creative Suite 2, while nice to have, are hardly worth the price of an upgrade from CS. Save your money and buy the upgrade to Macromedia Studio 8 instead.

What makes you popular may kill you in the end

Thursday, January 26th, 2006

Like most, I’m impressed with Newsvine. The featureset seems rich and the content broad enough to cover my interests. In a word, I Digg it.

And therein lies the problem. I love Digg, and I love how it’s aggregated news I care about into one place. However, I’ve found that the very community that makes sites like Digg and Newsvine so strong will ultimately be the downfall of social sites such as these.

How many articles have you read where the posts and comments turn negative so quickly. Turf wars emerge; the natives vs. the newcomers. Comments on a story?¢‚Ǩ‚Äùespecially a controversial one?¢‚Ǩ‚Äùcan get out of hand quickly, and a few sour or immature comments can ruin the experience for the rest of us. Take this Digg story as an example.

For this reason, I’m hopeful that Newsvine will learn from these lessons and place strong and easy controls on the site to resolve inappropriate comments and enforce their own Code of Conduct. Likewise, I’m hopeful that Newsvine will not devolve into a clique-plagued state; nothing will drive the crowd away faster.

Disaster Strikes: OnTrack to the Rescue

Monday, January 16th, 2006
Brief:
Lost your data? Look no further than OnTrack’s EasyRecovery?¢‚Äû¬¢ DataRecovery

I’m very careful with my data backups. To the point of being paranoid.

Now, I know I’m not paranoid enough.

Yesterday, the RAID array in my main system died. No worries, right? I’ve religiously backed up all my data, and was even able to do a full backup through Retrospect before the drives failed completely.

At Dell’s insistence, I blew away my RAID volume and created a new one, forcing me to reinstall Windows. I’ve you’ve ever installed Windows XP from scratch, you’ll be familiar with the screen that asks you which partition you want to install Windows in.

Here’s the problem: my RAID drives and my backup drive are all nearly the same size. What did I do? You guessed it. Instead of selecting my RAID for Windows installation, I accidentally selected my backup drive.

Two clicks and one near heart attack later and my entire world vanished. Gone. Bye-bye.

Now, I could be mad at Microsoft. I would be justified in criticizing an interface that would allow such a complete and catastrophic data loss with two clicks. I could be mad at Dell at telling me to reset my RAID array (turns out it wasn’t necessary in the first place; the tech was just following a script). Ultimately, though, I have to be mad at myself for not listening to my paranoia when I needed it the most.

Lessons learned here:

  • Don’t rely on a single backup. Back super-critical files (your source tree and Outlook PST files especially) to two separate locations.
  • Be very, very, very careful during the Windows installation process. Don’t think that Microsoft will provide you with a safety net when you need it the most.
  • In the event of total data loss, drink heavily. It helps.

Now that that part of the story is told, this article is really about what to do in the event of a data disaster. I’m glad to say that this story has a good ending in that I was ultimately able to recover my data. It took several hundred dollars, many hours, and a few years off my life expectancy, but I was ultimately able to recover the data.

First, a quick description of my problem: I deleted the partition on my drive. Very simply, this erases the information on the drive that tells your computer where each file starts and stops on the physical drive, along with other information. Erasing the partition does not erase the data; the ones and zeros are still there on the platters. Seems like it would be a simple thing to restore this, right? Wrong. Microsoft gives you no way to do this, and in fact tells you outright in the Windows XP help files that it is simply not possible. They are wrong.

First, if you enter a Google search for ‘restore partition,’ your first dozen or so entries are for the same program: Active@ Partition Recovery. Bottom line, save your time and money and skip APR. I’m sure that the makers of this program are able to get it to work in certain circumstances, but in my case, the program couldn’t even find my lost partition, let alone recover it.

Next, I tried a program called DFSee. Unlike APR above, DFSee has a free evaluation version that is not crippled where it counts, and it actually did a good job of identifying my lost partition. The problem is that DFSee is an app only an assembler programmer could love. And it does not actually make identifying and restoring a drive an easy process, opting instead to output 6 log files that must be poured over in order to generate secondary scripts. In their defense, they say many times in the documentation that recovery is available as a service included with your paid registration of the product. In the end, though, I opted to move on. DFSee is just too techy for anyone without a CS degree.

Then I remembered reading in the latest PC Magazine about data disaster recovery. The article focused on a company called OnTrack. This is a large, professional organization that specializes in data recovery and exudes exactly the white lab-coat and clean-room forensic image you want in your head when you have such a problem.

The good news is that short of sub-atomic obliteration of the physical disc platters, OnTrack can get your data back. Like most things in life, it’s a matter of cost. In my case, my data loss was a relative walk in the park, so I didn’t need their personal assistance which would have run well into the thousands.

Fortunately, they offer an inexpensive do-it-yourself alternative called EasyRecovery?¢‚Äû¬¢ DataRecovery. This allows you to scan your failed drive and determine if you will be able to restore your data using the program. If so, then you plop down either $89 for a version that recovers 25 files at a time, or $199 for a full version that will restore all of your lost data.

This may seem like a lot, but compared to the time, inconvenience, and heartbreak of losing all of your data, the money is worth it.

Identify that Font

Saturday, January 14th, 2006

I have over thee thousand fonts on my system. Identifying the specific font used in a graphic–or even my own past work–can be tricky.

This free tool helps you identify a particular font. It’s not perfect, but it is certainly a start:

WhatTheFont : Font Finder Tool

Color Scheme Tool

Saturday, January 14th, 2006

Behr's Color Smart color scheme explorer

I’m not one to picky about where I find inspiration or resources. This one falls under that category:

Behr (the paint maker) has an excellent color explorer that is a fantastic way to develop color schemes for your sites:

http://www.behr.com/behrx/workbook/

UNIX for Windows Users

Saturday, January 14th, 2006

Credit: This handy list originally appeared on the UnixWare web site in their article, “DOS command equivalents,” and is reproduced here for private use only.

The following is a list of Windows DOS commands and their Unix equivalents:

DOS command (A-M) What it does UNIX system equivalent Notes
cd change directories cd(1)  
cls clear the screen clear(1)  
copy copy files cp(1), tar(1) Use cp to copy files and tar to copy files or directories
onto floppy disks or tapes.
date display the system date and time date(1), cal(1) On the UNIX system, date displays the date and the time. cal displays the date, the time, and a 3-month calendar.
del delete a file rm(1) Be careful when using rm with wildcard characters, like rm *.
dir list the contents of a directory ls(1) There are a variety of options to ls including ls -l to
see a long listing and ls -f to see a listing that indicates file
types.
edlin line editor ed(1), ex(1), vi(1) vi is a full-screen text editor with powerful search and replace
functions. ed and ex are predecessors of vi.
fc compare two files diff(1), diff3(1), cmp(1) diff compares two text files. diff3 compares three text
files. Use cmp to compare binary files.
find find text within a file grep(1) grep (global regular expression parser) finds text within a file.
The UNIX system’s find(1) command finds files.
format format a disk format(1M) See /etc/default/format for the default drive to format. The format command formats a disk for use with UNIX system files.
mkdir make a directory mkdir(1)  
more display output one screen at a time more(1)  
print print files in the background lp(1) Use lp filename & to print in the background.
You can run any UNIX system command in the background by adding & (ampersand) to the end of the command line.
ren rename a file mv(1)  
rmdir remove an empty directory rmdir(1) Use rm -r to remove a directory that is not empty.
sort sort data sort(1)  
type display a text file cat(1), more(1)  
xcopy copy directories tar(1) Use tar if you want to copy directories onto disk or tape.

Unix Commands

Saturday, January 14th, 2006

Credit: This page appears in the Dreamhost knowledgebase and is copied here for private use only.

Some common tasks you might need to know (click on the task to visit that section):

Finding Out Where You Are (pwd)

First, you may want to know which directory you’re in. To do this, you run the pwd command, which shows where you are. From your prompt, you would type pwd and hit return.

In response, it will give you what is known as a pathname. If you have just telnetted into your account, most likely it is something like /home/fred (where fred is your username). This means that you are in the fred subdirectory of the homedirectory. The fred directory is known as the root directory of your account.

Finding a File or Directory (find)

Use the “find” command:

Usage: find [path...] [expression]

Finding a Program (which)

Use the “which” command:

which [options] [--] programname [...]

Listing Directory Contents (ls)

Now, let’s say you want to know what is inside of a given directory. To do this, type ls and hit return. This will give you a short listing of the contents of your current directory (remember, you can see what directory you are in by using the pwd command).

You can get a more descriptive list of your directory contents by typing in ls -al, which gives you the permissions for each item, the owner, and various other pieces of information.

Changing Directories (cd)

You can change from your current directory in several ways:

  • If you wish to change into a directory within your current directory, type in cd dirname and then hit return, where dirname is the name of the directory you wish to change into.
  • If you decide you wish to go back a directory, just type cd .. and hit return. This will take you back a step.
  • You can also change into any directory with the cd command by providing a full pathname of the directory you wish to go to. So, if you wanted to change into your home directory from any location on the server, you would type cd /home/fred, assuming your username is fred.

Deleting Files (rm)

To delete files, you use the rm command. For example, if you have a file in your current directory named testfile, you would delete it by typing rm testfile then hitting return. You can also delete files anywhere on the system by providing a full path to the filename, assuming you have the correct permissions to do so. Note that this operation is not reversible, so make sure you really want to delete the file in question.

Deleting Directories (rmdir)

The rmdir command allows you to delete directories, just as you have done with files. To delete a directory, type in rmdir dirname and hit return (assuming the directory is called dirname). As with rm and cd, you can provide a full pathname to the file. Note that you cannot delete a directory unless it is empty with this command, although you can do it with a variation of the rm command. Simply type rm -r dirname instead. Note that both of these actions will delete the directory, and cannot be undone.

Running A Program

There are a few different ways to run a program on the server. Generally, you should simply type in the full pathname of the program and hit return. If you are in the same directory as the executable itself, you can simply type in ./progname and hit return (assuming it is called progname). Some utilities are set up so that they can be run from anywhere, and only require that you type in their name and hit return. In fact, all of the above commands are actually programs residing on the server.

Listing Running Processes (ps)

The ps command allows you to see which executable programs you are currently running. Typing in this command and hitting return gives you a readout with various details, such as the name of the program, the process ID, and how long the process has been running.

Killing A Running Process (kill)

The kill command allows you to terminate a running process. Using the ps command explained above, find the process ID (PID) of the process you wish to kill, and then type in kill 1234 (where 1234 is the PID of the process). This will terminate the process.

Reading The Manual (man)

When you need help with a given command, you can run the man program. It provides a way to get help with all sorts of different programs and utilities on the server. To use it, type in man command (where command is the name of the command you need help with). For example, man ls would give you some detailed help on using the ls command. Although man can be somewhat cryptic and may contain far more information than you really need, it is very complete, and often proves valuable. Many utilities, including the ones mentioned above, have special features that can only be discovered by viewing their man page.

Many programs have a built in help feature, which you can access by using the –help flag. For example, typing in ls –help will give you help with the ls command. Often, this provides a less detailed but easier to understand display than the man command.

Getting The Date And Time (date, cal)

One somewhat handy feature that you can use is the date function. If you type in date from the command line and hit return, you will be presented with the current date and time. There are many ways to customize the formatting of this display, which you can find by typing in date –help instead. A similar utility, used by typing in cal and hitting return, provides you with a calendar for the current month. Typing in cal -y extends the command to provide a calendar for the entire year.

Changing Permissions (chmod)

To change read, write, and execute permissions for a given file or directory, you must use the chmod command. This command allows you to set permissions for a given file, and is often used when writing CGIs for use with your web site. For full details on many ways to use this command, you should visit the following web site:

http://catcode.com/teachmod/index.html

Generally, most CGI scripts should by set to mode 755, which you can do by typing in chmod 755 filename.cgi, assuming the file is called filename.cgi and is in the same directory.

Moving or Renaming Files/Directories

To move or rename files or directories, you should use the mv command. To move a file or directory from one directory to the other, you should type in mv source destination and hit return, where source is the file you wish to move, and destination is the directory to which you are moving it (usually an absolute to relative pathname). Renaming a file/directory is the same process, except you provide a different file or directory name for the destination.

Using A Text Editor (pico, vi, emacs)

For most people, the use of the pico text editor is sufficient for most tasks To use it, just type in pico filename (where filename is the name or path to a file you wish to open) and hit return. This will allow you to use pico, an easy-to-use text editor. We recommend this to most of our users.

Others prefer more advanced text editors, such as emacs and vi. Although more difficult to master, these editors are powerful once you do learn how to use them. To open a document with these editors, type in emacs filename or vi filename, where filename is the file you wish to open.

Getting Information On A Domain (whois)

You can instantly get information on a given domain name by using the whois command. This allows you to see who is registered to a given domain, when it was created, who to contact at that domain, etc. This is also a useful way to see if a domain you have registered has been registered by Internic yet. To use it, simply type in whois domain (where domain is the domain name you are checking on, ie dreamhost.com) and hit return.

Various Net Services (lynx, telnet, ftp, gopher)

A command line based web browser is available for your use called lynx. Although it is obviously devoid of any graphics display, many swear by the speed in which lynx allows you to go from site to site. To use lynx, simply type in lynx http://www.sitename.com (where the URL is to a site you wish to visit) and hit return.

You can also telnet in to another server from your shell account by typing in telnet hostname, where hostnam is the name of the server you are connecting to. FTP and Gopher (for those few gopher sites still left out there) work the same way, but with the ftp and gopher commands, respectively.