July 11, 2002

Funny quotes [Technology]

This page has gems like:

INFIDEL!!! HERETIC!!1! I fondly remember taking 162 from bh. Especially those nights when we'd all gather around the big, silent bulk of the PDP-10 in the machine room, heads bowed to its greatness . . . then bh would pour the vodka, and we'd munch on potstickers and talk for _hours_ about the imminent coming of the Glorious People's GNU-LISP Revolution that would sweep like a cleansing wave! Some nights we'd watch Animanics and listen to the Beatles until dawn. Then we'd shatter our vodka glasses against the wall and weave our way home, staggering up the middle of Hearst singing Russian peasant drinking songs . . . I didn't learn much about operating systems that year, but damn, I learned about _life_.
- Anonymous CSUA Member

Posted by bobo at 09:20 PM | Comments (0) | TrackBack
Contributing to Open-Source [Technology]

Yaroslav Faybishenko, one the Infrasearch guys, published a very cool read on his two-week contribution to an open-source project two years ago and the ripples it caused.

Posted by bobo at 09:11 PM | Comments (0) | TrackBack

June 28, 2002

June 18, 2002

Mozilla [Technology]

So, I've been using Mozilla as my primary browser for a week or so now. It's not so bad. There are four things that are keeping me using it: 1] tabbed browsing, 2] no pop-ups, 3] faster startup time, and 4] nice mailreader. There is one big thing that I miss: no calendaring system with the mail reader. All of my iCalendar meeting requests are useless. This post is actually a test of mozBlog - a blogger interface for Mozilla.

Posted by bobo at 10:10 AM | Comments (0) | TrackBack

June 17, 2002

Optical Networks: A Thing of the Past? [Technology]

So, it seems a clever Australian research team managed to teleport a laser beam. One of the more interesting aspects of this story is that they actually embedded information in the beam that was teleported, effectively teleporting that information. They don't mention whether the teleportation happened instantaneously or not. If it did, it's quite cool, since that would allow for information being transmitted over long distances in -zero- time, potentially allowing things like real-time control of Mars Rover or Pioneer, and completely obsoleting optical networks.

Posted by bobo at 01:58 PM | Comments (0) | TrackBack

May 22, 2002

Installing Oracle 8i on RedHat Linux 7 or 8 [Technology]

Christ, it was an awful experience. I hope the group that writes the database is different from the group that writes the installer, because the installer group sucks. Click through for the details.

These instructions are specifically for Oracle 8.1.7 on RedHat 7.3, but probably is largely applicable to RedHat 7.0, RedHat 7.1 and RedHat 7.2. They have also been confirmed to work for RedHat 8.0 [thanks to Patrick Ale].

Step 0 - Download and Unpack Oracle

Download two files from Oracle's site: linux81701.tar and glibc-2.1.3-stubs.tar.gz. Both files are available at http://otn.oracle.com/software/products/oracle8i/htdocs/linuxsoft.html. You may need to register for the Oracle Technology Network to be able to download them.

Make sure they have the following MD5 checksums:

bb6cee85bd78c91cfd4d02224b99adc5 linux81701.tar
7afc4a65f7d5c456e5a323b453ece2c1 glibc-2.1.3-stubs.tar.gz

Unpack Oracle into /opt/oracle:

cd /opt/oracle/
tar xf linux81701.tar

Do not unpack the glibc stubs file yet.

Step 1 - Install Prerequisites

Since RedHat 7 comes with glibc 2.2 and Oracle needs glibc 2.1, you'll need to download compat versions of the various libraries:

up2date -u compat-glibc
up2date -u compat-egcs
up2date -u compat-libstdc++
up2date -u compat-libs

For RedHat 8, instead of using up2date to fetch the compat packages you'll need to download the RPMs from the 7.3 directory on ftp.redhat.com or a mirror [thanks to Patrick Ale for this info].

Step 2 - Setup Users and Directory Permissions

Create the Oracle user and groups:

groupadd dba
groupadd oracle
groupadd oinstall
useradd oracle -g oinstall -G dba,oracle

Create the directory where Oracle will be installed and give it appropriate permissions:

mkdir /usr/oracle
chown oracle.dba /usr/oracle

Step 3 - Setup Environment Variables

Append the following lines to the oracle user's .profile:

. /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh
export LD_ASSUME_KERNEL=2.2.5

umask 022

export ORACLE_BASE=/usr/oracle
export ORACLE_HOME=$ORACLE_BASE/product/8.1.7

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/ctx/lib:/usr/bin:/bin:/usr/local/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/lib:/usr/local/lib:$LD_LIBRARY_PATH
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export ORACLE_SID=dev

Note that the glibc-stubs README says not to add $ORACLE_HOME/libs to LD_LIBRARY_PATH. Ignore it. [thanks to Justin Georgeson for pointing this out]

Step 4 - Symlink to Compat GCC

We need to symlink out to the correct GCC to make Oracle uses it when it compiles anything [thanks to Jarkko Laine for pointing out that $ORACLE_HOME must be created first]:

su - oracle
mkdir $ORACLE_BASE/product
mkdir $ORACLE_HOME
cd $ORACLE_HOME
mkdir bin
cd bin
ln -s /usr/bin/i386-glibc21-linux-gcc cc
ln -s /usr/bin/i386-glibc21-linux-gcc gcc

Step 5 - Install Oracle

Go ahead and install Oracle as user oracle with the default settings. If any errors occur during installation be sure to hit Ignore and continue with the installation:

su - oracle
cd /opt/oracle/Disk1
./runInstaller

Near the end of the installation, the installer will prompt you to run $ORACLE_HOME/root.sh as root. This file has two errors in it, so before you run it make the following changes:

Change line 98 from:
SED=/usr/local/bin/sed
to:
SED=/bin/sed
[thanks to 'lex' for pointing this out]

