23 May, 05 > 29 May, 05
25 Apr, 05 > 1 May, 05
28 Mar, 05 > 3 Apr, 05
14 Mar, 05 > 20 Mar, 05
11 Oct, 04 > 17 Oct, 04
13 Sep, 04 > 19 Sep, 04
16 Aug, 04 > 22 Aug, 04
Entries by Topic
All topics  «
How To
Projects
Rants
Blog Tools
Edit your Blog
Build a Blog
RSS Feed
View Profile
William Schumacher
May 20, 2005
Starting and Stopping Oracle on Linux from the command line
Topic: How To
To stop oracle:

As the oracle system user:
$ sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on Fri May 20 16:39:20 2005
...
SQL> connect / as sysbda
Connected to an idle instance.
SQL> shutdown
...
SQL> exit
$ lsnrctl stop
...


To start oracle:

As the oracle system user:
$ lsnrctl start
...
$ sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on Fri May 20 16:39:20 2005
...
SQL> connect / as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
...
SQL> quit;

Posted by wmschumach at 2:49 PM PDT
May 19, 2005
Ant Sucks
Topic: Rants
So I'm using Ant to try to automate installations, and it's getting in my way everytime I turn around. Here's some of the flaws I've uncovered so far:

1. Ant scripts can't handle nested quotes.
This _really_ bites when you have to do <exec> tasks (which are frequent because ant sucks so badly).
Ant dies in a horrible (and unhelpful) way when you try to do something simple like:
  <exec executable="bash" failonerror="true">
    <arg line="-c 'echo \"hi\"'">
  </exec>

This gets you the retarded error message:
  Element type "arg" must be followed by either attribute specification, ">" or "/>".
Once again, I don't know how those dumbass Java developers working on Ant managed to screw this up. EVERY Unix command out there can handle nested quotes correctly. I blame Java.

2. the <cvs> task is broken.
I don't know what it is, but I suspect it's related to the fact that I need to use the :ext: type of CVS as opposed to the :pserver: type. They probably never tested anything but the pserver method. Ironically, while searching for information about this, I found someone saying that the <cvspass> task was broken, but that seems to work fine for me.

It seems like if you want to accomplish anything -useful- in Ant, you have to fall back to <exec>'ing commands or scripts to do it for you, and then you hit issues getting Ant to recognize the status of those commands.

So essentially to use Ant, you're writing bash scripts. So why use Ant at all?

I hate all the automake make scripts out there, but at least make let you seamlessly integrate shell commands into your make script.

Once again, those dumbass Java developers have to go and reinvent the wheel, and forget the little things, like making it round.

The sooner Microsoft kills Java, the better.

Posted by wmschumach at 1:35 PM PDT
Updated: May 19, 2005 1:46 PM PDT
April 26, 2005
Electronic component sorting and testing machine
Topic: Projects
While going to my ECE lab this semester, every week I walked by a large box overflowing with a pile of various electrical components (resistors, capacitors, ICs). I look at this pile and just know that it's never going to be sorted out and put away, there's just way too many components for anyone to try to sort it out, and a fair percentage of them are probably bad.


It occurred to me that it would be really nice to have a machine that could take a pile of electrical components, pick them up one at a time, determine the type of component (resistor, capacitor, IC), determine the value of the component (100Ω, 100μF, IC 555), and then do some tests to verify that the component is good.


This would be useful to have around at home too, I don't have that many components at home, but it does take time to put everything back away after I've taken a project apart, and it'd be nice to let a machine handle it.


For the robotics, I figure some simple pincer arm would probably be good enough, with a single camera that can follow the pincer. The vision system would need to operate in a couple of different modes:


  1. When looking at the pile of components, it needs to be able to guess where a good place to send the pincer to grab a component, and needs to be able to determine when the pincer has a component. All the vision has to do is help the manipulator get something, it doesn't need to be able to pick out anything specific.

  2. Once a component has been picked up, the component can be swung around so that it is under better lighting conditions and against a cleaner background. At this point, the vision system just needs to be able to recognize the type of component (Resistor, Capacitor, IC)

  3. Once the type of component has been determined, then the vision system can use techniques specific to each component to read the value of the component. For example, for resistors, it needs to read the color bars. For ICs, it needs to orient the part so that it can OCR the text on the top of the IC.

  4. Lastly (and optionally), the vision system could use the ability to trace the leads or pins of the component, and guide probes into contact with the pins for performing electrical tests


