Tuesday, March 25, 2008

C Programming under Tru64 UNIX

A crash course in C programming under Tru64 UNIX :-). You've got a text editor - ed(1), of course, make(1), install(1) and a C compiler - cc(1) - and you're good to go.

Don't like ED? Well, Tru64 also comes with vi and XEmacs by default, so no worries.



All you need to do now is write a Makefile:

% ed Makefile
a
CC=cc

hello: hello.o
$(CC) -o $@ $<

hello.o: hello.c
$(CC) -c -o $@ $<

clean:
rm -f hello hello.o
.
w
q

% make
cc -c -o hello.o hello.c
cc -o hello hello.c
% ls
Makefile hello hello.c
% hello
Hello, Tru64 UNIX!
% make clean
rm -f hello hello.o
% ls
Makefile hello.c

Monday, March 24, 2008

Building Git Version Control System on AIX, HP-UX and Solaris

Git is a fast version control system originally designed for the Linux kernel and written by Linus Torvalds.
Need git on AIX or HP-UX? Here's how:

HP-UX PA-RISC 2.0:

First, you're going to need a compiler (GCC), GNU make (gmake) and GNU coreutils (install). swinstall the dependency repositories first:
coreutils 6.9 coreutils
gcc 4.2.3 gcc
libgcc 4.2.3 libgcc
libiconv 1.12 libiconv
make 3.81 make
perl 5.8.8 perl
zlib 1.2.3 zlib

Untar the package and start building:

$ ./configure --with-iconv=/usr/local/bin

Edit the Makfile:

CC = gcc
AR = ar
RM = rm -f
TAR = tar
FIND = find
INSTALL = /usr/local/coreutils/bin/install

# sudo gmake NEEDS_LIBICONV=1 NO_TCLTK=1 install prefix=/usr/local

$ which git
/usr/local/bin/git
$ uname -sr
HP-UX B.11.11
$ git --version
git version 1.5.4.4


Building GIT on AIX 5.3 POWERPC:

Install dependencies and GCC, gmake, GNU coreutils (install), etc:

gcc-4.0.0-1 libgcc-4.0.0-1 libstdc++-4.0.0-1 libstdc++-devel-4.0.0-1 gcc-c++-4.0.0-1 readline-4.3-2 readline-devel-4.3-2 zlib-1.2.3-3 zlib-devel-1.2.3-3 make-3.80-1 unzip-5.51-1 flex-2.5.4a-6 bison-1.875-3 popt-1.7-2 gettext-0.10.40-6 expect-5.42.1-3 tcl-8.4.7-3 tk-8.4.7-3 coreutils-5.2.1-2

$ ./configure

vi Makefile:

CC = /opt/freeware/bin/gcc
AR = ar
RM = rm -f
TAR = /opt/freeware/bin/tar
FIND = find
INSTALL = /usr/linux/bin/install
RPMBUILD = rpmbuild
TCL_PATH = /opt/freeware/bin/tclsh
TCLTK_PATH = /opt/freeware/bin/wish

# gmake NO_MSGFMT=1 install prefix=/opt/freeware

$ uname -a
AIX aix 3 5 004518FC4C00
$ which git
/opt/freeware/bin/git
$ git --version
git version 1.5.4.4

Solaris 10:

Solaris 10 comes with gcc, gmake and GNU tools in /usr/sfw/bin, but you'll need ginstall from GNU coreutils (you can get it from Solaris Freeware).

$ ./configure

Edit the Makefile - set the path to "ar", "gcc" and GNU "install".

CC = /usr/sfw/bin/gcc
AR = /usr/ccs/bin/ar

RM = rm -f
TAR = tar
FIND = find
INSTALL = /opt/sfw/bin/install

Look for ifeq ($(uname_S),SunOS) and set INSTALL to /opt/sfw/bin/install also.

# gmake NO_TCLTK=1 NO_CURL=1 install prefix=/opt/sfw

% uname -a
SunOS ibmsolaris 5.10 Generic_127112-11 i86pc i386 i86pc

% git --version
git version 1.5.4.4

Sunday, March 23, 2008

IBM Lotus Symphony - Free Office and Productivity Suite built on Eclipse

IBM Lotus Symphony is a free ODF (Open Document Format) compatible Office suite from IBM. It comes with a word processor, a presentation application and a spreadsheet application (basically replacements for Words, Excel and Powerpoint).

It's a nice change of pace from StarOffice / OpenOffice, and it's free for both Windows and Linux platforms.