Change line 102 from:
RMF=/bin/rm -f
to:
RMF="/bin/rm -f"

Change line 156 from:
RUID=`/usr/bin/id|$AWK -F\( '{print $2}'|$AWK -F\) '{print $1}`
to:
RUID=`/usr/bin/id|$AWK -F\( '{print $2}'|$AWK -F\) '{print $1}'`

At the end of the installation, the installer will try to run three configuration wizards: the Net8 Configuration Assistant, the Oracle Database Configuration Assistant, and the Apache Web Server Configuration Assistant. You should stop all of them. You will run them later. After this your installer is done and you should exit it.

Step 6 - Install GLIBC Stubs

Now, you should install the glibc stubs (still as oracle):

su - oracle
cd $ORACLE_HOME
tar xfz /opt/oracle/glibc-2.1.3-stubs.tar.gz
./setup_stubs.sh
cd bin
relink all

Step 6.9 - Modify /bin/df [thanks to Patrick Ale for this info]

Oracle 8.1.7 can't cope with LVM long partition names. When creating a new database, dbassist checks if there is enough diskspace by doing a /bin/df. With long partition names, the actual free diskspace is listed on a new line, and this causes dbassist to crash.

What to do:

mv /bin/df /bin/df.orig
cat << EOF > /bin/df
#!/bin/sh
/bin/df.orig -P \$@
EOF
chmod +x /bin/df

Calling df with the -P option means that df wont care about nice tabbed information, but rather will display all information on one line. After you create your database, move /bin/df.orig back to /bin/df and your system is back to normal. Or, you can leave it, to always default to the POSIX output format.

Step 7 - Run the Various Assistants

Now, you can run the Net8 Configuration Assistant and the Database Configuration Assistant

su - oracle
$ORACLE_HOME/bin/netca
$ORACLE_HOME/bin/dbassist

Step 8 - Create a Shutdown/Startup Service

Create the file /etc/rc.d/init.d/oracle with the following contents:

#!/bin/sh
#
# Startup script for Oracle
#
# chkconfig: 345 79 11
# description: Oracle.
# processname: oracle
# pidfile: /var/run/oracle.pid
#
# Source function library.
. /etc/rc.d/init.d/functions

ORACLE_HOME=/usr/oracle/product/8.1.7
ORACLE_USER=oracle

# See how we were called.
case "$1" in
  start)
    echo -n "Starting Oracle Database Server: "
    daemon --user=$ORACLE_USER $ORACLE_HOME/bin/dbstart
    success "Starting Oracle Database Server: "
    echo
    echo -n "Starting Oracle TNS Listener: "
    daemon --user=$ORACLE_USER $ORACLE_HOME/bin/lsnrctl start >> /dev/null
    success "Starting Oracle TNS Listener: "
    echo
    echo -n "Starting Oracle HTTP Server: "
    daemon --user=$ORACLE_USER $ORACLE_HOME/Apache/Apache/bin/apachectl start
    success "Starting Oracle HTTP Server: "
    echo
    touch /var/lock/subsys/oracle
    ;;
  stop)
    echo -n "Stopping Oracle Database Server: "
    daemon --user=$ORACLE_USER $ORACLE_HOME/bin/dbshut
    success "Stopping Oracle Database Server: "
    echo
    echo -n "Stopping Oracle TNS Listener: "
    daemon --user=$ORACLE_USER $ORACLE_HOME/bin/lsnrctl stop >> /dev/null
    success "Stopping Oracle TNS Listener: "
    echo
    echo -n "Stopping Oracle HTTP Server: "
    daemon --user=$ORACLE_USER $ORACLE_HOME/Apache/Apache/bin/apachectl stop
    success "Stopping Oracle HTTP Server: "
    echo
    rm -f /var/lock/subsys/oracle
    rm -f /var/run/oracle.pid
    ;;
  restart)
    $0 stop
    sleep 2
    $0 start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
esac

exit 0

Set the appropriate owner and mode:

chown root.root /etc/rc.d/init.d/oracle
chmod 0755 /etc/rc.d/init.d/oracle

Now you can start Oracle by typing:
service oracle start
You can stop Oracle by typing:
service oracle stop

Note that only the databases in /etc/oratab with the last field set to Y will start and stop automatically. The following line, for example, will automatically start and stop the dev database:
dev:/usr/oracle/product/8.1.7:Y

Step 9 - Enjoy (or not)

You're done. Congrats.


Posted by bobo at 11:15 PM | Comments (34) | TrackBack

May 14, 2002

Microsoft Project 'foo' [Technology]

This is funny: Microsoft ploy to block Sun exposed - Tech News - CNET.com. Microsoft has a project codenamed 'foo'.

An attorney representing the nine litigating states and the District of Columbia read portions of Gates' e-mail, concerning a project code-named foo, during last Tuesday's cross-examination of Microsoft Senior Vice President Jim Allchin.

During the cross-examination, Allchin said he was "not 100 percent sure" that Gates was referring to the WS-I. But in a February deposition, Microsoft CEO Steve Ballmer said the term "foo" was used internally at Microsoft to refer to the WS-I before the organization was officially founded. Sources familiar with the e-mails also said the term foo was used at Microsoft to refer to the WS-I.

Posted by bobo at 12:21 PM | Comments (0) | TrackBack

May 12, 2002

An idle mind... [Technology]

Some people have way too much time on their hands: No matter the language, programming is fun!. Has random shit like this increased since the dot-com burn-out (because unemployed people have nothing better to do) or decreased (since people are poor and demotivated)?

Befunge is cool. I think I'll learn it. It is much cooler than Malbolge, INTERCAL, or BrainF*ck.

Posted by bobo at 02:02 AM | Comments (0) | TrackBack