Computers

 

Table of Contents

Programming

Javascript / XML


Web/CSS

Vertical Centering

http://www.jakpsatweb.cz/css/css-vertical-center-solution.html

Linux

Random Handy Ubuntu Upgrade Stuff

When doing dist-updates be careful. Back up sources.list too. The key is updating apt, dpkg and libc6 before you dist-upgrade. This helps:

sudo sed -i 's/gutsy/hardy/' /etc/apt/sources.list
sudo apt-get update
apt-get install apt dpkg libc6
sudo apt-get dist-upgrade

Linux Firewall

http://www.ipcop.org/

http://www.advproxy.net/

http://update-accelerator.advproxy.net/


Samba

netlogon scripts for samba:

http://lists.samba.org/archive/samba/2004-December/096549.html

http://www.howtoforge.com/samba_setup_ubuntu_5.10_p4

SATA

Just recently I moved a Centos 5.2 server from SCSI to SATA with software raid. I needed to update the System.map and initrd files (I know this now...) After a lot of frustration I found these commands:

depmod -ae -F /boot/System.map-2.X.X-whatever
mkinitrd -v -f /boot/initrd-2.X.X-whatever.img 2.X.X-whatever


This meant that both ata_piix and raid1 kernel modules were loaded and the SATA drive and software RAID were recognised.

Elastix


Postgres

Postgres YUM repos

http://yum.pgsqlrpms.org/reporpms/repoview/letter_p.group.html

Backup Postgres

pg_dumpall -U <db_superuser_name> > backup.sql


Postgres On Centos

http://www.gentoo.org/doc/en/postgres-howto.xml

http://www.cyberciti.biz/tips/postgres-allow-remote-access-tcp-connection.html

Change how many mounts fsck waits before it runs on a partition

Show the current maximum.

tune2fs -l | grep Maximal

Set the number of mounts before a scan is done.

tune2fs -c 50 /dev/hda1

Disable IPV6 on CentOS/RHEL

alias ipv6 off
alias net-pf-10 off


Software RAID

Management with mdadm, random bits and pieces...

Had to do this once because the device wasn't created:

mknod /dev/md0 b 9 0


Other stuff:

mdadm --assemble /dev/md0 /dev/sdc1
mdadm --manage --add /dev/md0 /dev/sdd1
mdadm --detail /dev/md0


Creating a mdadm.conf - Sometimes required for booting off a md array.

echo 'DEVICE partitions' > /etc/mdadm.conf
mdadm --examine --scan --config=mdadm.conf >> /etc/mdadm.conf


My Software RAID Adventure

This is my mdadm adventure. It's got to be one of my favorite utilities lately. The situation is this:


I had a server with old scsi drives. I rebuilt the machine with an 80 gig SATA drive with a bigger partition for the root, but the rest the same. I used tar to get everything across with permissions intact. At the same time I created soft mirrors with failed devices. This was while I waited for bigger drives. Heres what I did next.


  1. Partition the two 500s identically to the existing drive, plus a big partition on the end.


  1. Add the new partitions to the mirrors
mdadm --manage --add /dev/md0 /dev/sdb1
mdadm --manage --add /dev/md0 /dev/sdc1

mdadm --manage --add /dev/md1 /dev/sdb2
mdadm --manage --add /dev/md1 /dev/sdc2

mdadm --manage --add /dev/md2 /dev/sdb3
mdadm --manage --add /dev/md2 /dev/sdc3

  1. Grow them out to 3 disk mirrors so they synch all 3 disks.
mdadm -G -n 3 -l 1 /dev/md0
mdadm -G -n 3 -l 1 /dev/md1
mdadm -G -n 3 -l 1 /dev/md2

  1. Wait for the drives to synch up.
watch --interval=1 "cat /proc/mdstat"

  1. Start Failing the original partitions (80 gig sda)
mdadm --manage --fail /dev/md0 /dev/sda1
mdadm --manage --fail /dev/md1 /dev/sda2
mdadm --manage --fail /dev/md2 /dev/sda3

