- Past Projects - Present Projects - Future Projects -

Past Projects

Website: ( 1998 )
I build the website for a local company, it included information pages, an annual softball tournament page, and a 800 product online store.
Language Primarily Perl and SQL with a smattering of Javascript.
Server Hosted on DreamHost which runs Debian Linux.
What I Did I designed and coded the entire site, including graphic design, scanning, and touvhing-up. I also designed and wrote the store.

Website: ( 2000 )
While working for JAHL, I build an online store for a local company.
Company JAHL Data Systems; Klamath Falls, OR
Languages ASP, HTML, JavaScript, VBScript, CSS, SQL, SQL Stored Procedures
Existing Static store page without online ordering capability. No client administration.
What I added I designed and wrote a store that has client-maintainable categories, products, and images. The user can click on "add" which adds it to their cart (the cart is stored server-side in a UniqueID SQL/Session Variable entry. When the user checks out they enter their info (except the credit card info) which is then emailed to the company who then call the customer to get the credit card info. Online payments were not allowed because a SSL server was not available for this site.

Website: Starbright Foundation ( 2000 )
I worked on the Starbright Foundation's private website while working for Rare Medium in Irvine, CA.
Company Rare Medium, Inc.; Irvine, CA.
Languages ASP, HTML, JavaScript, SQL, CSS, VBScript, VB
Programs Adobe Photoshop, Macromedia Fireworks, Visual Interdev
Summary I worked on a big team to make this website, the site compirmised several hundred unique pages. I was responsible for coding the common-menu files, the client-side VB Shell, the slicing and compression of all the images, and the actual HTML and ASP code for most of the site. Back-end programs such as Stored Procedures, AOL DLL access, AIM client access, and most of the artwork were done by other groups.

High-School Senior Project ( 1996 )
I built a self-guiding car. It used bump-switches, servos, and capacitor discharge to drive around. It broke about 10 minutes before the presentation, but I was able to glue it back together in time :)
Sensors: Two forward-looking momentary switches connected to a skirt.
Motors: Two R/C servos modified for continuous revolution.
Wheels: 4" diameter Erector Set wheels stuck to the servo platters.
Power: Four C batteries in series, giving 12 volts.
Frame: Erector Set
Circuit: Completely analog, couple of relays, capacitors, and resistors.
Behavior: When a switch was closed, the robot would reverse both motors. One motor would reverse slightly longer than the other, which would make the bot turn slightly to the right.
Circuit Behavior The bump switches cause the capacitors to discharge into the transistor that controls the relays. So while the capacitors are discharging the motors are running in reverse. One capacitor has more resistance than the other, and thus drains slower than the other one, this causes that motor to stay in reverse longer causing the bot to make a turn at the end. When the capacitor discharges enough to stop tripping the transistor, the relays return to their normal, forward state.

College Junior Project ( 1999 )
I built (in a four-member group) a maze-solving autonomous robot. Sensors were IR emitter/detectors and the brain was a 8051.
Sensors 16 IR emitter/detector pair LED's connected to 8 data bits. They were aligned in a T form, and looked down on the top of the walls of the maze.
Motors Two 5 1/4" floppy drive stepper motors balanced by two castor wheels.
Wheels 3" rubber-rimmed aluminum wheels custom made (not made by us)
Power One 12 volt battery pack (transformer used during testing) for the motors, one 12v pack for the circuit.
Frame Aluminum frame appx 5" high, not built by us.
Circuit Utilizing an 8051 core and several memory modules. The 8051 was on a development board by NewMicros. Programming was done via a serial connection to a laptop through a custom connector. Onboard debugging LED's consisted of 8 yellow LED's corresponding to the IR sensors. Also two 7-seg LED's to display any alphanumeric character (primarily used to display the grid location in the maze.)
Behavior The maze was 16x16 each approximately 6" x 6". The walls were 1/2" white wood and stood about 3" high. The maze was re-configurable by removing the screws and moving the segments around.
Circuit Behavior The sensors would trip the transistors which led to the data inputs on the 8051. The outputs from the 8051 are TTL which directly drive the LED's (through 16v8 PAL's to decode for the 7seg's). The drivers use stepper motor driver chips which recieve TTL signals such as clock and direction bits for each motor. The motor circuit is electrically isolated from the rest of the circuit which allows the "noisy" motors to not screw up anything else.
Software Behavior The software went through a lot of evolution, the first steps were getting the motors to simply spin. The next step was to get the sensors working, and then both systems working together. Next came turning behavior (always turn right, etc) which included algorithms such as drift correction and detection as well as emergency stops. Mapping software came next which kept track of where in the maze the bot was and deciding which direction to turn when offered a choice.