Lotus Symphony is build on the Eclipse platform, and you can use Eclipse to develop various plugins and addons.

It can also open .doc files written by Office 97,2000,XP and 2003:



Powerpoint presentations and even OpenOffice presentations:



And of course .xls files:

Friday, March 21, 2008

GNS3 - Cisco Virtual Lab with Dynampis, Dynagen, Idle-PC, PEmu,

GNS3 - Graphical Network Simulator - is a Cisco router and firewall simulator based on ns 3 and Dynamips for Windows, Linux, UNIX and MacOS systems.

It contains a complete Cisco lab solution, including Dynamips, Dynagen, Idle-PC, PixEMU and a graphical design tool.



It can be used to design home labs and training for CCNA, CCNP, CCIP or CCIE certifications or testing configurations.

Runing Solaris SPARC software on x86-64

You can run Solaris SPARC software on Solaris x86-64 (and even Linux x64 and Itanium).

Here is Solaris 10 u4 x86-64 running Acrobat Reader 8.1.2 SPARC via Transitive QuickTransit Solaris/SPARC to Solaris/x86-64 cross-platform virtualization.



Install QuickTransit, start the daemon and run SPARC software. It's as easy as that.


# /etc/init.d/QuickTransit start
Starting /usr/sbin/cron
cron is already running

% uname -simpr
SunOS 5.10 i86pc i386 i86pc

% runsparc
ibmsolaris% uname -simpr
SunOS 5.10 sun4u sparc SUNW,Sun-Fire-V210



Some performance benchmarks using distributed.net Solaris SPARC and x86 clients:

Solaris SPARC emulation:
% runsparc ./dnetc -benchmark

distributed.net client for Solaris Copyright 1997-2004, distributed.net
RC5-72 SPARC assembly by Didier Levet and Andreas Beckmann
Please visit http://www.distributed.net/ for up-to-date contest information.


dnetc v2.9009-494-CTR-04081422 for Solaris.
Please provide the *entire* version descriptor when submitting bug reports.
The distributed.net bug report pages are at http://www.distributed.net/bugs/

[Mar 21 14:43:32 UTC] RC5-72: Running micro-bench to select fastest core...

[Mar 21 14:44:04 UTC] RC5-72: using core #5 (AnBe 2-pipe).
[Mar 21 14:44:23 UTC] RC5-72: Benchmark for core #5 (AnBe 2-pipe)
0.00:00:16.34 [1,484,758 keys/sec]
[Mar 21 14:44:43 UTC] OGR-P2: Benchmark for core #0 (GARSP 6.0)
0.00:00:16.86 [8,291,796 nodes/sec]


Solaris x86 native client:


% ./dnetc -benchmark

distributed.net client for Solaris Copyright 1997-2006, distributed.net
Please visit http://www.distributed.net/ for up-to-date contest information.


dnetc v2.9013-500-CTR-07070322 for Solaris.
Please provide the *entire* version descriptor when submitting bug reports.
The distributed.net bug report pages are at http://www.distributed.net/bugs/

[Mar 21 14:45:19 UTC] Automatic processor type detection found
an Intel Pentium 4 processor.
[Mar 21 14:45:19 UTC] RC5-72: using core #6 (GO 2-pipe).
[Mar 21 14:45:37 UTC] RC5-72: Benchmark for core #6 (GO 2-pipe)
0.00:00:16.33 [8,054,867 keys/sec]
[Mar 21 14:45:37 UTC] OGR-P2: using core #4 (GARSP 6.0-asm-rt1-mmx-amd).
[Mar 21 14:45:57 UTC] OGR-P2: Benchmark for core #4 (GARSP 6.0-asm-rt1-mmx-amd)
0.00:00:17.03 [28,523,204 nodes/sec]


So performance on my Intel(R) Pentium(R) 4 CPU 3.40GHz LGA775 is on par with a UltraSPARC running at 700Mhz or so. Still, that's pretty good.

The best part is, you can run SPARC-only software like this NX client:

Thursday, March 20, 2008

OpenGL DooM on Solaris

Nothing quite like DooM to start the day :-).



prboom, an open source OpenGL DooM engine works quite well on Solaris, and it can be used with any DooM or Hexen / Heretic .WAD file (including some opens source content like FreeDOOM).



If you want fully open source content, you can use ioQuake3 + OpenArena or prboom and FreeDOOM.