will output something like: 'mdadm: set /dev/sda3 faulty in /dev/md2'

  1. Remove the old partitions from the mirrors.
[[email protected] cacti]# mdadm --manage --remove /dev/md0 /dev/sda1
mdadm --manage --remove /dev/md1 /dev/sda2
mdadm --manage --remove /dev/md2 /dev/sda3

will output something like: 'mdadm: hot removed /dev/sda1'

  1. Grow (Shrink) the mirrors back down to 2 drives.
mdadm -G -n 2 -l 1 /dev/md0
mdadm -G -n 2 -l 1 /dev/md1
mdadm -G -n 2 -l 1 /dev/md2

  1. Create a new big mirror to mount somewhere else with the remaining space.

mdadm --create -l 1 -n 2 /dev/md3 /dev/sdb4 /dev/sdb4

voila 2 fresh drives mirrored live.

LVM over mdraid

LVM over mdraid:

Create your mdraid. md7 in this example.

Create physical volumes from your disks.

pvcreate /dev/md7

Create a Volume Group to slice up into Logical Volumes.

vgcreate VolGroup00 /dev/md7

Create a Logical Volume on the Volume Group. In this case I am using the -l option with a percentage. This command will use all of the free space available on the Volume Group.

lvcreate -l 100%FREE -n LogVol00 VolGroup00

Make a filesystem on the Logical Volume.

mkfs.ext3 /dev/VolGroup00/LogVol00


For extra points: You can extend the available space for Logical Volumes by adding Physical Volumes and then adding those to the Volume Group. From there you can extend Logical Volumes or add more.

Create the Physical Volume.

pvcreate /dev/md8

Extend the Volume Group by adding /dev/md8 to it.

vgextend VolGroup00 /dev/md8

Extend the Logical Volume by the amount of free space available.

lvextend -l +100%FREE /dev/VolGroup00/LogVol00

Scan the filesystem.

e2fsck -f /dev/VolGroup00/LogVol00

Resize the filesystem to fill.

resize2fs /dev/VolGroup00/LogVol00


Excellent docs on the subject: http://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager/index.html


Remi Repo

Remi Collet, an “official” Fedora developer, has made available a repo of packages

wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm
wget http://rpms.famillecollet.com/el5.i386/remi-release-5-4.el5.remi.noarch.rpm
rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm


Remember the repo is disabled by default. I wanted PHP 5.2.x and the newer MySQL so I issued the following to only allow certain packages, rather than the whole repo.

yum --enablerepo=remi update php
yum --enablerepo=remi update mysql-server


