Below is a listing of programs and hardware generally completed while I
attended UC Santa Cruz. In 2005, I was 
awarded a BS in Computer Engineering. Please feel free to contact me about
anything listed on this page.
   - Charles Shiflett
      Hardware 
 
 
  Wireless Heart Rate Monitor 
 
 
 
	
	 The picture at right is a prototype embedded system for a small scale water
	control project using telemetry. Mid semester, my project changed to a 
	wireless heart rate monitor. I built upon what I had already engineered
	for 
	the telemetry project to create a robust heart rate monitor.
	The picture at right is a prototype embedded system for a small scale water
	control project using telemetry. Mid semester, my project changed to a 
	wireless heart rate monitor. I built upon what I had already engineered
	for 
	the telemetry project to create a robust heart rate monitor. 
	The final design was a 1.5 by 3 inch very low noise 64 times over
	sampling analog to digital converter which sent an EKG digitally
	(wireless or serial) to an interface board 
	[ Picture ].
	
	The interface board facilitated a wireless module, programming the
	chip, and chip to computer communications
	[ Picture ].
    
    A snapshot of the  development process may be viewed in either picture 
    [ One ] or
	[ Two ].
    An idea of the process is also visible in one of my early layouts for the board
	[ Schematic ]. On the software side,
	A 
    [ Screenshot ] of the software. I also
    wrote a [ Paper ] on the
    development process. 
	Additionally, the 
    [ Code ] or 
    [ Presentation ] may be viewed.
    Further information is available by request.
 
  Older Projects 
 
 
 The picture above with the text "Project Listing" on it is one of my
 first projects. It was an HC11 integrated with a 8bit ISA bus (not shown),
 which interfaced with the antique 8bit (think 8086) devices that
 were quite common and readily available in the 90's. The board used
 traditional wire wrapping
 techniques similiar to the original apple
 [ Wirewrapping Link ],
 though not nearly as complicated. Wirewrapping is still in use today,
 though with the cost of having a custom fabricated board being only about
 $70 [ APCircuits.com ], it is neither
 cost nor time effective.
 
 I also have a few robots I made, as well as a board to do
 frequency up conversion using hardware fourier analysis of a
 square wave. I am in the process of finding robot pictures,
 in the meantime, you can take a look at the infinitly less
 interesting fourier board [ Picture ].
 
 
 
     
     Software
     
     
     
  Bear Markup Language 
 
     The Bear Markup Language is a way of embedding SQL queries into
     HTML. I created the language to implement a online storefront
     tied to a inventory/accounting system 
     [ Source Code ].
     
     
     The code is a BML parser written in C, which also includes a
     CGI library written in C, and a series of database wrappers, all of
     which I wrote. Also included are sample BML files, and SQL (triggers,
     procedural SQL, creation routines... See PDA6).
 
     
  BearPlay   A DVD Player for OS X
 
  Note: 
  
   BearPlay may be used to play DVD's on a macintosh computer. See
   below for instructions. BearPlay uses Apple's DVD player framework, 
   which is included with OS X. It should let you play DVD's without
   having to license any software, but will still take advantage of
   whatever hardware exists on the macintosh to accelerate DVD playback.
   In addition, BearPlay speaks a simple text based language
   (play, paws, seek, ...) over the console, making it ideal for DVD
   control via remote.
 
 
 
	BearPlay is intended for non-linear playback of short DVD clips.
	You create the clips using the "gui" interface, for playback on
	'g-c3'.  'g-c3' is a stand-alone text controlled DVD player, however,
	it must either be invoked via 'gui' or the command line. It is not
	intended to be "clicked". Currently, things only work right if
	title 1 contains the DVD content.
	 
	 The two programs, 'g-c3', and 'gui' are collectively known as
	 BearPlay. 
     
     The latest and greatest version is available below 
     (x86): 
     [ BearPlay ]
     
 
     The source code is available upon request. Please direct any interest
     in the program to my email address (below). The 'gui' interface is
     a little awkward, though in general, it will auto-detect the first DVD you
     insert (or mount). You can also load DVD content from the file system
     using file->load.
     
To start 'gui':   
     Mount the DMG, (you may need to copy the files to your harddisk). Click
     on 'gui'. It gives you potentially useful debug information if you load
     it from the command line. 
 
  MTCW   Digital Filtering 
 
 
Morse The Chocolate Wave  is a program which uses
fourier analysis to decompose audio containing morse (dih dat dit) into
thet text to which it corresponds [ Details ].
 
  Boggle  
      Boggle  is a game involving 16 die each
      containing 6 different letters arranged in a random fashion. 
      I used C-code to implement interactive play and solving (in O(1) time)
      of boggle
      [ Source Code ].
      I dislike the coding
      style used, but... Don't blame me I was just following orders! 
      It is a scary overuse of Abstract Data Types (ADTs).
      
UCSC.Yikes.Com
 
 A Student forum for grading and evaluating teachers made as an attempt
 to show student concern over the switch around 2000 from narrative
 evaluations to grades at UCSC. I designed this forum as a general purpose
 engine which read page specific data off a database containing the
 site. This made the site easy to maintain, but made switching between
 hosts a pain. The source code is available on request. Written in PHP.
 
Kenwood TR-7950
 
 Are you the proud owner of a Kenwood TR-7950? 
 If so, download the
 [ manual ] here. Includes Schematics!
 
Others
 
 
 -  BSH         Bear Shell  
-  BVM          Bear Virtual Memory  
-  BFS          Bear File System 
-  BTP          Bear File Transfer Protocoal (like FTP, but single channel) 
-  Beer Server A HTTPD server  
-  BGA          Bear Genetic Algorithms  
-  Alife        A variant of Xlife, but more popular. "Get Alife"  
-  Xrect        Draw rectangles in X (X11R6)  
-  Bmodem       Not to be confused with bmodem, a way of (de)modulating data  
-  CgiC         Not to be confused with the other cgiC, C wrappers for CGI  
All are available on request.
 < -- B a c k