So there you go, StarCraft, Quake 1,2,3, OpenArena, Doom 1,2, Heretic, Hexen and just about any DS game (FreeDOS / DOSBOX) will work just fine on Solaris. Not to mention things you can with Wine or just fine in VirtualBox.

StarCraft on Solaris 10

Want to play some games other than nethack or quake 1/2/3 on Solaris 10? Try this:



While you can also use Wine or some emulator, or VirtualBox virtualization, rdesktop will work just as well:

% /opt/csw/bin/rdesktop -T StarCraft -D -b -E -a 8 -x l -5 -g 640x480 SomeWindowsBox
If you want to play in full screen mode (-f) you're going to have to set your resolution to 640x480 :-).
% /opt/csw/bin/rdesktop -D -f -T StarCraft -b -E -a 8 -x l -5 -g 640x480 SomeWindowsBox

Tuesday, March 18, 2008

Windows Vista Service Pack 1 - Standalone and Windows Update released

Windows Vista Service Pack 1 was released to the general public via Windows Update and as a Standalone pack.

Download Windows Vista SP1.

Skype VoIP on Solaris using BrandZ + CentOS Linux

Now that we've got a CentOS BrandZ Linux container and OSS audio drivers on Solaris, we can run Skype on the BrandZ container, and ssh -X skype. Of course, it's a lot easier if you're emulating Linux 2.6 and running CentOS 5 or some newer distribution, but let's stick to more "tested" software for the moment.



You're going to have to install the dependencies first:
# yum install libstdc++-ssa

And so on.

And you're going to have to use and older version of Skype. But no worries. At least it gets the job done.

Sound Drivers on Solaris 10

If you need audio on your Solaris 10 workstation, you can install OSS - Open Sound System.

# pkgadd -d oss-solaris-v4.0-1014-i386.pkg
all
Open Sound System installation complete
# osstest
Sound subsystem and version: OSS 4.0 (b1014/200802281506) (0x00040003)
Platform: SunOS/i86pc 5.10 Generic_127112-10

*** Scanning sound adapter #-1 ***
/dev/oss/ich0/pcm0 (audio engine 0): Intel ICH7 (27DE)
- Performing audio playback test...
OK OK OK

*** All tests completed OK ***

You may need to log out of JDS and log in again to get the mixer working (or just restart the widget).

Mounting Linux NFS shares in Solaris 10

First, export a filesystem on your Linux box (add it to the exports file, and exportfs). Make sure the kernel-nfs server service is started.

# /etc/init.d/nfs-kernel-server start
Edit your exports file:
# ed /etc/exports
i
/home/cmihai 192.168.1.13/24(rw,no_root_squash,subtree_check,async)
w
q
Export the filesystem:
# exportfs
/home/cmihai 192.168.1.13/24
# showmount -e
Export list for loonix:
/home/cmihai 192.168.1.13/24

On your Solaris 10 box, run:
# showmount -e loonix
export list for loonix:
/home/cmihai 192.168.1.13/24
It should give you results consistent with the results you got on your Linux machine.
Trying to mount the share as NFSv4 will fail (Linux NFSv4 isn't compatible with Solaris NFSv4).
# mount loonix:/home/cmihai /storage
nfs mount: mount: /storage: Not owner
So we're going to mount the share as NFSv3:
# mount -o vers=3 loonix:/home/cmihai /storage
# mount
/storage on loonix:/home/cmihai remote/read/write/setuid/devices/vers=3/xattr/dev=4840010 on Tue Mar 18 14:59:06 2008

Monday, March 17, 2008

BrandZ - Linux Branded Zones in your Solaris 10 Containers



You can easily create a Linux branded container and install Debian, CentOS or some other Linux distribution inside your Solaris container.

# zonecfg -z loonix
loonix: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:loonix> create -t SUNWlx
zonecfg:loonix> set zonepath=/export/loonix
zonecfg:loonix> add net
zonecfg:loonix:net> set address=192.168.21.73/24
zonecfg:loonix:net> set physical=bge0
zonecfg:loonix:net> end
zonecfg:loonix> commit
zonecfg:loonix> exit


We can install from a tar image, a CD or DVD or even a .iso file.

# zoneadm -z loonix install -d /export/home/cmihai/Desktop/centosimg/centos_fs_image.tar
Installing zone 'loonix' at root directory '/export/loonix'
from archive '/export/home/cmihai/Desktop/centosimg/centos_fs_image.tar'

This process may take several minutes.

Setting up the initial lx brand environment.
System configuration modifications complete.
Setting up the initial lx brand environment.
System configuration modifications complete.

Installation of zone 'loonix' completed successfully.

Details saved to log file:
"/export/loonix/root/var/log/loonix.install.4649.log"

# zoneadm list -iv
ID NAME STATUS PATH BRAND IP
0 global running / native shared
- loonix installed /export/loonix lx shared

# zoneadm -z loonix boot
# zoneadm list -iv
ID NAME STATUS PATH BRAND IP
0 global running / native shared
1 loonix running /export/loonix lx shared

# zlogin loonix
[Connected to zone 'loonix' pts/9]

Welcome to your shiny new Linux zone.

- The root password is 'root'. Please change it immediately.

- To enable networking goodness, see /etc/sysconfig/network.example.

- This message is in /etc/motd. Feel free to change it.

For anything more complicated, see:
http://opensolaris.org/os/community/brandz/

You have mail.
-bash-2.05b#

-bash-2.05b# passwd
Changing password for user root.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

-bash-2.05b# ed /etc/sysconfig/network
1d
1i
NETWORKING="yes"
HOSTNAME=loonix
.
w
q

Now we can ssh in :-).