rsync -azuv -e ssh  [email protected]:remotesource/* localdest/


CFV / SFV

Command-Line file Verify - compatible with SFV (Simple File Verify)...

http://sourceforge.net/projects/cfv/

Postfix with MySQL Support

cd make -f Makefile.init makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql' 'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm'


Postfix with Postgres

Works better when you put the include and auxlib arguements in quotes... that was my trouble. It was passing the -DHAS_PHSQL to gcc but not the rest because it just got junked as an extra arguement.

make -f Makefile.init makefiles CCARGS='-DHAS_PGSQL -I/usr/include/pgsql' AUXLIBS='-L/usr/lib -lpq -lz -lm'


Compaq 6710b + FC8

Add kernel arguements:

floppy.allowed_drive_mask=0 clocksource=acpi_pm


Copying the contents of a linux partition preserving permissions

I found this while moving a server from SCSI to SATA. To do this, I mounted the new drive under /mnt. You then do a tar dump of the root and pull it all out again at /mnt. Job done =)

(cd /;tar cf - . ) | (cd /mnt; tar xf - )


Disable Firefox Offline mode

It's really annoying when I have wifi disabled and a LAN cable not plugged in my laptop to have Firefox go into offline mode.


Navigate to about:config in Firefox Set toolkit.networkmanager.disable to true.


Firefox will nolonger use network manager to determine the network status and will stay in 'online' mode all the time.


Copy and Verify

rsync -cav sourcefiles destfiles

Squid

http://urlblacklist.com/?sec=download

http://wl500g.info/showthread.php?t=17287

http://linux.com/feature/60050


Squid3:

http://people.redhat.com/~jskala/squid/


Autoconfiguration:

http://www.findproxyforurl.com/pac_file_examples.html

Some notes on transparent proxy config (unorganised)

modprobe ip_conntrack
modprobe ip_conntrack_ftp
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

MySQL

MyTop

MyTop is your friend.

# yum -y install perl-TermReadKey perl-DBI mytop

Maatkit

Maatkit is also your friend.

http://www.maatkit.org/

Convert all your MyISAM tables to INNODB. I had to do this once on a SugarCRM instance where it was just deadlocking it's self all the time on MyISAM.

mk-find <db_name> --engine MyISAM --exec "ALTER TABLE %D.%N ENGINE=INNODB" --print

Linux Scripts and Handy Bits

Centos 5.2 really slow on fresh install

A bit of an unusual one, hard to spot. Having just built the machine and installed CentOS 5.2 on it, I logged in as root but found it took about 3 seconds for 'root' to come up after I typed it. I immediately thought it was the software RAID I implemented. So I did some reading. It turns out this guy had the same problem. The BIOS by default had the SATA II ports in IDE mode. You can confirm this by looking at your hard drives in /dev. They will be hdx instead of sdx. more here at nixcraft. So, you must set your SATA controller to native mode with AHCI to solve this.

Converting FLV (Flash Video) to MPEG

ffmpeg -i video.flv -ab 56 -ar 22050 -b 500  -s 320x240 test.mpg


Web Permissions

This is my little permissions fix script. Its great for folders that apache serves from.


Just remember to change permissions on config files and sensitive stuff later on.

#/bin/bash
if "$1" == ""
then
echo "Fix Web Permissions Script - Tim 10/09/2007"
echo "Recursively changes permissions on folders 775 and files 664"
echo "Usage: fixperms <user:group> <folder>"
else
chown -R $1 $2
find $2 \( -type d -execdir chmod 775 '{}' + \) , \( -type f -execdir chmod 664 '{}' + \)
fi


Continuous Tail Script

This is my continuous tail script. It's good to have running on another screen while you are working on PHP code. You can ct the apache error_log and watch the log as the page is accessed. Streamlines the whole debugging thing.

#/bin/sh
if "$1" == ""
then
echo "Continuous Tail Script (50 Lines, 5s Interval). Tim 10/09/2007"
echo "Usage: ct <file>"
else
clear
tail -n 50 -s 5 -f $1
fi


Searching and Grepping

Find empty folders / find and delete empty folders

find . -type d -empty

find . -type d -empty | while read dir; do rm -rf "$dir"; done


Find files based on creation date

Find based on date

touch -d "21 feb 2008 12:14:00" datefile
find . -newer datefile

Find based on creation between two dates

touch -amt 200906260000 /tmp/ref1
touch -amt 200906262359 /tmp/ref2
find / -type f -newer /tmp/ref1 -a ! -newer /tmp/ref2


Not finding files ?!? - Exclude criteria from final result

It makes perfect sense! Find everything except stuff that matches the condition.

find . -type f -not -iname "*.jpg"


Recursive Diff that skips SVN crap folders

This is great to compare two different instances of something checked out of subversion.

diff -rq <folder1> <folder2> | grep -v .svn


One line Seach and Destroy

This is great for stripping out all those crappy thumbs.db files windows and ACDSee leave behind in a folder.

find -type f -name "*.db" | while read file; do rm "$file"; done


One Line Search and Replace

find . -type f -exec sed -i 's/<find>/<replace with>/g' {} \;


Rename Directories for Saved Web Pages

find . -type d -name \*_files | while read dir; do mv "$dir" "`echo $dir | sed -e 's/_files//g'`"; done

One Line Search and Replace (Entire Line)

find . -type f -exec sed -i "/<pattern>/c\\<new line to use>"  {} \; 


Recursive Grep

This script is bloody excellent. It's the most handy script I've got at the moment as I've been doing some maintenance on an old OSCommerce installation.

Awesome recursive text search. Originally from http://www.joegrossberg.com. It's called regrep 2.0

#!/usr/bin/perl
$string = join " ", @ARGV; # ugly hack; there must be a better way
unless ($string) {
$error = "Usage: regrep [string]\nRecursively searches all files ";
$error .= "in current directory for [string]\n";
print $error;
exit 1;
}

# Ideally, we'd parse the arguments better.
#$directory = shift @ARGV;
unless ($directory) { $directory = '.'; }

@grepOutput = `egrep -rn --color=always "$string" $directory`;

for $line (@grepOutput) {
if ($line =~ /^BINARY.*/) {
 ; # do nothing
} elsif ($line =~ /^([^:]*)(:)([^:]*)(:)(.*)/) {
print "\033[1;34m";
print $1;
print "\033[0m";
print $2;
print "\033[1;36m";
print $3;
print "\033[0m";
print $4;
print $5;
print $6;
print "\n";
}
}