I think this project should actually be within range of a hobby project, although the component testing bit may be a bit much.


What makes it most achievable is that most of the vision system requirements can be done under a controlled environment, and the one task that is not under a controlled environment (picking up the next part), does not have any stringent requirements. In fact, it could be implemented by a simple algorithm:

  1. Drop the pincer

  2. Close the pincer

  3. Lift the pincer

  4. Check to see if a single part has been caught

  5. If none or more than 1, open the pincer and repeat.


Posted by wmschumach at 6:08 PM PDT
April 25, 2005
New JDeveloper
Topic: Rants
I suppose I should give some credit back to JDeveloper since I ranted about it a while back.

I've installed the new 10.1.3 version of JDeveloper, and it's definitely prettier, and actually seems snappier than the older version. Refactoring actually works now too, not just class names (which was actually broken before), but method and variable names too.

Still don't know if it handles symbolic links correctly, but it's much better about pulling in sources you copy into the project path. CVS seems like it could work, but I'm not quite ready to start using it yet.

Posted by wmschumach at 2:53 PM PDT
Java on Debian
Topic: How To
Java on Debian has been a pain because Sun can't be bothered to create a proper package for it, and if you just install it from the .bin file distributed via java.sun.com, Debian packages that require Java have dependency issues, since it's not installed properly.

While installing Eclipse on Debian, I finally got around to figuring out the correct procedure for this.

1: Download the .bin for the jdk from java.sun.com (not the rpm.bin)
2: apt-get install java-package
3: fakeroot make-jpkg .bin
(check version, set up name and email, accept license)
4: dpkg --install .deb

This should work so that when you do a java -version from your shell it prints out the appropriate version. Your java will probably be installed somewhere like: /usr/lib/j2sdk1.x-sun/

Especially if you had some other java installed and working before, you may need to check your /etc/alternatives to make sure all the java-related alternatives are pointing to the appropriate path. If not, you'll have to run update-alternatives for each item. In my case I was able to an update-alternatives --auto to autodetect the correct thing.

Posted by wmschumach at 2:47 PM PDT
Updated: April 25, 2005 4:23 PM PDT
March 29, 2005
JDeveloper and symbolic links
Topic: Rants
Well, I'm wrestling with JDeveloper again. Stupid thing doesn't work if your project tree includes symbolic links. EVERYTHING else inthe *nix world works with symbolic links, so they must be truely retarded to manage to break that. I blame Java, everything Java-related flaunts convention left and right.

Posted by wmschumach at 2:04 PM PST
March 14, 2005
Integrating Linux into an Intranet using WINS name resolution
Topic: How To
I wanted to add WINS support to my linux machine so that it could resolve systems on the corporate intranet, which was managed by a WINS server.

It turns out that you can do this by installing 'winbind', enabling WINS support in /etc/samba/smb.conf:
  ; Don't BE a WINS server.
wins support = no
; Specify who the WINS server is
wins server = <IP address>

and finally editing /etc/nsswitch.conf and adding 'wins' to the line:
    hosts:  files dns wins

Then you should be able to ping and connect to WINS-managed hostnames.

Posted by wmschumach at 12:55 PM PST
Updated: April 20, 2005 1:52 PM PDT
October 8, 2004
Using x2x
Topic: How To

I've been using the nifty x2x proram to let me use a single keyboard and mouse with all the machines I have around. I have my main dual monitor Debian system in the middle of my desk, with a third monitor attached to a different Debian server to the left and sometimes a fourth system to the right.

With this setup, I can just use the same mouse and keyboard on all these machines (and potentially more) just by moving my mouse off the edge of one monitor to the adjacent one.