Back in the global zone, a simple prstat -Z 1 1 reveals memory usage:

0 87 466M 568M 14% 0:40:04 5.7% global
1 11 7724K 12M 0.3% 0:00:00 0.0% loonix


As you can see, Solaris Zones are *very* lightweight.

There is also a Linux 2.6 BrandZ project, so we can easily run RHEL 5 or any other Linux distribution of our choice (with a bit of work).

Wednesday, March 12, 2008

IBM z/OS - OS/390 UNIX on zSeries Mainframe Development - C89

Here's a nice quick intro to C programming on IBM mainframes :-).

Memory usage on OpenVMS



Quick tip on getting system stats on OpenVMS. Apart from SHOW SYSTEM, SHOW MEMORY, etc, you can just hit:

^T
DEIMOS::HTTPd:7080 00:41:48 HTTPD_SSL CPU=00:00:03.23 PF=561 IO=2728 MEM=666

Tuesday, March 11, 2008

SeamlessRDP - Using Two Systems and the Same Time - Solaris and Vista

Here is a demo of SeamlessRDP, using tsclient on Solaris to connect to a Vista desktop machine.



This is the Blastwave package. A simple "/opt/csw/bin/pkg-get install rdesktop" will do the trick.

Sunday, March 09, 2008

ES40 - OpenSource Alpha AXP Emulator



I've already posted about other free Alpha or VAX emulators like PersonalAlpha (the free version of CHARON-AXP, also makers of CHARON-VAX) and SIMH. Now it's time for something open source, that will work on Windows and UNIX systems.

AlphaServer ES40 Emulator is a portable emulator for the HP (DEC, Compaq) AlphaServer ES40. The current version is capable of running OpenVMS with some limitations. The goal is to have a drop-in replacement for real ES40's. Emulates the Alpha AXP EV68CB processor and other devices.

Now you can run OpenVMS or Tru64 UNIX on your own personal computer.



The advantage of ES40 over PersonalAlpha is that you can emulate EV68 CPUs and a more modern system (AlphaServer ES40) and additional hardware. It's also open source, and will run on your Windows, Linux and UNIX machines. The problem is, it's no match for CHARON-AXP or PersonalAlpha in terms of performance.



You can even use ES40 to install other operating systems like BSD and Linux on Alpha.
Here's FreeBSD/alpha 6.3-RELEASE



Communigate Pro - Mail and Communications on OpenVMS

Communigate Pro is by far one of the best communications suite, and can easily replace even an Exchange / LCS / OCS suite (Unified Communications and all that). It can do clustering, VoIP, interface with Windows phones and has integrated WebMail, mailing lists, and so on.

The installation is pretty straight forward too. First, disable OpenVMS POP3 and IMAP services, and make sure nothing is running on port 8010 and 8100. Then unzip and proceed to install the POLYCENTER package.

$ PRODUCT INSTALL CGatePro

Once the installation is over, start CommuniGate Pro services and login to the administrative interface withing 15 minutes. Enjoy.

@SYS$COMMON:[CommuniGate]STARTUP.COM START



The WebMail is pretty nice too:



It also has Calendar function and a few themes (the XCHANGE one looks like OWA from Exchange).