Database Stuff

Neat round to 0.25

SELECT ROUND( target/25.0, 2) * 25


IPTables Stuff

Block an IP

iptables -A INPUT -s 1.2.3.4 -j DROP


Block an IP Range

I was getting a lot of dictionary attacks from PCs in .edu.tw. So I just blocked their whole subnet.

iptables -A INPUT -m iprange --src-range 140.117.0.0-140.138.255.255 -j DROP


Lots of xxx.yyy.tw1.com. Pakistan, dictionary attacks again. Same method. They're 221.132.112.0 - 221.132.119.255.

iptables -A INPUT -m iprange --src-range 221.132.112.0-221.132.119.255 -j DROP


Quickly Locate Invalid Users

cat /var/log/secure | grep "Invalid user" | gawk '{print $10}' | sort -u


Whois From list of IPs from secure log (Work in Progress)

cat /var/log/secure | grep "Invalid user" | gawk '{print $10}' | sort -u | sort | while read line; do echo; echo "$line:"; whois $line | grep -e inetnum -e desc; done > ips.txt


Output like this:

58.246.14.235:
inetnum: 58.246.0.0 - 58.247.255.255
descr: CNC Group ShangHai province network
descr: China Network Communications Group Corporation
descr: No.156,Fu-Xing-Men-Nei Street,
descr: Beijing 100031
descr: CNC Group CHINA169 Shanghai Province Network


Mods

Once I import my old blog + articles the mods will be back in here.


Servers

Windows


Connect Printer Shares on Command Line

@echo off
rundll32 printui.dll,PrintUIEntry /ga /in /q /n "\\%server%\1stShare"
rundll32 printui.dll,PrintUIEntry /ga /in /q /n "\\%server%\2ndShare"
rundll32 printui.dll,PrintUIEntry /ga /in /q /n "\\%server%\3rdShare"


Recover 2003 AD Administrator Password

After lots of reading I have worked out this is a two stage process. First you need to obtain or break the local administrator password, you then have to change the AD Administrator password from there.

Phase II

Continued. http://www.petri.co.il/reset_domain_admin_password_in_windows_server_2003_ad.htm


Allow viewing of CHM over LAN

Save this in a .reg file to import it into the registry.

REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000001


Disable Automatic Reboot (XP)

Start->Run->Regedit

Printer Stuff


Fiber, LAN and Broadband


SNMP Bits and Pieces

List of Interfaces (names):

snmpwalk -c public -v 1 <host or IP> -On | grep .1.3.6.1.2.1.2.2.1.2. | grep STRING


Billion 7300G Interfaces:

.1.3.6.1.2.1.2.2.1.2.1 = STRING: lo
.1.3.6.1.2.1.2.2.1.2.2 = STRING: teql0
.1.3.6.1.2.1.2.2.1.2.3 = STRING: imq0
.1.3.6.1.2.1.2.2.1.2.4 = STRING: imq1
.1.3.6.1.2.1.2.2.1.2.5 = STRING: eth0
.1.3.6.1.2.1.2.2.1.2.6 = STRING: ra0
.1.3.6.1.2.1.2.2.1.2.7 = STRING: br0
.1.3.6.1.2.1.2.2.1.2.8 = STRING: ppp0