Basically, to use x2x to my other Debian machine (192.168.1.27) I just set up one machine to allow X11 access (on port 6000) to my main machine (192.168.1.28):

  192.168.1.27> xhost +192.168.1.28
and then on the main machine run the command:
  192.168.1.28> x2x -to 192.168.1.27 -west &
I also had to reenable listening to TCP. Since I'm using Gnome, this setting was in /etc/X11/gdm/gdm.conf and set the DisallowTCP setting to false. If I hadn't been using Gnome, I would have changed the line in /etc/X11/xinit/xserverrc from:
  exec /usr/bin/X11/X -dpi 100 -nolisten tcp
to:
  exec /usr/bin/X11/X -dpi 100

For machines running KDM, you also need to hunt down the -nolisten tcp option in /etc/kde3/kdm/Xservers.

When trying to enable this on a Redhat ES machine, I tried all the usual things, but had no end of problems getting the Redhat X11 server to listen. Finally I found Redhat's firewall configuration program lokkit buried in /usr/sbin and enabled port 6000, and I was finally good to go. If lokkit is anywhere in Redhat's system menus, I certainly couldn't find it. (Incedentally, I don't know why the dumbasses at Redhat can't ever put /sbin or /usr/sbin in root's PATH. You're not using root unless you NEED to use the utilities in /sbin or /usr/sbin anyway. And why the hell can't they give you a modern Vi?)

The lesson? Redhat sucks. Oh what a surprise.

Posted by wmschumach at 10:59 AM PDT
Updated: March 7, 2005 3:43 PM PST
September 10, 2004
Setting up dual monitors on Debian with a NVIDIA Quadro NVS with AGP8X
Topic: How To

I have a Dell Precision 360 with a NVIDIA Quadro NVS with AGP8X video card that I've set up with dual monitors.

I installed the latest Knoppix Linux (v3.6) using kernel 2.6.7 and did a apt-get update; apt-get dist-upgrade. After installing, I have XFree86 Version 4.3.0.1

I went to NVIDIA's website (nvidia.com) and downloaded the Graphics Driver->Quadro->Linux IA32 driver.

In order to install this driver, I needed the linux kernel sources, which I just got by doing: apt-get install kernel-source-2.6.7 kernel-headers-2.6.7-1. I wanted to keep the same kernel configuration Knoppix shipped with, at least for now, so I copied /boot/config-2.6.7 to /usr/src/linux and did the standard make oldconfig; make; make modules; make modules_install, reinstalled lilo, and rebooted.

Once back up, I ran the NVIDIA installer and started X. This gave me the NVIDIA splash screen on one of my monitors.

To get X on both monitors, I then had to edit my /etc/X11/XF86Config-4 file. To do this, I read NVIDIA's README at ftp://download.nvidia.com/XFree86/Linux-x86/1.0-6111/README.txt, especially Appendix I "CONFIGURING TWINVIEW". Sections I changed from Knoppix's defaults are below:

Section "Device"
  Option "sw_cursor"
  Identifier "Card0"
  Driver "nvidia"
  VendorName "nvidia"
  BusID "PCI:1:0:0"
  Option "TwinView" "1"
  Option "MetaModes" "1280x960,1280x960"
  Option "SecondMonitorHorizSync" "30-85"
  Option "SecondMonitorVertRefresh" "50-160"
  Option "TwinViewOrientation" "RightOf"
  Option "NvAGP" "1"
  Option "ConnectedMonitor" "CRT, CRT"
EndSection
The most important parts of this section are the "TwinView" and "MetaModes" sections. Make sure the modes you set in "MetaModes" match those in your "Screen" Section.

Posted by wmschumach at 1:52 PM PDT
August 17, 2004
Playing windows-based games on Linux
Topic: How To
I have found that the following Windows games work fine under Debian Linux using standard WINE:
  1. Space Empires IV
  2. Starcraft
  3. Streets of SimCity

Posted by wmschumach at 4:38 PM PDT
Updated: August 17, 2004 4:40 PM PDT

Newer | Latest | Older