By default, CommuniGate Pro supports the following features:

+ Mail + POP + IMAP + PWD + ACAP + WebMail + WebSite + Relay + Mobile + FTP
+ MAPI + TLS + S/MIME + LDAP + WebCAL + RADIUS + SIP + PBX + XMPP + XIMSS

Here's a screenshot of the WebMail SSL (HTTPS) interface with the XCHANGE skin:



So now you can have a fully encrypted, secure, highly available enterprise communications suite with E-Mail and VoIP features on your OpenVMS cluster :-).

HP OpenVMS Secure WebServer (Apache)

Now that we've tested WASD, we can also try HP Secure WebServer (ex Compaq WebServer). It's basically Apache + SSL and OpenVMS patches.

FTP upload or download or get the packages on the server.

$ DIR SYS$SYSROOT:[SYSMGR.hpweb]

Directory SYS$SYSROOT:[SYSMGR.hpweb]

CPQ-AXPVMS-CSWS-V0201-1-1.PCSI_SFX_AXPEXE;1

Total of 1 file.
$ SET DEF SYS$SYSROOT:[SYSMGR.hpweb]


$ RUN SYS$SYSROOT:[SYSMGR.hpweb]CPQ-AXPVMS-CSWS-

V0201-1-1.PCSI_SFX_AXPEXE;1
UnZipSFX 5.42 of 14 January 2001, by Info-ZIP (Zip-

Bugs@lists.wku.edu).
inflating: CPQ-AXPVMS-CSWS-V0201-1-

1.PCSI$COMPRESSED
inflating: CPQ-AXPVMS-CSWS-V0201-1-

1.PCSI$COMPRESSED_ESW


$ DIR/SIZE

Directory SYS$SYSROOT:[SYSMGR.hpweb]

CPQ-AXPVMS-CSWS-V0201-1-1.PCSI$COMPRESSED;1
24952
CPQ-AXPVMS-CSWS-V0201-1-1.PCSI$COMPRESSED_ESW;1
18
CPQ-AXPVMS-CSWS-V0201-1-1.PCSI_SFX_AXPEXE;1
19887


$ PRODUCT INSTALL
_Product name (* to show list): *
The following product has been selected:
CPQ AXPVMS CSWS V2.1-1 Layered Product


Once the package is installed, configure it:

@SYS$MANAGER:APACHE$CONFIG

Now you can start apache:

$ @SYS$STARTUP:APACHE$STARTUP.COM

$ TELNET deimos 80
GET / HTTP/1.1
HTTP/1.1 200 OK
Date: Sun, 09 Mar 2008 10:20:05 GMT
Server: Apache/2.0.52 (OpenVMS)


Let's say we'd like to patch our webserver instead, using Web Server Suite Software Patch Kits.

Stop Apache:

$ @SYS$STARTUP:APACHE$SHUTDOWN.COM

$ RUN CPQ-AXPVMS-CSWS211_UPDATE-V0100--4.PCSI_SFX_AXPEXE;1
UnZipSFX 5.42 of 14 January 2001, by Info-ZIP (Zip-Bugs@lists.wku.edu).
inflating: CPQ-AXPVMS-CSWS211_UPDATE-V0100--4.PCSI$COMPRESSED
inflating: CPQ-AXPVMS-CSWS211_UPDATE-V0100--4.PCSI$COMPRESSED_ESW
$ PRODUCT INSTALL
_Product name (* to show list): *

The following product has been selected:
CPQ AXPVMS CSWS211_UPDATE V1.0 Patch (remedial update)

[...]

The following product has been installed (and a recovery data set created):
CPQ AXPVMS CSWS211_UPDATE V1.0 Patch (maintenance update)

CPQ AXPVMS CSWS211_UPDATE V1.0: Functional update for CSWS V2.1-1

Post-installation tasks are not required.

Now you can start the webserver:

$ @SYS$STARTUP:APACHE$STARTUP

You can now just drop stuff in SYS$COMMON:[APACHE.HTDOCS]

WASD VMS Hypertext Services

Time to take a look at the "non-stop webserver", aka WASD VMS Hypertext Services.

To install this webserver, we're going to need the compiler suited we've previously installed (C and CXX-V products).

To install WASD, you need to download and unpack 2 images: HTROOT921.ZIP, the platform independent pack, and HTROOT921-AXP.ZIP (or VAX or IA64) - the platform specific files.

The installation process will largely go like this:

$ SET DEFAULT DKA0:[000000]
$ UNZIP "-V" SYS$SYSROOT:[SYSMGR.wasdkit]HTROOT921.ZIP;1
$ UNZIP "-V" SYS$SYSROOT:[SYSMGR.wasdkit]htroot921-axp.zip;1
$ @dka0:[HT_ROOT]INSTALL
$ @HT_ROOT:[INSTALL]DEMO.COM

%HTTPD-I-SOFTWAREID, HTTPd-WASD/9.2.1 OpenVMS/AXP SSL


The INSTALL procedure will take a while to compile then link the package. If you do not have the OpenVMS SSL product (Compaq/HP) you'll require the OpenSSL toolkit.

Saturday, March 08, 2008

The C Programming Language

To program using the C Programming Language on OpenVMS, you need the DEC C compiler.

$ run CC073.DCX_AXPEXE;1
$ @SYS$UPDATE:VMSINSTAL
* Products: *

Then we test it:

SET TERMINAL/DEVICE=VT102
EDIT HELLO.C

#include "stdio.h"
int main()
{
printf("Hello, OpenVMS CC!");

return (0);
}

[End of file]


$ CC HELLO.C
$ LINK HELLO.OBJ
$ RUN HELLO.EXE
Hello, OpenVMS CC!


C++ is similar, but you need CXX instead of CC.

Kicking it up a gear with Oracle Rdb Server on OpenVMS

$ show system
OpenVMS V8.3 on node DEIMOS 8-MAR-2008 16:15:25.04 Uptime 0 13:09:50

Time to install a database server on this box :-). And nothing says "database" quite like Oracle Rdb (ex DEC product btw).

Grab Oracle Rdb, unzip it (unzip SYS$SYSROOT:[SYSMGR.RDBKIT]rdbv72200kit_amv.zip;1), and install it :-).

@SYS$UPDATE:VMSINSTAL RDBV72200AM SYS$SYSROOT:[SYSMGR.rdbkit]

Now we can restart the service, and create our database.

$ @SYS$MANAGER:RMONSTOP72.com
$ @SYS$STARTUP:RMONSTART72.COM

$ UCX show services

Service Port Proto Process Address State

BIND 53 TCP,UDP TCPIP$BIND 0.0.0.0 Disabled
FTP 21 TCP TCPIP$FTP 0.0.0.0 Enabled
IMAP 143 TCP TCPIP$IMAP 0.0.0.0 Enabled
POP 110 TCP TCPIP$POP 0.0.0.0 Enabled
RDBSERVER 611 TCP RDB72 0.0.0.0 Enabled
SSH 22 TCP TCPIP$SSH 0.0.0.0 Enabled
TELNET 23 TCP not defined 0.0.0.0 Enabled

$ run SYS$SYSTEM:SQL$72.exe
SQL> SHOW VERSION
Current version of SQL is: Oracle Rdb SQL V7.2-200
SQL> DROP DATABASE filename PRODUCTS;
SQL> CREATE DATABASE filename PRODUCTS;
SQL> CREATE TABLE clients
cont> (
cont> ClientID char(9)
cont> CONSTRAINT CL_ID
cont> PRIMARY KEY,
cont> FirstName varchar(25),
cont> LastName varchar(25)
cont> );
SQL> INSERT INTO clients VALUES ('1','Some','Guy');
1 row inserted
SQL> INSERT INTO clients VALUES

('2','Other','Bloke');
1 row inserted
SQL> SELECT * from clients;
CLIENTID FIRSTNAME LASTNAME
1 Some Guy
2 Other Bloke
2 rows selected
SQL>

All we have to do now is fire up Phobos and cluster them :-).

If you install SQL Services on the database server, you can install the Rdb Client on your Windows box in order to administer Oracle Rdb on OpenVMS.

Installing Java 1.5 JDK on OpenVMS 8.3 Alpha

I've already covered ancient version of Java and OpenVMS, now it's time for something more recent. Just grab the latest Java 1.5 JDK for OpenVMS from HP.

$ RUN DEC-AXPVMS-JAVA150-V0105-3-1.PCSI_SFX_AXPEXE

$ PRODUCT INSTALL JAVA150 /SOURCE=SYS$SYSROOT:

[SYSMGR] /NORECOVERY_MODE

$ PRODUCT EXTRACT FILE JAVA150 /SOURCE=SYS$SYSROOT:

[SYSMGR] /SELECT=RELEASE_NOTES.HTML /DEST=[]