Cisco 29XX Switches:

CISCO 2924
1.3.6.1.2.1.2.2.1.5.x Interface Speed ISO bps.
1.3.6.1.2.1.2.2.1.10.x Interface In Octets
1.3.6.1.2.1.2.2.1.16.x Interface Out Octets
1.3.6.1.2.1.2.2.1.2.x Interface Description


Billion 7402 MIBs:

Remember the SNR and Attenuation are stored as integers, so you must divide them by 10 to get the actual numbers in dB. ie. 54.3dB is stored as 543.

Billion:
.1.3.6.1.2.1.10.94.1.1.5.1.2.3 Sync Up
.1.3.6.1.2.1.10.94.1.1.4.1.2.3 Sync Down

.1.3.6.1.2.1.10.94.1.1.2.1.4.3 SNR Down (INT /10 for dB)
.1.3.6.1.2.1.10.94.1.1.3.1.4.3 SNR Up (INT /10 for dB)

.1.3.6.1.2.1.10.94.1.1.2.1.5.3 Attenuation Down (INT /10 for dB)
.1.3.6.1.2.1.10.94.1.1.3.1.5.3 Attenuation Up (INT /10 for dB)

.1.3.6.1.2.1.2.2.1.18.4 Wireless TX Packets
.1.3.6.1.2.1.2.2.1.12.4 Wireless RX Packets

.1.3.6.1.2.1.2.2.1.10.4 Wireless RX Octets
.1.3.6.1.2.1.2.2.1.16.4 Wireless TX Octets

Billion 7300G Reboot URL

Restart the 7300G with Current Settings. Replace a.b.c.d with it's IP address or hostname. This example also uses the default user/password of admin/admin.

wget --post-data "factory=0" --http-user="admin" --http-password="admin" http://a.b.c.d/goform/updatecomplete


Rough ADSL Line Attenuation/SNR Grading

I found this on the Whirlpool Forums ages ago and its been hanging around in a text file. So I'm putting it here now. I'm not sure which user contributed it though, it's been quoted so many times on there.


Noise Margin (AKA Signal to Noise Margin or Signal to Noise Ratio Margin)

Relative strength of the DSL signal to Noise ratio. 6dB is the lowest dB manufactures specify for modem to be able to synch. In some instances interleaving can help raise the noise margin to an acceptable level. The higher the number the better for this measurement.


Line Attenuation

Measure of how much the signal has degraded between the DSLAM and the modem. Maximum signal loss recommendation is usually about 60dB. The lower the dB the better for this measurement.


GIMP Script-Fu


Public Domain Clipart etc.

http://www.clker.com/

Perl

CPAN Stuff

perl -MCPAN -e shell

install Blah::Whatever


Talking to the LPT Port in Perl

From http://www.geekinventions.com/?q=node/6

#!/usr/bin/perl -w

# Not necessary, this just makes you write cleaner
# code than you probably normally would.
use strict;

# Load the Parallel Port Module.
use Device::ParallelPort;

# Set up your parallel port object and tell it what
# driver to use. Note, I used 'linux' as the driver.
# the documentation will explain how to use the
# other drivers.
my $parport = Device::ParallelPort->new('linux');

# Now that you have $parport, you can turn your # data bits on and off which will send +5VDC down # each wires.

# This line tells it to set data bit 0 on.
$parport->set_bit(0, 1);
# Now there is +5VDC going down the wire.

# This line tells it to set data bit 0 off.
$parport->set_bit(0, 0);
# Now there is 0VDC going down the wire.

