$() || “ ??

While cleaning up some bash scripts tonight, I started to wonder which of the following two substitutions is clearer:

$ echo ${foo=$(ls)}
Desktop Documents Library Movies Music Pictures Public SUMS Sites ae play

or

$ echo ${foo=`ls`}
Desktop Documents Library Movies Music Pictures Public SUMS Sites ae play

I really think the second form is a bit more clear, though it could throw off people who get ` and ‘ mixed up! Choices, choices!

Default Disk Groups

Veritas Volume Manager comes with a wide variety of command line utilities, which can be used to create, delete and maintain Veritas objects. When operations are performed with the CLI and no disk group is passed to the “-g” (disk group to use) option, the command will default to using the value assigned to defaultdg. This value of defaultdg is stored in the /etc/vx/volboot file:

$ grep defaultdg /etc/vx/volboot
defaultdg oradg

If you would like to change the default disk group, you can use vxdctl(1m)’s “defaultdg” option:

$ vxdctl defaultdg oof

To verify that the value was changed, you can run vxdg(1m) with the “defaultdg” option:

$ vxdg defaultdg
oof

This can save a lot of typing when creating new Veritas objects!

Hardware redundancy

While reading through Mike Shapiro’s FMA presentation today, I came across two cool new hardware technologies. The first is FBDIMM, which Micron describes as:

Address/command soft errors can disrupt server performance and reliability. To help lessen their occurrence, Micron’s FBDIMMs incorporate an enhanced cyclic redundancy check (CRC) that provides greater data and address/command protection than traditional server modules.

Designers can also configure it to suit their particular applications. Providing an even greater defense, the bit lane fail-over correction feature identifies bad data paths and removes them from the operation. Together, these error detection methods dramatically reduce address/command soft errors.

The second technology is CPU chipkill, which Findany ISP describes as:

CHIPKILL – A technology developed by IBM for servers and other systems that demand high availability. It allows a computer motherboard and BIOS to detect problems with the computer’s memory and selectively disable problematic parts of the memory. Depending on the technology used, this technology may or may not require specialized memory chips.

Hopefully Fujitsu and Sun will integrate these technologies into their next generation APL server line.