$ @JAVA$150_SETUP.COM;1

$ java -version
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition
Classic VM (build 1.5.0-3, 03/01/2007-14:39, native
threads, jit)

$ javac -version
javac 1.5.0

$ SET TERMINAL/DEVICE=VT102

$ EDIT hello.java
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello, OpenVMS!");
}
}
^z

$ javac hello.java

$ java hello
Hello, OpenVMS!

SSH X11 Redirection on OpenVMS and Using XMing and putty for Windows Clients

Wanna run some graphical OpenVMS applications? ssh -x or use Putty + MingW :-). X11 Forwarding is simple and easy to use. Just enable SSH on your OpenVMS box (UCX ENABLE SERVICE SSH) and make sure you've got proper keys generated.



You can also just start individual applications.

Friday, March 07, 2008

Steve Wozniak - iWoz

Here's a great talk by Steve Wozniak (the guy that co-founded Apple with Steve Jobs). He's the guy that created Apple I and Apple II.



He talks about his life, and how Steve Jobs lived the life of a hippie, etc :-). Cool stuff. Plus, he's a great engineer.

"Where really smart people work, there's generally doors unlocked"
Steve Wozniak - on how he managed to obtain documentation to learn stuff.

Wednesday, March 05, 2008

Play with a Cray

Want access to a Cray supercomputer? Ask Cyber-Cray for access.



Visit http://www.cray-cyber.org and request access to their machines.

$ uname -a
sn5176 sn5176 9.0.2.2 sin.0 CRAY Y-MP

GNU Screen for the win! - Solaris, AIX, HP-UX

I really love the hardstatus line in .screenrc :P. Just upgraded this machine to 8.3 too, so don't mind the title. (C-a A - OpenVMS-8.3) xD

Credits for the .screenrc hardstatus line go to Han:


log off
hardstatus alwayslastline "%{-b ck} %?%-w%?%{+b}%n%f %t%{-b} %?%+w%? %= %l %D %d/%m/%Y %0c "
hardstatus on
escape ^Tt

Wallpaper is some image off flickr + GIMP + my favorite palindrome:
In girum imus nocte, ecce et consumimur igni.
We enter the circle by night and we are consumed by the fire.
(Drawn like moths to a flame).



By popular demand:



GNU Screen works just fine with that hardstatus line even on HP-UX systems. One thing I did though, was use:

env TERM=xterm-color screen


To start screen after ssh-ing in. After screen starts, you'll probably want:

TERM=vt100; export TERM

Also. You can put them in your profile. Using TERM=screen doesn't always work well.

Of course, you can just use TERM=dtterm, or even use dtterm, as done here via ssh -X to my AIX server :-).



As you can see, the AIX and HP-UX versions need a bit more work (or a fixed sized terminal in case of AIX):

Runnig Symantec Veritas Cluster Server on Windows Vista 64bit

Getting Veritas Cluster Server Simulator (VCS Simulator) to install and run can be a bit of a pain. Here's the deal:

Start a command prompt as Administrator, and install it using:

msiexec /i vcs_simulator.msi

Once the software is installed, download MSVCR70.DLL and put it in the VCS directory (C:\Program Files (x86)\VERITAS\Cluster Manager\bin\).

Then run "Veritas VCS Simulator - Java Console" and "Veritas Cluster Manager - Java Console" as Administrator (Right Click - Run as Administrator) and unblock the Windows Firewall ports (allow exception).



Enjoy playing with Veritas clusters :-).

OpenVMS Tips and Tricks - Clear Screen, ls -lha

Want to clear the screen? "TYPE/PAGE NLA0:" will do the trick. Just alias it to your dos like cls or to a UNIX like clear command :-).


$ CLEAR == "TYPE/PAGE NLA0:"
$ CLEAR
$


Might as well alias LS to a DIR/SIZE/DATE/PROTECTION:

$ LS == "DIRECTORY/SIZE/DATE/PROTECTION"
$ LS *.JAVA

Directory SYS$SYSROOT:[SYSMGR]

HELLO.JAVA;1 1 4-MAR-2008 21:40:06.79 (RWED,RWED,RE,)
HW.JAVA;2 1 4-MAR-2008 22:14:36.28 (RWED,RWED,RE,)

Total of 2 files, 2 blocks.

Tuesday, March 04, 2008

More OpenVMS Easter-Eggs