# Note that the first argument is the data bit, and
# the second number is either 1 for on, or 0 for
# off. the data bits range from 0 to 7 (8 total).
# With that in mind, the following eight lines will
# turn on all 8 data bits.
$parport->set_bit(0, 1);
$parport->set_bit(1, 1);
$parport->set_bit(2, 1);
$parport->set_bit(3, 1);
$parport->set_bit(4, 1);
$parport->set_bit(5, 1);
$parport->set_bit(6, 1);
$parport->set_bit(7, 1);

# One more important line of code that isn't
# directly related to the parallel port, but can be
# very handy none the less, is how to make a
# pause for less than a second. Traditionally, you
# would use the 'sleep(1)' function to sleep for any
# amount of seconds. However, in controlling
# devices or whatnot you may only want to pause
# for a split second. That's where the select
# statement comes in.
select(undef,undef,undef, .25);

# That line would pause for .25 seconds. So, for
# example, if you want to pause for three and a
# half seconds (3.5) you would type.
select(undef,undef,undef, 3.5);


Python

QT4/PyQt/QScintilla/Eric4 Stuff

I have decided to learn Python again. I did try a while back but it kind of faded to nothing. The only little app I've got to show for that is an electronics calculator that does basic P I R E type calculations. It was a cool little fun app though. Not terribly complex. A few dropdowns, some text boxes, some basic signal/slot stuff. etc. etc.


Back to my new Python Adventure...


I just used yum to install Qt4, PyQt4 and their -devel packages. I then headed over to riverbankcomputing.co.uk to get the QScintilla2 source.


I initially had trouble building QScintilla2 for Qt4. I was getting all sorts of odd missing files type errors and undeclared data types. Looking closer at the g++ command line that qmake created in the Makefile, I noticed that it was still using qt 3.3 includes. Oops! I then worked out that the qmake I was running was actually the one that belongs to Qt3. Oops Again! I managed to create a valid Makefile once I used qmake-qt4 or referenced the qmake in /usr/lib/qt4/bin directly.

There was a small hiccup trying to get the sample "application" to compile. I forgot to do a `make install` once QScintilla was compiled.

The other thing was the QScintilla install has a number of steps. I think I saw one website that actually listed all the stuff you had to do together in one place. So now it's here too. If it was in the doco, it was hidden well or too disjointed for me to find quickly.

cd Qt4
qmake-qt4 qscintilla.pro
make
make install

cd ..

cd designer-Qt4
qmake-qt4 designer.pro

cd ..

cd Python
python configure.py
make
make install


pyParallel Module for LPT port IO

>>> import parallel
>>> p = parallel.Parallel()
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "parallel/parallelppdev.py", line 188, in __init__
self.PPCLAIM()
File "parallel/parallelppdev.py", line 215, in PPCLAIM
fcntl.ioctl(self._fd, PPCLAIM) Style
IOError: [Errno 6] No such device or address


I have read some posts and articles that have recommended you blacklist the lp kernel module so you don't have to do it all the time - which is fine if you're not using the port to print!

Some good info here: http://orionrobots.co.uk/tiki-index.php?page=Simple%20Parallel%20Port%20LED%20Board


Some sample code (should turn the first 3 bits on):

import parallel
p = parallel.Parallel()
p.setData(7)


Django on CentOS 5 - Python2.6 etc.

http://chrislea.com/2009/09/09/easy-python-2-6-django-on-centos-5/


Microsoft Dynamics RMS Install Notes

Error = [Microsoft][SQL Native Client]String data, right truncation

ACCPAC Plus DOS -> Microsoft Dynamics

I'm still learning about MS SQL Server at the moment, so I'm kind of plodding along and learning as I go. Here are some notes for what I'm currently working on.

  1. Item Data from ACCPAC
  2. ACCPAC Item Data Fields
  3. Clean out excess spaces.
  4. Importing using BCP


SAMBA as a PDC

http://www.opensourcehowto.org/how-to/samba/openldap-lam-samba-as-pdc.html


Random EOTL MUD stuff

