Samsung SyncMaster 2233rz, NVIDIA 3D Vision, Linux, and Pymol

I’ve been tasked with getting a3d visualizations working on a linux machine (running Centos 4.6) for Pymol and a variety of other 3d visualization software. CRT monitors capable of 3d are difficult, if not impossible to purchase. In the LCD range, we got the Zalman monitor working, but it was not very clear. So instead, we went with the Samsung SyncMaster 2233rz monitor with the NVIDIA 3D Vision, on Centos 4.6 machine.  It works beautifully!

  1. Start with a Centos 4.6 linux machine.
  2. Power off and install the NVIDIA Quadro FX3700 graphic card.
  3. Hook up the NVIDIA 3D Vision hardware (both USB and 3-pin)
  4. Install the graphic card driver. I used version 195.36.15 from Nvidia.com.
  5. Follow/Mimic the /etc/X11/xorg.conf file.

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 1.0  (buildmeister@builder75)  Fri Mar 12 01:44:55 PST 2010

Section “ServerLayout”
Identifier     “Layout0″
Screen      0  “Screen0″ 0 0
InputDevice    “Keyboard0″ “CoreKeyboard”
InputDevice    “Mouse0″ “CorePointer”
Option         “Xinerama” “0″
EndSection

Section “Files”
FontPath        “unix/:7100″
EndSection

Section “Module”
Load           “dbe”
Load           “extmod”
Load           “type1″
Load           “freetype”
Load           “glx”
EndSection

Section “InputDevice”
# generated from data in “/etc/sysconfig/mouse”
Identifier     “Mouse0″
Driver         “mouse”
Option         “Protocol” “IMPS/2″
Option         “Device” “/dev/input/mice”
Option         “Emulate3Buttons” “no”
Option         “ZAxisMapping” “4 5″
EndSection

Section “InputDevice”
# generated from data in “/etc/sysconfig/keyboard”
Identifier     “Keyboard0″
Driver         “kbd”
Option         “XkbLayout” “us”
Option         “XkbModel” “pc105″
EndSection

Section “Monitor”
# HorizSync source: edid, VertRefresh source: edid
Identifier     “Monitor0″
VendorName     “Unknown”
ModelName      “Samsung SyncMaster”
HorizSync       30.0 – 190.0
VertRefresh     56.0 – 125.0
Option         “DPMS”
EndSection

Section “Device”
Identifier     “Device0″
Driver         “nvidia”
VendorName     “NVIDIA Corporation”
BoardName      “Quadro FX 3700″
EndSection

Section “Screen”
Identifier     “Screen0″
Device         “Device0″
Monitor        “Monitor0″
DefaultDepth    24
Option         “TwinView” “0″
Option         “Stereo” “3″
Option         “AddARGBLXVisuals” “True”
Option         “metamodes” “1680×1050 +0+0; 640×480 +0+0; 1680x1050_120 +0+0″
SubSection     “Display”
Depth       24
EndSubSection
EndSection

What did not Work!

  1. Nvidia Quadro FX1400 instead of the Nvidia Quadro 3700
  2. NuVision emitter and goggles instead of the NVIDIA 3D Vision
  3. Compatability problems with Synergy

More Helpful References!

  1. 195.36.15 XConfig Options, direct from Nvidia
  2. 3D from Linux to Samsung 2233RZ LCD forum post!

NFS Share Directory in Solaris 7

I had the task to share a folder on a Solaris 7 machine so the files could be accessed from a modern day linux box. After some major research on over half a dozen sites, I found that I would need to add the following line in bold to a file called dfstab in the /etc/dfs/ directory of Solaris 7.

share -F nfs -o ro,root=[IP ADDRESS] [SOLARIS7 DIRECTORY]

[IP ADDRESS] = I used the address 10.10.10.10 mainly because the machine with IP address 10.10.10.10 needed to have root access to all files and folders in the directory. This effectively wipes out set permissions currently applied to files and folders.

[SOLARIS7 DIRECTORY] = I used /export/directory, as this is the directory of the folder I wanted to share on the Solaris machine.

After saving the dfstab file, you just need to restart the nfs server. From the command prompt, type the following in this order:

  1. /etc/init.d/nfs.server stop
  2. /etc/init.d/nfs.server start

At this point, the folder can be mounted from another linux box, via the /etc/fstab file for example!

Encode HyperLink in GridView using Custom Expression Binding

In my C# Web Application, I have a GridView with a TemplatField. Within the TemplateField is a HyperLink control. My goal is to bind this HyperLink control using Custom Expression Binding. I want the NavigateUrl to point to:

Visit.aspx?name=XXX

XXX in the link above is the database column name. My first instinct is to use the Custom Expression Binding method called Eval() to bind this column. An example of the use of this semi-working method below should be included in the <asp:HyperLink> control.

<asp:HyperLink NavigateUrl=’<%# “Visit.aspx?name=” + Eval(“name”) %>’></asp:HyperLink>

I say this semi-works because the evaulted “name” must not contain any special characters like the ampersand (&). Then the next idea is trying to encode the Eval(“name”). This however was not entirely clear. After researching, I found the following solution.

<asp:HyperLink NavigateUrl=’<%# “Visit.aspx?name=” + HttpUtility.UrlEncode(Eval(“name”).ToString()) %>’></asp:HyperLink>

And this is how to properly encode a hyperlink url that is bound using Custom Expression Binding. Though this may not be visible from the browser, the web page source will reveal that the ampersand (&) has been replaced with %26, which is its equivalent.

The last step on the following page my require decoding the encoded url.