Another "easter egg", this time, simply an uninspired name for an application when upgrading from 7.3 to 8.3 :-).

$ SHOW SYSTEM
OpenVMS V8.3 on node VMS 4-MAR-2008 23:56:17.19 Uptime 0 00:15:41



And of course, the classics (All Your Base Are Belong to Us!).



$ EXIT %xb70
%SYSTEM-W-FISH, my hovercraft is full of eels
$ EXIT 134002
%DEBUG-E-FISH, my hovercraft is full of eels
$ EXIT %x3f30074
%KATIE-F-DEVNOTMBX, device is not a mailbox
$ EXIT %x34b4
%SYSTEM-F-GAMEOVER, all your base are belong to us


All your OpenVMS Easter Eggs are belong to us :-).

Java Development on OpenVMS

Got an OpenVMS box and you need to run some Java stuff?

$ SHOW SYSTEM
OpenVMS V7.3 on node VMS 4-MAR-2008 22:26:36.67 Uptime 0 01:16:05

$ JAVA -version
vms$dka0:[sys0.syscommon.][sysexe]java$java.exe;1 version "1.1.8-5"

Well, if you happen to have an older version of OpenVMS and Java (you can download a newer JDK - 1.5 here) you're going to have to set it up properly first. Set the CLASSPATH too.

$ @SYS$MANAGER:JAVA$SETUP.COM
Setting up symbols for foreign command line usage...
%DCL-I-SUPERSEDE, previous value of JAVA_COMPILER has been superseded
%DCL-I-SUPERSEDE, previous value of JAVA$FILENAME_CONTROLS has been superseded
JAVA$FILENAME_CONTROLS now set to: -1

$ DEF JAVA$CLASSPATH "/sys$common/java/lib/JDK118_CLASSES.ZIP:."
%DCL-I-SUPERSEDE, previous value of JAVA$CLASSPATH has been superseded
Great, now that we've setup our JAVA environment, we can start developing applications :P.

$ ED HW.JAVA
class hw
{
public static void main(String args[])
{
System.out.println("Hello, OpenVMS!");
}
}

^Z (Type Control Z to save and exit)

$ TYPE HW.JAVA
class hw
{
public static void main(String args[])
{
System.out.println("Hello, OpenVMS!");
}
}

$ JAVAC HW.JAVA

$ JAVA HW
Hello, OpenVMS!

Enjoy your ancient version of Java...

PS: Once you've had your fun, just download JDK 1.5 :-).

My hovercraft is full of eels

Hooray for Monty Python:
%SYSTEM-E-FISH error on OpenVMS 7.3. It's an Easter Egg btw. There's more (make love -> not war, etc) in other versions :-).

VPNC - Open Source client for Cisco VPN Contentrator

Got an ASA, a PIX or some other VPN Concentrator (or even Juniper NetScreen)? Well, you'll run into some troubles sooner or later. The Cisco VPN Client doesn't support 64 bit Windows clients, x86 Solaris clients and is just a pain to use on Linux.

VPNC doesn't require any kernel modules. Just put the IPSec gateway IP, IPSec ID, IPSec secret and XAuth username into /etc/vpnc/default.conf and start vpnc. It should work instantly :-). No fuss, no mess.

It will work just fine on Solaris, Linux, MacOS X or BSD machines. You can even get it running on your Windows box (Cygwin libs).

Monday, March 03, 2008

TrueCrypt now does pre-boot authentification

TrueCrypt is an open source on the fly (transparent) whole disk encryption software for Windows, Linux and MacOS that now supports pre-boot authentication on Windows. This means you can use this to replace PGPDisk or BitLocker.

It supports AES-256, Serpent and Twofish encryption, hidden volumes with two levels of plausible deniability and hidden volumes.

Saturday, March 01, 2008

Tunneling over ICMP, DNS, HTTP and HTTPS proxies

Stuck beyond a firewall, captive portal or proxy and need your ssh (or any other service)? Here's a few ways to tunnel out:

  • PTunnel - Tunnel TCP using ICMP echo request and reply packets (PING), includes authentication, allows for multiple connections.
  • Iodine - tunnel IPv4 data through a DNS server, allows for authentification.
  • NSTX - Tunneling network packets over DNS.
  • Corkscrew - tunneling SSH through HTTP proxies.
  • httptunnel - bidirectional virtual data connection tunnelled in HTTP requests.
  • gotthard - ssh through https proxy tunnel
I've already mentioned Shared Shell and such too :-).