A few months ago my character got trashed because of inactivity. I forgot to do my regular login =(


I used to spend hours and hours online on this MUD! Back when I was on dialup...


Just recently I found a folder full of text files - all my EOTL notes! So I've put some down here, not the spoiler ones though, Quest solutions and stuff like that...


Eternal City

A MAP OF ETERNAL CITY

 ?
|
P-t-t-t-t-e SL PCA
| | | |
t-BS BB-e-s-s-s--s--s---o-?
| | | | |
t GC e AI-l EI--o
| | | |
SN-t AAC e-G l-a-a-a o-?
| | | | | |
 ?-l-l-l-l-*-l-l-l EB-a o-V
| | | | | | |
TA g L e A-i a C-o
| | | | |
g-e-e-e i-o--o--o---o-?
| | |
g-TE i a
| | |
g i-a--a--a
| |
 ?-g-d-d-d-d-i-?
| |
O DTR

Roads Points of Interest
===== ==================
a: Dark Alley *: Heart of E.C.
d: Dimension Drive A: Arena
e: Eternal Way AAC: A&A Clothiers
g: Glass Way AI: Anarchy Interdim.
i: Infinity Way BB: Bed & Breakfast
l: Limbo Lane BS: Dr.F's Body Shop
o: Old Road C: The Grind
s: Silver Street DTR: Dave's Throne Room
t: Tanelorn Road EB: Eight Ball
?: city exit EI: Everything Inc.
G: Public Garage
GC: EC Gold Cross
L: E.C. Library
O: Oracle
P: Posh Perko Pit
PCA: Paranoid C&A
SL: Eternal S&L
SN: Snak-O-Rama
TA: Temple of Ages
TE: Temple of Eternity
V: Videopolis

Handy Places

5w 2d 5n pay guard 3n w of heart - spirit
5w 2d 4s 3e s e 4s e s e 3s w 2s 2e - fem ogres
9 e 6s w s s u should find about 9 sailors

Crimson City:
w, s, read book, 5s, 2w

Brin's hotel
2e, 5s, 9e, n, e

Rangers - check for wtfs to get the correct numbers
5w, 2d, 2e, 5s, 3e, climb tree

Ice Castle
E, swim, 5w, 2n, 2w, 3n, w, 3n

Gnomeland Locker
5w, 2d, 6s, 6w, 2s

To The altar:
2e, 2s, 6e, 2u, put hands on altar, say kill

- Mining Town:
s, w, 4n, 3w
nw = Javier
s, u = Sam’s Hotel
w = bank
n = Bob’s Shop
e = into forrest
Thugs:
5w, 2d, 5n, pay guard, 3n, all e, 2s, 2e, 4s, climb wall, hole, d, n

Purple shop:
e, swim, 4w, 4s, 4e, ne, se, 2e, buy purple chalice

Middle Earth:
2e, 5s, 12e, n, open door, d, look into orb, 5d, out

- Forresters Guild from here:
5e, 7s

Snotling village:
2s, e, s

TV Land:
3n, 6e, 3s, e, s
Smurfland: change channel to 1, watch tv, s , 2w

Oak - n, w, w

Startrek Land: change channel to 2, watch tv

Football Quest: change channel to 3, watch tv

Entesia:
e, swim, 2n, w
From here
Orc Village:
n, 14w
Village of the Goblins:
n, 9w, nw, n
Bard Castle
d, 3w, 5s, 4w, 6n
Draconian Homelands:
8n, nw, ne, nw, w, nw, 2s, d, 2w, gate
Goblin Encampment:
8n, u, cave, use orb, 2e, 2s, enter encampment

Franks Bodyshop:
4w, 3n, e, regenerate

Statue:
4w, 2s, raise %1

Easyland:
w, s, read book

]p list - to read posts

The store in solace, which is from heart
e, swim, 2n, w, all north, u, cave, use orb, 2n, 2w, enter solace (your now in solace), all north, west.
There should be a dwarven beer seller there (unless someone killed him) who sells both barrels and boxs(of dwarven ale ie hp healing.)

The way out of acidland
8s,e,s,e,2s,w,s,e,s,enter

Fighters Guild:
2e, 2s, e, n, 2d

Berzerkas Guild:
1w, s, read book, 6s, 2w, 2s, w