Present Projects
Website: ( 1999/2000 )
My homepage, it has gone through several generations, each time adding the skills that I've learned such as CSS, DHTML, etc.
Whats New This latest version has some beautiful images that I parsed from images found on NASA's Astronomy Picture of the Day site. The text were shaded in Fireworks and Photoshop, and the color scheme of the site is managed through CSS (on the newest pages) with a color scheme of my own creation. No WYSIWYG editors were used, the editor of choice is EditPlus for Win2000 or Pico for Linux. One of the coolest features of this site is the colorize function in PHP which takes in a string and returns the HTML font tags that will do a gradient shade of the string.

Website: ( 2000 )
The future of is undecided.
The Old The original idea of was to be a web-hoster for local businesses. We were going to provide template-based sites which we would offer to local businesses at no charge. The plan was to build business relations with the people so that when the company decided to make a more personalized presence on the web, they'd come to us first and we could sign them up for monthly access.
The Present Everyone initially involved has decided to leave the city after we graduate, so the long term focus of the site would be lost. Additionally, though I coded about 1/3 of the site, we didn't have someone who really wanted to maintain the site or the company. I can do the technical side but I'm not really interested in dealing with customers right now. Thus, the project is on hold.
The Future The future is unknown, maybe will find another purpose, maybe it will sit here for while hosting only my personal page and email.

Bit-Addressable ISA Card ( 2000 )
On a whim (took about 3 months to get working) I built an ISA card with bit-addressable I/O pins.
Initial Concept The idea started out to be a christmas light controller that would control the lights through a WinAmp plugin. I ordered all the parts, built most of the circuit, and promptly found out that christmas lights cannot be separated from their strands. So, the card sat on the table for the rest of the summer.
Revised Concept Once college started again I had the urge to get the card working, and possible use LED's instead of lamps. So I finished the card, and it promptly didn't work. Fortunately the school has several $3000 digital logic analyzers which allowed me to take a look at control signals lasting only a few microseconds. As it turns out, I had wired everything perfectly (minus the wires I had crossed but caught earlier, the problem was that I had decoded the address select lines backward (actually, inverse - the 1's were 0's). Switching how those were written down (and changing the jumpers to match) got the card working. I could read and write bits (turn on a fan via an optoisolator) and reading (pull-up resistor on a jumper block).
How it Works The ISA card connects the address and data bus to an 8051 family microcontroller. The CS line on the 8051 is connected to the address lines of the ISA bus through some gates and some jumpers. Thus, the card can recieve configuration bytes as well as data bytes by simply writing to the port that the jumpers correspond to. The system could be altered to allow interrupts, as well.
Current State Right now it is waiting for an application, but it may turn into a robot controller, or a home automation something. Regardless, I'm proud of it :)

Lightweight BattleBot ( 2000 )
Myself and two friends are building a lightweight BattleBot. The frame is made of PVC which allows it to be really light but still be very cheap, easy to modify, and light weight.
Sensors Currently there are no sensors, but we're thinking about adding ultrasonic or IR sensors for distance sensing.
Motors Two 7" solid-rubber plasic wheels are used.
Wheels Two power window motors from a 1989 LeBarron. They're connected to the wheels with two axels from the pedals of a really old Schwinn bike.
Power Currently power comes from two 12V 7Ah batteries originally used in home alarm systems as a battery backup.
Frame 1" PVC, square frame with the wheels in the middle on the sides and the batteries in the center of the frame so the weight is over the axels.
Circuit Currently we're holding the wires together manually, there isn't a control circuit yet, nor any remote control.

Future Projects
More Robots!
I'd love to keep building more robots, especially web-controllable one's that could potentially serve a purpose :)

Site by Kallahar -