Getting the BSB (Black Steel Blade) :)

3w s enter grating, 3e crawl crack, climb wall, kill krvok


Elfland

Ride horse, find door, open door, 2s, 2e, s, grab m, w, window, e, n, climb in vent, pull yellow rope


Getting out of acid land

go 8s,e,s,e,2s,w,s,e,s,enter



VMWare

VMWare Workstation/Player - Speeding it up in Linux

I saw this recently and its an excellent idea.


From http://flipcore.com/2008/07/vmware-player-make-it-faster/

Step 1: Edit VM config file

The file is usually located at /etc/vmware/config
Edit the file and make sure you have this line in it

tmpDirectory = “/dev/shm”

Step 2: Mounting /dev/shm

Edit /etc/fstab and add the following line.

tmpfs /dev/shm tmpfs defaults,size=1G,noatime 0 0

I’m getting really good results by setting the size of the partition as the same size of the ram I have.

Step 3: Mount and Run

Now mount the partition and give it shot.

VMWare Workstation 6.5

Resizign a disk: vmware-vdiskmanager -x 20GB "/path/to/diskfile.vmdk"


Memory

Taken from Wikipedia

Chips and modules

Standard name Memory clock Cycle time I/O bus clock Data transfers per second Module name Peak transfer rate
DDR-200 100 MHz 10 ns 100 MHz 200 Million PC-1600 1600 MB/s
DDR-266 133 MHz 7.5 ns 133 MHz 266 Million PC-2100 2100 MB/s
DDR-333 166 MHz 6 ns 166 MHz 333 Million PC-2700 2700 MB/s
DDR-400 200 MHz 5 ns 200 MHz 400 Million PC-3200 3200 MB/s
DDR2-400 100 MHz 10 ns 200 MHz 400 Million PC2-3200 3200 MB/s
DDR2-533 133 MHz 7.5 ns 266 MHz 533 Million PC2-4200
PC2-4300
4266 MB/s
DDR2-667 166 MHz 6 ns 333 MHz 667 Million PC2-5300
PC2-5400
5333 MB/s
DDR2-800 200 MHz 5 ns 400 MHz 800 Million PC2-6400 6400 MB/s
DDR2-1066 266 MHz 3.75 ns 533 MHz 1066 Million PC2-8500
PC2-8600
8533 MB/s
DDR3-800 100 MHz 10 ns 400 MHz 800 MT/s PC3-6400 6400 MB/s
DDR3-1066 133 MHz 7.5 ns 533 MHz 1066 MT/s PC3-8500 8533 MB/s
DDR3-1333 166 MHz 6 ns 667 MHz 1333 MT/s PC3-10600 10667 MB/s
DDR3-1600 200 MHz 5 ns 800 MHz 1600 MT/s PC3-12800 12800 MB/s


Hardware


Novell 4.11 Notes

I've recently set up a DOS 6.22 virtual machine. I wanted it primarily for use with our archaic accounting package ACCPAC 6.5 for DOS.


dos=high, umb
device=c:\dos\himem.sys
files=253
buffers=40
stacks=9,256

SET PLUSPRINT=H:\
SET PLUSSTART=H:\
SET PLUSUSER=H:\
SET PLUSSWAP=C:\ASP\SWAP

map r j:=SERVER/data:accpac
map r h:=SERVER/data/users:user

KDE

Open containing folder

Firefox or other browsers choose to open the folder using Nautilis on kubuntu. This is annoying. Edit /usr/share/applications/defaults.list. Find:

inode/directory=nautilis.desktop

Relace with:

inode/directory=kde4/dolphin.desktop


Other Misc

Hiren's Boot CD

Hiren's Boot Disk on USB Flash 8 port SATA controller


Benchmark Stuff

http://www.iometer.org/

http://www.sysopt.com/tutorials/article.php/12034_3604341_7 h2benchw


http://www.simplisoftware.com/Public/index.php?request=HdTach


Financial Stuff


Mods


Old Articles

Usb_Faceplate