tech notes / + also latest dev notes for projects (end is most recent)


1) gdb (compile with -g to be debugged)
   static binary -static

2) to export eeg data --> past level/new level/ sum level changes and wrap 0-255

3) c static variable = value remains intact on leaving the function
   void * = generic pointer without associated type (hook for data in structure)
   inline = integrates that function's code into code for its callers (optimises this)
   both static and inline -> all calls to function are integrated into the caller ?

4) ap0202 cluster installation = check out scyld / mulinux / clusterNFS

5) insmod videodev then insmod bttv

6) essentials of programming languages -- Freidman, Wand and Hayes 1992

7) gdb -- commands where at segfault and trace

8) loopback = mount -o loop -t ext2 myimage /floppy

9) /proc/self and /dev/mem

Thu Mar 28 20:43:19 CET 2002

1) PIC/linux stuff

gpasm -pp16f84 testflash.asm

jal -- language compile to hex/assembly (must be in jal lib and run from
there with file to compile in same directory hmm)

gpsim -pp16f84 (simulator) -- with LCD module: gpsim -c lcd_mod.stc (from
lcd/examples ) -- but is for 16c64??

(sort of works with lcd jal example)

Tue Apr  2 20:47:56 CEST 2002

1) gdb -- use 'set args -n -blah' for args to debug

Wed Apr  3 12:47:58 CEST 2002


The packed attribute specifies that a variable or structure field should
have the smallest possible alignment---one byte for a variable, and one bit
for a field, unless you specify a larger value with the aligned attribute.

Here is a structure in which the field x is packed, so that it immediately
follows a:

struct foo
  char a;
  int x[2] __attribute__ ((packed));

Thu Apr  4 16:24:55 CEST 2002

1) emacs -nw = open in xterm but not windowy version 

2) leaving ap0202 till monday (problems with xp, short single cell of one
instruction and maybe reboot problems). fixed bitshift stupid. 

3) work on scanner for j. chip GI1904 (m105/gs105 drivers -- both for old
kernels and so don't compile). no other info. inside scanner is another
undefined mustek chip 

4) started work on video sampler based round libbgrab. (grab thread for
speed). tested for speed with frame calculation (pref in asm). implemented
held 4 sec sequence and lock/unlock . array of pointers to locked/unlocked
and diff buffers (after malloc)
---> lots of vgagl stuff gl_line and gl_fillbox
(got as far as basic interface)

Fri Apr  5 12:48:22 CEST 2002

1) for asm routines -> DWORD aligned means that padding is added to make the
byte-length of each row be zero mod-4 (i.e., evenly divisible by 4).

2) to do for vidyo sampler -> one sequence frame eff, seq effs.

FRAME effects: mirroring / zoom / pixel [transform.c in freej] / fract /
reframe [pos]

use simura.c in freej for mirroring also

transform is main thing 

q of needing to convert from rgb565 (16 bit) to rgb32 (32 bit) which most
these routines use but should only have to for palette operations

[note conversion routines in effectv palette.c if needed]

asm ?

SEQ effects: direction / speed / fract

MIX : straight / cut / mask / diff

3) transform stuff now running to do zoom / pixel and multiply

to do: mirroring and maybe use transform for fractal

repos is done straight from grabbed buffer (??)

transform uses tables ? of only having one transform table for both layers
or one per layer (when switch params need to free and reinit); -- or use set
of tables. also repos on layers [need to re-organise] 
also q effect per layer = switchable only or assignable per frame with
parameters ?

Tue Apr  9 20:45:45 CEST 2002

1) ported suitable frame and sequence effects but issues of speed and memory
now working with seqa and seqb (currently just output of seqa) -- to do is
mix effects and mixdown buffer + clean up for speed and stop
glitches/blackouts with some effect changes 

2) use array of pointers to mix effects (even if return just one or other
bffr pointr) .. also do lock/unlock for second layer

Wed Apr 10 20:11:22 CEST 2002

1) issues/problems with ap0202:

a) speed (primarily display q -- if could map mem space directly to sdl
every total execution cycle rather than redraw pixels and whole screen for
each cell instruction + IP stuff) --> would involve rewrite of locking/sems
and also use of sdl surface stuff ... STILL RESEARCH? (got rid of semaphores

b) how garbage collection works DONE

c) todo: cellular communication

d) if do modulus instruction set for each instruction then all instructions
are valid ??? test either way really q of speed and of cell length

e) reading not-own-cell memory (need copy-from-other-cell-function) (new
cpofn) DONE

f) taking approach of starting with one big cell than going thru it
instruction at time is problematic -- original idea of identifying cells
then parsing each cellspace is better.. how these big ideas could be done
without total rewrite of code 

could be done just with new cellinit routine. (again multiple cells is speed


g) also issue with split -- of reproducing cells and cell collective memory
??? of instructions considered as instructions

Thu Apr 11 13:09:29 CEST 2002

1) addressed cpofn -- now works

2) testing memcpy direct to screen -- try flip? -- also need to mark
so updates screen each total vm cycle (but now using SDL_HWSURFACE so no
need to update screen(?) -- test out palette stuff example:

/* Create a display surface with a grayscale palette */
SDL_Surface *screen;
SDL_Color colors[256];
int i;
/* Fill colors with color information */

/* Create display */
screen=SDL_SetVideoMode(640, 480, 8, SDL_HWPALETTE);
  printf("Couldn't set video mode: %s\n", SDL_GetError());

/* Set palette */
SDL_SetColors(screen, colors, 0, 256);

works for green-screen

[also note for vidyo sampler maybe port to sdl for speed?]

3) mrgfn changed to either/or merge back or forwards

4) TODO: channel SDL output -- sep from viewer // works on x with depth 8
and on concole q to quit.

5) TODO: polling on channels

Wed Apr 17 19:17:35 BST 2002

1) MIDI stuff to use with ap0202 seems simple enough -- sends SEQ_MIDIPUTC
then byte eg:

while (1) {
      read(seqfd, &inpacket, sizeof(inpacket));
      // print the MIDI byte if this input packet contains one
      if (inpacket[0] == SEQ_MIDIPUTC) {
         printf("received MIDI byte: %d\n", inpacket[1]);

[ unsigned char inpacket[4]}

#define  MIDI_DEVICE  "/dev/sequencer"

int main(void) {
   unsigned char inpacket[4];

   // first open the sequencer device for reading.
   int seqfd = open(MIDI_DEVICE, O_RDONLY);

Thu Apr 18 15:48:19 BST 2002

1) started work agenn on ap0202 -- fixed segfault and float point nonsense

2) tho SDL fullscreen doesn't work on this machine (try non full -- also
problems on console tho have libSVGA) runs ok on m15 -- FIX THIS

3) also not running garbage collector as was leaking memory -- TO FIX.

4) shld change so split is cell wall DONE

Sun Apr 21 15:04:15 BST 2002

1) filesystem access does seem to hang

2) need to fix so runs without reboot (q of operations on xp itself -- also
%isetsz experiments)

3) MIDI ->

/dev/sequencer -- midi packet 4 bytes -- [0] is event
[1] is midi byte

command is 8 bit / data is 7 bit

a 144 (+channel) - note on command

b key number -data

c velocity -data

then follows op of noteon - key number again and then zero to signal end of

don't know about how timing is done

4) ap202: fixed garbage collection i think so does not leak (recursive
problem) // using no % on instruction set // back to artm's display

Mon Apr 22 15:28:02 BST 2002

1) back to % (whoo) isetsz. more work on gc done. some expts with what to

2) TODO - midi input channel // channel polling maybe

Mon Apr 29 10:52:33 BST 2002


1) AP01: 

changes made: 

control.c -- can change data sources for entire system.
need real-time control


a) PIC video convertors
b) laser output // realtime linux
c) neural net sampler
d) video mixer --> new machine -- 512MB/ extra bttv card // think about fast
drives? // 
		--> current status:
needs test extra card// see tech.html = think of porting to SDL. think
structure is pretty much there

e) EEG --> uclinux
		--> [use parport nibble also instead of card input]
		have 8 bits on uC
f) audio sampler --> test. added record and replay matrix + bcast data

2) AP02:
a) fix filesystem code/ test network code over distances
b) running without reboot -- see notes from tierra etc
c) channel polling [possible to implement channels as seperate threads
reading into buffers -- flag also for changing input so fastest possible
d) next step -- python/lisp nodal structure (mebbe glued to c code here)
e) cell communication?

3) MISC:

a) paint machine
b) easy setup of cluster -- see debian automated setup +
scyld/mulinux/clusterNFS ... also trim kernels on cluster
c) check out plan9 os (+vmware) // also look at gstreamer
d) server/firewall/adsl setup --> new small hub
e) wireless setup
f) ascii vid conf --> to test

Fri May  3 18:29:37 BST 2002

1) in new test1may dir --> now single byte instructions (except set) +
re-written some of reparse code
-- seems give more variety

2) garbage collection deals with stupid length cells -- could simply just
reparse whole memory each time [but need keep cell registers etc. some way
of working with cell identity]

Mon May  6 12:35:13 BST 2002

1) finally gcollect working (using g_list_insert) -- used in both old + new
(test1may) versions -- seems keep diversity. 

2) possibly irradiate memory --> bitflip x bytes every y executions

3) tested videomixer app (installed bttv card from m5 in m15 -- swap m5s for
other card) -- image flicker + low frame rate -- get nvidia card + extra
256MB ram perhaps

Sat May 11 16:18:02 BST 2002

1) fixed ap0202 serious bug in kill code (both versions) -- now improved
garbage collection. still variation qs (radiate//templates/threading??)

Sun May 12 14:36:55 BST 2002

1) ogg encoding for raw sound files (from ap0202):

oggenc -r -C 1 -B 8 -q 5 -R 8000 tst

2) started looking at steppers and laser printer motor for laser display:
laser prnter: ta7295p 3 phase dc -- can only think of feeding it pwm from a
pic to see if that works
steppers 8 wire universal -- can be configured as either uni or bipolar

for display control wld be good to use pic (16f877) to handle timing and

Mon May 13 16:18:36 BST 2002

1) fixed sdl-channel colours and box .. minor changes filesystem code --
seems run ok on one machine hangs on other. can now start from -f

2) output to xterm console (without screwing own console):

xterm -e sh -c "~/ap0202v2/test1may/cells -m 10000 -f -o /dev/tty -s  >

[note: xterm -fg green -bg black]

3) using festival and /dev/speech for output of ap0202 --> 
a) run festival server (in ~/vox/festival/bin)
b) use perl script (speechd.pl) in ~/vox to start daemon
c) -o /dev/speech

Fri May 17 23:51:00 BST 2002

1) playing with 9600 -- compiles with SDL (SDL library must be with
executable) using MPW (build, whereis, files -- commands in mpw shell)

2) using find:

find / \( -path '/proc' -prune  -o -size +4000k -ls \) > err2

::pipes to err2 all files bigger than 4000k and ls'ed (except those in proc)

find / \( -path '/proc' -prune  -o -size +4000k -exec du -h {} \; \) > err2

:: executes du-h on files as above

Sun May 19 01:10:47 BST 2002

1) work on PIC16F877 project with jonnie: -(notes:
use /usr/bin/gpasm to assemble) -- in skin dir test2.asm/hex is rc2/ccp1 pwm
with changing duty cycles to give 2 tones // also change period but must be
shorter than duty cycle

todo on pic before go to switzerland:
1) as pre-test for data use adc to change frequency
2) check out data sheets and possibilities for monday -- order (ST or
3) battery and 10mH coil -- RS 228-343

Sun May 19 15:57:42 BST 2002

1) works well with ADC code (test3.asm/hex)

Mon May 20 21:52:25 BST 2002

1) autogen for cvs gstreamer needs latest libtool and automake

Tue May 21 14:30:14 BST 2002

1) PCB software to make pcbs needs tex ....

Tue Jun  4 23:35:16 BST 2002

1) re-install woody on laptop ... re-compile kernel for debian:

(make menuconfig // make-kpkg clean // make-kpkg -rev Custom.N kernel_image
--initrd // dpkg --install /usr/src/kernel-image-VVV_Custom.N.deb ) 

-f fileystem hangs from root ... TO FIX
[ shared memory seems limited for non-root user on suse box]

todo list for ap0202 to check ... + vector stuff wld be nice + with drawing

TODO:-> threading, filesystem, test network, mapfile code

Wed Jun  5 21:33:23 BST 2002

1) ap0202:
fixed -f hanging 
shmem seems ok for user 
started on threading but slow to fill first bit

Thu Jun  6 12:54:15 BST 2002

1) fixed most of debian woody problems. wireless card was not loading
orinoco_cs as couldn't find in pcmcia -- so load by hand then restart pcmcia
try adding to /etc/modules --> this seems to work ok ...

2) ap0202:
threading doesn't keep up with data input -- but

works ok with large buffer - done sound in/out theraded
todo: filesystem in + net in/out  only
DONE** -> needs more thoro testing and also can't start with any but pure
filesystem code

done: -l vector sdl output
done: -t sniffer (eth0 root only) -- threaded

3) pd:
standalone programs "pd-send" and "pd-receive" are provided that can send
mesages to Pd or receive messages from Pd via the netsend~ and netreceive~
objects. This should allow you to interface a wide variety of other programs
with Pd either on the same machine or over the network. Also you should be
able to hack the code into your own programs to make them interoperate with
Pd and/or each other. The underlying protocol is called FUDI. 

--> see u_pdsend and u_pdreceive in src ...

4) used autoexpect to make an expect script to ftp up this tech.html .. expect 

Fri Jun  7 13:20:14 BST 2002

1) ap0202:
a) added activity poll in read function for all (vm2.c)
b) TODO: need better start routine to fill [now can fill from straight file
... (and video still) + -f also DONE 
c) improved filesysthred code 
d) need to look over instruction set again // see below
e) DONE mapfile adding code [cgi-bin/pl2.pl] and pl3.pl download page ..
TODO message log thing .. really want to wait for adsl server for ap0202
before release.

f) QUESTIONS -->1) ricop fnction > ri->cop%isetz // ri->cop&(isetsz-1) or 0 if greater than isetsz
                   & is best solution as retains bitshifts etc.

	        2) template instructions (nop1, nop2 patterns) for se3fn, setfn, ldtfn (is jmp) and jiz
		3) from tierra: jmp and jmpb(ack) to templates
                                adr - address of nearest template into ax [our registers are: xp/wp/rp/gp/mp] ax wld be gp
				adrb/adrf - search bac/forward for template
				call   (push IP onto the stack, jump to template)
		4) question of use of gp to access registers - instructions which use gp as register register =
				btr/btlfn (bitshift)
				setfn (alredy hav se3fn so why not all)
				putfn --> implement above as ops on 0->4 =12 additonal ops
				jizfn (should just use gp)
		5) question of lively -- analyze

		6) note: [minitierra]
(http://www.csu.edu.au/ci/vol04/eff-tierra/node2.html) Tierran
organisms live in the memory of a virtual computer called the
soup. Tierra, as implemented, allows for an arbitrary soup size,
specified as SoupSize. As the soup is defined with periodic boundary
conditions, this implies that every memory operation must be performed
modulo SoupSize, which is typically an expensive operation. By
restricting SoupSize to a power of two, it is possible to replace the
modulo function by a bit-masking operation, which can be done simply
by altering the definition of the ad macro as follows:

#define ad(A) (A&(SoupSize-1))
/* #define ad(A) ((A) >=0 ? ((A)%SoupSize) \
               : ((SoupSize-(-(A)%SoupSize))%SoupSize)) */

2) IR drawing bot [for ap0202 to produce drawings] -->
/home/marty/cluster/m7/root/infra is code to use
.. needs bounded area for IR to reflect to it .. should work then.
charging .. also re-design perhaps for smoothness (v jerky)

3) emacs bookmarks
C-x r m blah - sets bkmark to point
C-x r b blah - opens bkmark
C-x r l - lists
M-x bookmark-save
M-x bookmark-load (just using default files)

Sat Jun  8 12:09:18 BST 2002

1) see http://openil.sourceforge.net/about.php (deVIL) for reading
image file formats and maybe libsndfile as same for sound?  (or use
sdl-image library and sdl_sound [http://icculus.org/SDL_sound/] FOR
TRANSLATORS (more relevant to data mirroring stuff)

Mon Jun 10 12:56:46 BST 2002

1) ap0202 todo +: see above // check out SDL blits // web data (random Ips
port 80 ???) // loop thru file (over and over) -loop FILE

2) adsl running (port forwarding accessible from outside on external ip --
artificial.f... // sort new server in DMZ

3) silly zip -->   zip im.zip images/*

Tue Jun 11 11:21:21 BST 2002

1) ap0202 todo: pl3.pl should PREPEND ip address to mapfile DONE 

a) ...  also want ascii render of run on browser -- code to write web
page on server (to build) simple enough (open file .. write stuff //
close file) 

DONE --> writes to buffer which then opens/writes appropriate file
(new.html) [reads head and tail for html) 
doesn't wrap tho (could do this)

out=open("new.html", O_WRONLY|O_CREAT|O_TRUNC, S_IRUSR|S_IWUSR);

b) problems:
 net stuff problems cellsend / recv to check out

also thred bit is bit weak (no intrdcounters etc to sort)

also if use -f -w does not write file tho still does do sayfn ..???

--> is problem with dirpath changed by -f filesystem stuff ///
solved temp with hardcode /home/newlife/head etc..

2) update page -- pictures outdated etc.

3) installing debian on server to be : sort dual p100s / memory ? 
[also memory for 233mmx machine for neural net audio use]

Wed Jun 12 19:40:06 BST 2002

1) ap0202: 
   how to solve problem with dirpath except by hardcoding ?
   fixed thredded net i think

2) woody on server to be. recompile for SMP -- 2 P120s 
[ note server conifg for dbn:

    * Configuration files can be found in /etc/apache.  * The
    DocumentRoot, which is the directory under which all your HTML
    files should exist, is set to /var/www.  * CGI scripts are looked
    for in /usr/lib/cgi-bin, which is where Debian packages will place
    their scripts.  * Log files are placed in /var/log/apache, and
    will be rotated daily. The frequency of rotation can be easily
    changed by editing /etc/apache/cron.conf.  * The default directory
    index is index.html, meaning that requests for a directory
    /foo/bar/ will give the contents of the file
    /var/www/foo/bar/index.html if it exists (assuming that /var/www
    is your DocumentRoot).  * User directories are enabled, and user
    documents will be looked for in the public_html directory of the
    users' homes. These dirs should be under /home, and users will not
    be able to symlink to files they don't own.  ]

Thu Jun 13 14:30:53 BST 2002

1)  rdev  - query/set image root device, swap device, RAM disk
       size, or video mode
use: rdev image

2) fixed -w writing privs -> S_IROTH | S_IRGRP 

Sat Jun 15 17:26:30 BST 2002

1) agenn possibles for easier install -- could use mulinux mini-distro
[create addon -- see documentation in prog/mu when mount -o loop USR
in doc/help] but is libc5 allover..

2) nonsdl version of ap0202.01 [for snd/speech etc. use]

Mon Jun 17 00:07:11 BST 2002

1) upgrade debian:-

change /etc/apt/sources.list stable --> testing/unstable
apt-get update
apt-get dist-upgrade

2) changes for rsh no passwd root login:

passwd -d root
comment out: 
securetty line in /etc/pam.d/login and rlogin
rhosts line in  /etc/pam.d/rsh

3) trying to use pack0.2 on artificial and m15:
art: not run X
m15: no colours on display [fb ? / svga problem -- try set lilo differently to
vga 2 FIXED]

Wed Jun 19 21:16:31 BST 2002

1) ap0203 machine -- trying ap0202 with vidyo input (segfaults if no
camera/source connected ??)
also no sdl output source even though svgalib is configured 
[needed apt-get install libsdl1.2debian-all]
note: dpkg -l "*aalib*" to see list of packages containing aalib word

Thu Jun 20 16:40:57 BST 2002

1) cdrecord stuff:

using recorder in /home/newlife/v222/vidyo/xawtv-/tools i think

[on m15 /opt/schilly/bin]

cdrecord -scanbus

cdrecord -v -speed=x dev=bus,id,lun -audio -pad [or just -data for image] x.wav
y.wav etc.

for mp3s:

mpg123 --cdr - x.mp3 | cdrecord -audio -pad dev=0,0,0 -nofix -

then when done all tracks:

cdrecord dev=0,0,0 -fix

TODO: copy ap01 first CD to drive using cdda2wav or cdparanoia **DONE

2) new server [needed boot off woody rescue.bin in


rsync -av /home/newlife

had to remove ap0202 filesystem thredding to work properly.. testing with
huge cell sizes

Fri Jun 21 11:55:44 BST 2002

1) also removed netwk thredding for release (bac to old network.c version)
seems run ok

2) note: find / -name 'bttv*' -print

3) for bttv: mknod /dev/video0 c 81 0
chmod 666
and ln -s video 0 video

+ options bttv card=0 radio=0 pll=1

4) using cur app in marty/cluster/m15/svga [latest version]

a) changed soundall.h FRAMESIZE to 2048
b) problems with mixdown 2 buffers q of pointers to check
c) segfault --> to replicate
d) bitflip? new rule?
e) also effect of data sources on 0/1 parameters

Sat Jun 22 14:52:55 BST 2002

1) fixed sum of above problems in svga (data sources -> parameters / hold /
mixdown seems happy)

Sun Jun 23 15:12:57 BST 2002

1) using cvs to get ardour

cvs -z3 -d:pserver:anonymous@cvs.ardour.sourceforge.net:/cvsroot/ardour
checkout ardour

after login (dir=ardour)= $ cvs
-d:pserver:anonymous@cvs.ardour.sourceforge.net:/cvsroot/ardour login 

Tue Jun 25 21:47:42 BST 2002

1) ap0202 chunk size ? for audio output

2) cdromn -- making image:

mkisofs -r -J -o cd-image directory/

test with
mount -t is09660 -0 ro,loop=/dev/loop0 cd-image /cdrom

3) note libpcap for sniffing .. also driftnet for .jpg .png and .gif
transaltor code

4) uClinux -- for eeg (will use port c)
re-acquaint with bcast prog: /home/newlife/UC/own/bcadc.c
FFT input: cluster/m8/inputtest.c (on x86 has inline assembly for rdtsc

other notes- .101 as address (supports telnet) + mmounts /home/marty/UC

Sat Jun 29 00:09:45 BST 2002

1)  uClinux -- for eeg:: stupidly slow with fft of data // tried lookup
tables fo sine/cosine but not too much improvement ... may have to just
export data or rather use PC with parport nibble (see controlbox source)

note: flashloader image.bin (from NFS mount)

TODO: use PC for FFT analysis and broadcast (q of timing of delay for FFT
frequencies -- see article)

[try patch kernel and look at libm source for UC]

Tue Jul  2 00:32:41 BST 2002

1) tried some solutions to uC problems -- shifted to pc [changes to
inputtest] port address 0x330 // usleep(156) 1/64 sec // changes to FFT ..
still not so happy with it (maybe q. of offset etc with ADC : also note
alternative eeg design in newproj/eeg/eeg1.txt).

2) ap0202 still segfaults in net code

Tue Jul  2 20:48:14 BST 2002

1) **FIXED -- netwerk code (processing of mapfile)
seems work ok (also increased size of mp array)

2) TODO: TTL structure for each entry in mapfile (inc if hear from them
--dec if don't) -- **DONE -- set originating TTL to 500. dec in -->
--poll. inc +=4 if contact made

3) playing with emacs -- ange-ftp

CxCf  /newlife@1010.co.uk:/1010

(also passwd in .netrc  -- must have correct permissions tho --> seems
have probs if set as bookmark)

Cx` (after Mx compile == advance thru errors)

Thu Jul 11 12:26:26 BST 2002

1) CVS stuff for sourceforge::

export CVS_RSH=ssh
export CVSROOT=loginname@cvs.yourproject.sourceforge.net:/cvsroot/yourproject  

[just to setup: cvs import directoryname vendor start 

get fresh version: cvs -z3 checkout directoryname]


cvs -z3 update -Pd [to update working copy to be in sync with

cvs commit -m "comment about changes." filename [committing changes to

To add a new file to the CVS repository:
cvs add filename
cvs commit -m "comment about added file" filename 

Sat Jul 13 00:42:04 BST 2002

1) hand scanner logitech scanman256 now working with logiscan0.0.5 on
old slakware 2.0.35 [may work on newer kernel] with LOGI_IRQ=5
LOGI_DMA=3 [+some changes to Makefile etc] -- can use /dev/scanner to
read stuff ... for sound work now either do self-contained program 
or use as bcast data but may not make much sense as really need to 
deal with as line data [again question of a chunk size -- need to deal 
with differences in chunk data]

2) now using with soundblaster card (irq 5 dma 1 -- insmod sound)
 .. so set logitech to IRQ=7 DMA=3 and both works find .. need to 
remember package manager for slakware so can dnload aumix ??

Mon Jul 15 20:18:35 BST 2002

1) lots of ideas for scanner use :- probably best to use FFT on say
M15 of audio data ... incoming bcast data of chunksize X alters fft amplitude/freq?

2) working with gentoo on M15: using pkg-config rather than gtk-config
to compile ap0202
1) if alter Makefile.am must do autoconf and automake (which require
mkinstalldirs and missing -- so need these in dist)
2) syntax pkg-config --libs (or --cflags) gtk+-2.0 (or whatever)

Thu Jul 18 11:21:11 BST 2002

1) now skannr machine sends UDP data to pd-running machine
(m15) .. need to play with chunksize of data and also more FFT stuff
(hanning window??) .. also possibly write standalone neural net app to
deal with marks scanned --but amp/pitch of samples?

look at nn stuff again

2) .. and need to get ap02 perf system sorted: mirror/translator stuff
-- needs to know what sorts of data it can handle (new struct) and
also increase buffer size for incoming/out data .. map out work

3) startx -- -bpp 16

 ditch audio ap2 loop/buffers stuff

Tue Jul 23 01:06:03 BST 2002

1) quickcam vc model :-- works on m15  using qcamvc module (modprobe) -->
-- and gqcam.. but no mmap (for hasciicam) but maybe modify sample -->
-- v4lgrab program

Wed Jul 24 15:56:42 BST 2002

1) fixing up ap0202 problems on server (ap0202.01nonsdl -- just ftp -->
-- filesystem.c over to main machine -- then do CVS stuff).
now reads whole files but still needs better random walk through
also changed so no audio out buffer.

committed to CVS. (ap2/ap0202/ap0202)

2) pd -lib ann -lib ~/july2002/ggee/control/serialize

using serialize object from new ggee and ann extern in ann_som3.pd
patch (uploaded)

to combine with m15:/root nettest.pd stuff for scanner work

Thu Jul 25 19:48:00 BST 2002

1) pd:- combined in nettest3.pd and nettest4.pd

2) ap:- some fixes to filesystem code and now testing net code (no
longer adds .. 1 segfault after few hours
connect/disconnect activity to resolve

Sat Jul 27 15:49:37 BST 2002

1) extensive testing with some changes to net code ... run for sevral
days with connect/disconnect ok ... check out holes and stable state
then cvs/new tarball

Sun Jul 28 20:57:27 BST 2002

1) latest version uploaded

Mon Jul 29 23:14:32 BST 2002

ap0202 work:

1) started work on mirfn --> mirroring
is ok for sound (works fine) ... need to do video in mirroring and
check also for appropriate output devices present ... also changes
todo for translator code (involve counters to write to appropriate
buffers) // also mirroring should have output counter through output
buffer (at present only starts at beginning and outputs desired

so far vid code in channels.c does write to buffer (to test with m15)

2) modified all instructions to 1 byte: seXfns now use mp register
only ... also use & (isetsz-1) succesfully to determine instruction to
use ... ldtfn also looks only for itself as template

Wed Jul 31 00:40:26 BST 2002


1) finished mirfn for sound and video: detection of audio/video in/out
// video mirfn // output buffer counters also ... still not so fast
for video (solution? sayfn and mirfn length thru mp? or speed up ap
do % stuff suggested above and remove g_logs and look more ways 
doing this)

2) TODO: polling activity 

3) started looking at translator possibilities -- test using sdl_sound 
ok but tricky to compile (and had to remove sdl_init from 
SDL_sound.c  (unless used all sdl functions for sound handling in

other libraries-> libsndfile (looks ok but no mp3 support) //
libaudiofile (not so nice) // sndlib (not so nice)

4) started translator code for audio (need to sort structures and
runs ok just at detecting files -- still todo is code to write to 
relevant buffers and update counters and mirrorfn flags

+ how easy is to sort for sniff also // need struct to know what
devices/channels are loaded

Thu Aug  1 18:14:09 BST 2002

1) more translator work -- put filesnd, filevid, filechan and counters
into _mirror structure for new instances in mirrorfn .. also code in
filesystem.c to copy transformed data into buffer during readfn

2) annoying emacs auto-fill mode toggle with M-x auto-fill-mode

Fri Aug  2 23:22:42 BST 2002

1) translators working for audio code -- need to update CVs (add
translator.c and update almost everything else). add image translators
next and sniff code (see driftnet for both).  now we have record of
mirror rw and channel in channel structure .. would be cleaner if each
channel pointed to mirror sound or video buffer and counter it could
use but ...

also todo: loopfile, activity polling + would be nice to be able to
specify where in tree filesystem walk begins

[translator.c image (sdl) issues -- now does nothing (returns no files
but normally on memcpy writes to screen image ? -- is only in
conversion SDL_ConvertSurface thing)

Wed Aug  7 22:01:48 BST 2002

1) ap0202: fixed SDL_image problems -- was returning overlong length
... seems fixed now ... few other changes .. need good test before
commit cvs (changes to a lot of stuff)

also bodged solution as sdl_image translation references current sdl
screen so if there isn't one it simply returns 0 length of translated stuff
should really sort all sdl out stuff ready for data app//ap live system

Fri Aug  9 19:32:09 BST 2002

1) ap0202: changes for speed:
a) removed file thredding
b) commented out all g_logs
c) look at chunksize in filesystem and network
d) WHEN in cells.c is how often per complete cells cycle garbage
collection and mutate is called
e) fixed bitshift left (btl0-x) tho watch for it in tests
f) commented out activity scans in lsnfn
g) other minor changes

still TODO then CVS update for today:
1) test m15-video // audio in/out 
2) could do vid input thredding
3) loopfile and specify -f start in tree
4) towards generic data app --> 2 video cards (mix/blit operations)
--... txt console out + data ops with ap at core ??? or check out GEM/gstreamer stuff

[should sort architecture of ap2 system for autumn stuff] 

2) using pix_video object with gem (works in colour if use message: |mode PAL 1|) ... (see
reworked sphere patch)

3) putting gstreamer (& gst-plugins --> mjpeg stuff fails to build tho 
.. happier with older quicktime4linux .. gst-plugins flac
problems so left this out of compile) on m15/gentoo

Sat Aug 10 15:43:25 BST 2002

1) added option to specify -f /treestart (where starts doing
filesystem walk)

2) added -p loopfile option ... reads and loops in file (but no 
translators attached) ... translator stuff and mirrorfn v messy
.. would be better written with generic and global video and sound
buffers rather than channel buffers .. TODO

anyways upload new tar.gz and CVS after tests.

possibility (as suggested by barbar) of connect mini-ap to here for
process power // cluster running here...

3) put SDL stuff on ap02serv (some issues with where .so are = export

4) gstreamer -- register plugins // v4lsrc works with aasink but not 
 xvideosink (refuses to play) .. werks with sdlvideosink

Mon Aug 12 16:45:43 BST 2002

1) playing with neural net stuff (review old notes made on types of nn)
changed to size 64 buffer + some speedups also (also no display)

[see v222/prog for good c tutorial stuff]

maybe could put nn stuff in cur/generic data app .. control/or//data
-> nn -> control//data (eg data from scanner) do more research ...

2) also q of amp for solenoid stuff and get broken laser printers for
rotating mirror also

Sat Aug 24 22:19:32 BST 2002

1) modified HD controller for mirror/3-phase motors (use
grey/purple/blue as 3 phase) then play around with 4th connection for
HD servo sensor ... works though on TDA5142T controller ... sort out
rig for laser/+ 2 motors and use actutaor from HD as blanking ...??

Sun Aug 25 20:18:52 BST 2002

1) re-examining all neural net stuff ... (some mods to neuralsynth
only on m15) ... looking in fingertips code ... hopfield is no good
for scanner as does not reduce amount of data and is auto-associative
--best used to correct corrupted data ... also looking at kohonen
maps, adaline and adaptive networks (what is adaline good for ---
can't work out example here) ... arts looks promising as way of
classifying data sets according to limited number of criteria .. what
would be best for EEG if take that route rather than FFT+? ?

see also BAM as hetero-associative ... (but bam and adaline are
trained ... best fit would be art // adaptive resonance thing or

2) also fixed up HD actuator as blanking (to test tonight) connects to
parport (via ULN2003) ... q of highest frequency??
--blanking speed question??

Mon Aug 26 14:56:43 BST 2002

1) using ART network for scanner data (412 points reduced to 1 bit
each point by <64 --- cannot use B/W 1 bit setting on sknnr)
.. outputs winner classification ... todo: bcast port 9097 code
done/tested 9097 with cur (now altered on M15 so hangs onto bcast code
rather than zeroing out when no received byte) 

code is in root/skan dir on .106 machine (ap0205)

2) NOTE: latest eeg code is in /home/marty/m8/inputtest.c rather than
neweeg (all uC code)

a) how eeg data is broadcast -trigger/value (if change)
eg. if (change) value=(change freq*amount of change) (mod 255) ??
or feed into neural net
or feed data straight into ap0202 ???

b) test with electrodes (head?)
c) should be port 9098

3) Q. ap0202 performance start -> starting with empty/silent cellspace???

4) ap0203 now speech synth machine :::

a) cmpci (little cmi8738 card) -- in /etc/modules and alias /dev/dsp -->
-- in etc/modutils/aliases or whatever
b) start festival --server
c) run /root/speechd.pl -s festival
d) pipe > /dev/speech works ok.

put to start on boot in debian ==

local boot script

a) put script in /etc/init.d
b) run update-rc.d scriptname default NUMBER

also see:


Wed Aug 28 00:08:06 BST 2002

1) mutt stuff:
#bind keystroke to go back to mail spool = H :
macro index  H  "c/var/spool/mail/newlife\n"
#(in .muttrc)

#and as for pine roles:

set alternates = "martin@linuxuser.co.uk" 
set reverse_name

save-hook "~s PD" =pd
#for subject line pd s to save and delete (*= end start of list also)

2) performance system:
a) need ap broadcast machine
b) done adcrot (combined adc/rotational machine (in newadcrot ..
takes bcast port as argument) --> test at night /// DONE is ok
c) done newswitch for videoswitch - number of video inputs followed by
bcast port as arguments (may need to fine tune timing) .. also machine
to support vidswitch (use old m2 // m8 is new adcrot .. get rid of nfs
stuff on m2 also DONE)
d) all machines should run stuff on boot (cept. video and audio app /m15/artificial)

Thu Aug 29 16:43:07 BST 2002

1) PIC probe done using voltage divider across src/gnd (2 x 10K) 

Fri Aug 30 14:40:38 BST 2002

1) new work on cur samplr:
a) added 'G' live option toggle
b) put in new bcast channels but slows down so select one using 'B'
cyclic (9096-9099)
c) now stop/start record > audiofile S D // records into audiobuffer2
(frag_buffer) [rem. write/read is *2 for short but advance array not
*2 as is short]
d) also minor fixes ...now starts mix at 0

also on ap0202: 

a) started on shared memory channel -x option -- 2 buffers (read and
write) allocates fine but will need semaphores on sound/video input
channel ... also buffersize is tricky

kindof works with two different buffersizes - commit to CVS + upload
tar.gz DONE

problem is no mirroring with shared memory stuff and also cannot start
up ap with shared memory (app which fills must connect after) but
could possibly work with wait/poll stuff

Mon Sep  2 17:06:30 BST 2002

1) /usr/bin/setterm -blank [no screen blanking (cept on X??)]

2) latest cur is in ~/svga (on artificial) -- TO TEST
seems ok --> is 4th buffer 

3) setup laser/bcast machine (code TO DO) notes for cluster:
a) to run latest ap0202 all machines need sdl_image (apt-get), sdl_sound (http)
b) do LD_LIBRARY_PATH for sdl_sound in .bashrc
c) symlink /dev/mouse for SDL if necessary

Tue Sep  3 13:48:26 BST 2002

1) done -b new bcast channel for ap0202 (to commit etc after testing
-- hard coded for 9096 .107 machine)

2) TODO framegrab threading // alterations for M15 shared memory
// DONE with alterations ap15 on m15
ipcs -m shows info about shared memory

again -b and -v /dev/video -x to test fully [need TODO: sdl app to
connect to shared memory]

Wed Sep  4 21:24:55 BST 2002

1) started on sdl app .. connects and showed shared memory ... version
on m15 to backup to here ... also need to putback some problems with
shared memory code to ap0202 version TODO... DONE also m15 version cancels
use of sdl in main code regardless of display (need really to sort as
is messy in ap0202 (translators need sdl stuff)

also fix mirror code for shared memory DONE on m15 version // transfer

experimented with bitwise mixing .TODO:
a) chunksize
b) interpretation layer :> straight, ascii/greyscale, ascii/raw, vector 
c) effect layer (zoom/pixel, transform mappings)
d) different mixes (bitwise, merge/value)
e) bcast control

Fri Sep  6 11:46:04 BST 2002

1) DONE: shared structure giving len and position (vapp)
2) DONE: modified Makefile.am and configure.in for nasm and assembly
library from libbgrab (had to add AC_PROG_RANLIB to configure.in)
and for Makefile.am:


NASM = nasm -f elf

	$(NASM) $<

lib_LIBRARIES = libfilters.a
libfilters_a_SOURCES = filters.c filters.h asmabsdiff.S asmbinarize.S asmaddbytes.S asmandbytes.S asmthreshold.S


vapp_LDADD = libfilters.a

3) ported effects/mixes

Sun Sep  8 00:02:20 BST 2002

leaves TODO: 

a) chunksize: DONE
b) interpretation: DONE -- TODO: ascii interpretations using SFont DONE
c) bcast:: for bcast stuff put keypress functions into array DONE::
d) speedups (table1 and table2, memcpys) TODO
e) array for frames-lock and lock3(z) DONE:: TOTEST:: OK
f) add - keys for positioning: DONE + document keystrokes:

keys   general  specific

1 -> 9 :  positional 2 buffers
q -> [ :   buffer1   q:lock wer: buffers tyuiop[: effects 
SHIFT: qw: param1 er:param11 tyuio: interpret 
a -> ' :   buffer2   a:lock sdf: buffers ghjkl;': effects 
SHIFT: as: param1 df:param22 ghjkl: interpret
z: lock finalbuffer x->m: types of mix ,: bcast1: locks last keypress
                                       .: locks use of bcast

uses port 9096

next week: testing::
0) test cur (+controller) + test nn synthbox ::DONE
1) update machines with latest ap0202 (+sdl_image/sound if necessary
and paths) // hit problems with ap0202 machine (no gcc and no room..)
so runs ap0202.01 with network.c updated .. seems happy enough)

// install mapfiles DONE

check rsh DONE ...  and do shell script DONE : test on big test

scripts in ~/control

seed sound??//speech synth content/loopfile??
2) mixer settings
bcast settings DONE
default vidswitch setting DONE 
and set ports in for adcrot and vidswitch
adcrot: uses 9096 in
vidswitch: uses 9098 in

scanner: 9097
rot out: 9098
ap02:    9096

3) cabling checked -> full setup & test.

4) GET (+processor, power supplies, mic (find))

Tue Sep 10 14:40:06 BST 2002

1) changes to ap0202 to fix SDL initialisation Qs ...
2) +made changes to network.c to stop segfaults + liveap version
(without mapfile changing stuff)

1) fix decks (+some tuning of M8 stuff)
2) total test

Tue Sep 17 00:45:29 BST 2002

1) amp (tda2005) + lasers seems to be working .. to test with -j
(laser out) option in liveap directory
-ok but maybe use threading to keep showing stuff (or use shared memory)

test laser.c in ~/ap15 (to test on ap0206) -- uses shared memory

2) gentoo + ion + postfix etc. done .. printing with devfs
/dev/printers and xpdq (pdq) to fix
// switched to lprng .. still to configure

+ test alsa stuff with cur and liveap

3) look at simca // sourceforge

run aclocal before autoconf/automake

pkgconfig -> glib 2.0 (q for ap02)

Thu Sep 19 00:39:28 BST 2002

1) laser machine now uses broadcast 9096 data // works ok
2) artificial should be set -b to broadcast
/root/AP/liveap/cells -m100000 -f / -x -n -b

[m15: /root/ap15/cells -m10000 -v /dev/video -n -x


3) trying to fix up adcrot -- adcrot out? (would have to fix vidswitch 
m8 slows down with bcast stuff -- bind? -- fixed with PCI network card

Mon Sep 30 18:01:13 BST 2002

(previous:: ap02 working in amsterdam with eeg)

changes to system/problems:: 
1) cur on artificial -- problems with audio line input disabled in
alsamixer (snd-cmipci) TODO 
--fixed // mute both "line-in as" channels on alsamixer

[+ also s pitchshift broken on cur]
FIXED-- change float blah to static float in proces function

also q of amplitude of cells buffer FIXED
+ segfaults with cells reinit/bitthing FIXED

2) record players still problems with bcast ap stuff so switched to
use scanner input
3) speech synth box broke so use on m15 (need look further into idea
of operating ap at word level) // need run speechd.pl -? festival
4) machine list: 
   1) artificial-ap/cur
   2) m15-ap/vapp + speech
   3) ap0202 - ap sound
   4) ap0201 - ap sound
   5) ap0206 - laser
   6) ap0204 - rotation
   7) m6 - vidswitch
   8) junk machine for probe

1) look at openGL for vapp maybe + reset button for vapp // also
some sort of structure for ap cellspace in 3d // new nodal notes
2) modular synth thing (start with vco // maybe use sid c64 sound chip
3) re-test laser machine for lines :: DONE
4) fix messy ap stuff -- sdl_image/sound + display/losing mouse etc.

It must be noted that as of version 1.1.0 of this library, the normal
SDL blitting functions and surface manipulation functions do NOT work
when SDL is in an OpenGL rendering mode. However, any library which
uses OpenGL (for instance Nate Miller's glTexFontf) will work with
OpenGL under SDL. In addition, the SDL add-on libraries, such as
SDL_Image and SDLmixer, can all be made to work under OpenGL. 

Wed Oct  2 13:50:07 BST 2002

1) hopefully fixed sdl issues [tho still cannot quit from -f scenario
on console ????] TOFIX --DONE and cleaned up sdl stuff .. uploaded + -->
		       --latest cur (in /root/AP dir) uploaded

OpenGL/SDL notes::

1) -lGL -lGLU


3) how to access GL pixel data::

Taking a screenshot and saving it

Since OpenGL uses "mathematically correct" screen coordinates (+y is
top of the graph, -y is bottom), and SDL uses "memory-correct" screen
coordinates (+y is at the bottom of the frame buffer, hence the bottom
of the screen), we need to convert from one format to the other. One
way of doing so is presented here.

SDL_Surface *image;
SDL_Surface *temp;
int idx;

image = SDL_CreateRGBSurface(SDL_SWSURFACE, screenWidth, screenHeight,
                                     24, 0x0000FF, 0x00FF00,
temp = SDL_CreateRGBSurface(SDL_SWSURFACE,
                                     screenWidth, screenHeight, 24,
                                     0x0000FF, 0x00FF00, 0xFF0000);

glReadPixels(0, 0,
					  screenWidth, screenHeight,
for (idx =
					  0; idx < screenHeight;
					  idx++) { memcpy(temp->pixels
					  + 3 * screenWidth * idx,
					  (char *)foo->pixels + 3 *
					  screenWidth*(screenHeight -
					  idx), 3*screenWidth); }

					  * screenHeight * 3);



[for vapp do all rendering/mix->surface which then uses openGL to put
onto texture/geometric shapes [chunks of that surface] -- then data -->
				-- pixel data fed back into vapp]

Sun Oct  6 01:53:53 BST 2002

1) for opengl source code examples in sept2002/openglbk

compile using eg:

cc blendeqn.c -oblend -lGL -lGLU -lglut

Fri Oct 11 23:45:56 BST 2002

1) getting familiar linux up and running on ipaq:

notes: a) remember need ymodem installed -- emerge lrzsz 

b) compile kernel with iptables/net filter stuff (iptables not as
module) ... then:

iptables -t nat -A POSTROUTING -o eth0 -s -j
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward

to get ipaq via serial (ppp0) online

use http://opie.handhelds.org/feed/ipaq/

in ipkg.conf (for ipkg update and: ipkg -force-depends install

Wed Oct 16 03:33:12 BST 2002

1) working with OpenGL and SDL on M15 (ap153d1): some mixups with
colour RGB (ignore bitmap stuff and even flip tho maybe should use
this - see above ) also texture for cube must be square root (eg 256)

1) ways of manipulate and rotate geometry textures mapped to
2) map back 3d data into buffer for re-processing = glReadPixels

void glReadPixels(GLint x,
                  GLint y,
                  GLsizei width,
                  GLsizei height,
                  GLenum format,
                  GLenum type,
                  GLvoid *pixels)

Returns the pixel data. 

Fri Oct 18 00:07:46 BST 2002

1) done most of 3d stuff (need to finish mapping of tags for 3d
functions) + test this with bcast running) // 

use 1-9 for quad functions and a changes which one we are operating on
# --switch bground/quads/both 
q->t --general 3d functions
/  --into 3d key mode (in which #,.=(quit) also now work throughout -->

TODO: more or less general reset.

DONE: using key \


/root/AP/liveap/cells -m100000 -f / -n -x -b &

/root/speechd.pl -s festival
/root/ap15speech/cells -m100000 -p spk2 -o /dev/speech TEST
/root/ap153d1/cells -m100000 -v /dev/video -n -x &

issues in sweden:
1) vidswitch/laser/rotation delay loops

Sat Oct 19 18:20:13 BST 2002

1) geforce2/tv-out working on gentoo/m15:
emerge nvidia-glx
(does kernel stuff + i think startx loads nvidia module .. note if
re-compile kernel)
+ stuff at:


for tv-out

        HorizSync    30.0 - 50.0
        VertRefresh  60

Next for safety sake we remove the "dpms" option from the "Monitor"
section and the respective "ServerFlags" lines. From here all that's
left to to let the NVIDIA driver know that we want our display to only
be TV-out and the appropriate standard. The following lines need to be
added to the "Device" section:

        Option "ConnectedMonitor" "TV"
        Option "TVStandard" "PAL-G"

(other options PAL-B,D,G,H,I(supposed be UK)

2) fixed /root/svga/cur to translate 8->16bit audio and back

3) for m15 s-video: option "TVOutFormat" "SVIDEO"

xset s off

Sun Nov 17 19:51:31 GMT 2002

1) more ipaq stuff: use::

 pppd call PocketPC

(refers to /etc/ppp/peers) to get ppp connection over serial

Mon Dec  2 21:54:45 GMT 2002

1) upgraded opie and familiar to unstable ;;;; some work with wireless
on laptop and ipaq (



changes to /etc/pcmcia/config (make sure is orinoco_cs is bound)
/etc/pcmcia/wireless and /etc/pcmcia/wireless.opts as important

mode: managed (AP) or Ad-Hoc

downloaded ext2 modules for 2gb pcmcia drive use

recent stuff (+to do)::

a) look at MobileMesh (also AODV adhoc on demand distance vector) and

b) micz machine (art-bag,org) // own software using shared memory and
ap is on 1010 (tatt.tar.gz)

c) flite - festival lite for ipaq (+mbrola different voices)

d) some changes to cur (uploaded? version in /root/AP/svga i think) so
some operations either on completely mixed buffer or just first buffer

e) will soon collect all ap03 nodal notes to start work there
(in terms of ap02 fix up laser and new stuff for neusynth + get rid of
all broadcast code + think about 3d stuff on m15 (also freeze issue there))

f) re-make of wall thing using large solenoid

g) laser blanking

Fri Dec  6 02:08:15 GMT 2002

1) more wireless stuff on ipaq:
using discoverer ... sets lucent card into rf monitor mode
use: iwpriv eth0 monitor 0  (for off)
1 =on

also use tcpdump and kismet (need options)
once monitor mode is set by discoverer
or iwpriv

Mon Dec  9 17:42:00 GMT 2002

1) doing  nodal notes 

.. going through older notes ref to ap stuff still to do:

a) speed increases (assess % stuff)
b) recording cells->hard drive and recall
c) activity poll?
d) frozen cellspace computation (new space frozen till all cells
e) successful cells (TTL>INIT_TTL) written/appended to disk file and
used to fill killed cell space

2) also new stuff for vapp/ap02::
a) data interpreted as surface or whatever which can then be used by
textures etc.
interpretation of buffer data =
application of buffer data to 3d interpretation 
b) multiple data sources (-x [number]) from ap02
c) text of instructions available - shared full cell-space also as
d) should be able change order of operations:
chunksize=sequence//interpretation/effect/3d interpretation
[also maybe chains of each operation level]
e) release version with command-line ap on/off shared mem option (+
options for other data sources such as network and 2nd v4l card
f) merge latest ap02 stuff and versions (use command-line options for
liveap(mapfile) stuff) -- also differences in shared memory versions ...
g) clean up mirror/translator stuff

3) before next perf: new stuff above//why m15 crashes
nvidia?/newsynth/ get rid of bcast code (and ditch scanner machine)
so that rotation/vidswitch and laser machines run ap02 straight (or
could run from one machine with multiplexing/pic controllers -> pic
controller given instructions)

Tue Dec 10 22:44:08 GMT 2002

1) setting up wireless access point on IBM 755CD 486 laptop with woody debian
and 3c589d pcmcia network card
had problems with "failed to read MAC address" on ELSA Airlancer MC-11
card and same problem with orinoco silver card 
: solved with::

in /etc/pcmcia/config.opts

commented out: include port 0x100-0x4ff
and used: exclude irq 3 as well as others

also some messing with dhcp to start on boot with eth0 (look at /etc/default/dhcp)

+ /sbin/iptables -t nat -A POSTROUTING -o eth1 [wired card NOT
wireless] -j MASQUERADE

then /etc/init.d/iptables save active

and echo "1" > /proc/sys/net/ipv4/ip_forward was put in 

and then do:

chmod 775 /etc/init.d/rc.local 
update-rc.d rc.local start 99 2 3 4 5
for runlevels and 99 as when should start (at end of process)

should also make sure /etc/pcmcia/network stuff and wireless stuff set
up correctly

in /etc/pcmcia/network.opts use *,1,*,*) address for card eth1
and *,0,*,*) for eth0

Wed Dec 11 16:22:58 GMT 2002

1) maybe rather than recoding much of vapp and ap // coalesce ap
options and move towards generic data app with chunksizing/matrices
[also notion of 3d matrix over time for ap cellspace and any data -
2d->3rd time or 3d->4th flattened]

generic data app: have GUI front-end (as in cur) sending UDP/TCP
messages to generic data app (same functionality of both cur and vapp
in terms of buffering/mix/matrix-filter operations ... but q of
interpretation layer for audio data)

how is patchable or can change flow/order of operations without
necessarily max approach 

2) granular cellular data connection for each ap cell

3) PIC16F877 multiplexing for vidswitch(slow- simple),
laser(continuous data stream), rotational(instructions) - could
multiplex across 8bit+3or2bits to signal switch/rot and laser. laser
control could be on interrupt
(F877 - 8bits input// 3 sets 8 bit out (use less for viswitch to allow
channel selection but q. is rotation needs 24 bits
... solution. another PIC ?)

4) for ap03 what would differences be of monolithic networked app and
thin I/O layer to which mobile (say python) viral apps can rgeister
and attach to having been sent over network (python apps sent to
machine/layer can then be re-coded and interpreted on the fly) ????

5)  glVertex3f and glTexCoord2f

Thu Dec 12 16:57:32 GMT 2002

1) for generic data app (vapp+cur) change m15 ap code so /dev/video
access is from data app rather than ap15
:started work on ~/gdapp::

input [key] [value] [space]

+ data matrix as in cur (see notes)

2) emacs indentation (for C)

C x h to select whole as region

C M \ to indent

3) problem is dealing with 4xbuffer parameters -- too much stuff

Fri Dec 13 17:45:27 GMT 2002

1) changed ipcop dynamic dns to deal with dyndns-custom
editted /var/ipcop/ddns/config
still to test

Sun Dec 15 22:05:02 GMT 2002

1) doing more work on gdapp - but problems and questions of approach
as sound/video data different to use in terms of upshift/downshift
8->16 bits and also time differences.
so always need to tag as sound buffers for all data ...

2) in ~/gdapp/new

re-working ap so can have 2 shared memory channels (sound and video)
-x -x (also 5th shared memory ID is whole cellspace) ... to do on ap:

(note that cell-size must be > SHRDSIZE(65000 256*256))

a) put back in working -v code // options for liveap
problem is broken tail code in this version so no ./vcells
functionality hmm...

b) other issue is -f not working again with this ap15 code (could be
sdl issue) - prob best merge latest ap0202 code -> new and then do -x
-x alterations...

c) should be able to re-boot ap from shared memory once that's started
(use shared memory reboot)

Tue Dec 17 00:14:35 GMT 2002

1) progressing with gdapp (on m15 now)::

a) effects parameters where ?? (ON GRID --> change ** effp1[x]->)
b) that data buffers are converted to RGB565 (rather than for audio
c) got as far as basic audio/interface + weights 
d) upshift audio to 256x256 size buffer /then back down for output is OK
e) seems solid enough so far 

Tue Dec 17 17:06:18 GMT 2002

a) also should have parameters for mix (ie. value how much to mix)
b) all stuff (except 3d and extra mixes + some parameters + save
weights and file options) in there -- now make it work ???
c) fix sdl colour and opengl colour rgb565 and 32bit stuff ???
d) also fix chunking so is proper

Thu Dec 19 00:01:10 GMT 2002

a) fixed RGB565->GL texture
b) fixed chunking -- tested with video only
c) fixed rgb2grey
d) fixed pound sign + keys in interface - other issue is entering say
10 gives 1 .FIXED - simple bug of >48 ascii code
e) fixed mixto using |

f) TODO: hookup laptop(wireless) to test full thing so far // why
drops out of interface or main without error

Fri Dec 20 01:25:02 GMT 2002

a) interface fixed on laptop (vesa in libvga.conf) +fixes to sliders
b) extra params in interface for reset data (inc. mutate cellular
auto) + weights save and recall savw and recw
c) fixes to main: data buffers/rgb2grey/ some speedups .etc
d) fft and tempo in effects // also q of mixto buffers (? how many?)
e) # on laptop keyboard layed out differently
f) could use asm copies for speed also (main speed issue is fft)
g) fixed effects list
h) fixed in ap shared memory write hangs
i) need deal with:: 3d interp/weights resets/data resets/more mixes/
ap -f option hang

ideas for 3d interp:
a) surface and rotation/position 
b) map to other buffer as heights
c) 3d interp: surface/quadratic/triangles/particles/whatever  .. chaining?
+ using fz/cz data for slicing over time (see book)

Fri Dec 27 23:27:56 GMT 2002

1) gdapp:: 
a) fixes to ca problems
b) tested and fixed all resets and save keys/weights (but no feedback
to interface) -- use * to recall weights
c) idea for 3d interp using buffer x and z slice as heightmap
d) difficult key interface

Tue Dec 31 18:27:14 GMT 2002

1) gdapp:: TODO: 

a) should probably convert all to 24bit (8bits x3 rgb) from rgb565 to
ease most routines (+ do assembly routines for all common functions)
b) break down FFT routines to allow insertion of effects (+sonogram +
neural net) into fft data
c) modularise 
d) fixes to overloaded keyboard (switch 1-4 buffer keyboard use -- so
not all simultaneous - highlight )
e) saved patches need to show up on interface -- improve communication
between GUI and app
f) move towards nodal approach thru modularity (look at GNode) - also
think about interpreter for commands - create modules for layers (is
inout/is process/is output/is interpreter)????
g) old stuff: mixes/fix ap02/3d interp ... basic implementation (with
stuff above for speed and useability) frozen then try re-construct
with new modular approach (-> input/output/process nodes -also maybe
mobile data/executable nodes (see nodalnotes should be there really -
nodes as a language -data/software language re-combinable .. also
further work on event structure as opposed to a flat data structure -
event structure of points in flat data -- constellation of such points

to work with all this soon)

Sat Jan  4 23:29:40 GMT 2003

1) loaded up gentoo 1.4rc2
some notes (after the fact)
a) problems using GRP stuff: have to do: mount -o bind /mnt/cdrom
/mnt/gentoo/cdrom so can use cdrom mountpoint in chroot /mnt/gentoo
-- not in documentation
b) had to symlink some ebuilds for gnome GRP stuff as can't find ebuilds
c) made silly mistake when re-compiling kernel (for some reason had
problems with nvidia geforce2 card and framebuffer) ... kept on
re-compiling and cp to boot but had mounted hda1/boot before hda3/root
onto /mnt/gentoo so no change to real /boot  

2) lisp in emacs:

M-x emacs-lisp-mode
M- Read a single Lisp expression in the minibuffer, evaluate it, and
print the value in the echo area (eval-expression). 
C-x C-e  Evaluate the Lisp expression before point, and print the value in the
echo area (eval-last-sexp). 
C-M-x Evaluate the defun containing or after point, and print the value in
the echo area (eval-defun). 
M-x eval-region Evaluate all the Lisp expressions in the region. 
M-x eval-current-buffer Evaluate all the Lisp expressions in the buffer. 

Tue Jan  7 01:12:39 GMT 2003

1) more work on gdapp done::
(also swapped colour camera into film transfer thing)
a) reduced some memcpys
b) fixed some transform stuff
c) fixed interp layer for small sizes [q now with all small sizes is v
flat style]
d) messed with gl stuff and first 3d thing in effects layer
e) tried mmx stuff with limited success (tho mmxcopy is ok 
blits are blank ??) 
f) extra mixes added

Thu Jan  9 00:24:42 GMT 2003

1) gdapp::
a) v slow particle thing .. could be texture re-loading? FIXED
b) so added particle + heightmap thing
c) colour issues with 2nd buffer ap buffers ?? 

2) wierd tabs in emacs ?? > use C-q TAB ??

Tue Jan 14 01:23:51 GMT 2003

1) gdapp::

a) lots of fixes/speed ... %where 256 replaced with &255
b) broken down into source files more
c) 3d layering done 
d) stuff such as return values->GUI // toggle framed or not copy
(fc[x]) and steps for data (dcounts[x] to fix) to add to interface.c
(+ditch default values there)
e) final TODO before +assembly +modularise +python interp (with
command//var value) = FFT as data source + x ->nn also as data source
f) looking at pdp and pdip - useful stuff there is tracking (use as
data source) (but funky pdp install as requires older mesa which then
screws up gl stuff on m15 ?? OK now with cvs stuff/ maybe is pdip issue?)

Tue Jan 14 21:20:52 GMT 2003

1) gdapp::

a) fixed some bugs (interface->server)
b) changes to GUI - split keyboard (QWER to select), new fields for fft,nn as data
sources and dco and nnc as datastep and nn connection + also roundcopy toggle
c) now only nn and fft to sort (nn accepts input given nnconc and
output to datasource) fft - array of freq/magn setpped thru ???

Fri Jan 17 00:40:33 GMT 2003

1) fixed liveap/in gdapp directory for -f /xx option (uncommented out
sdl stuff) clean and fix up mirror code maybe with no differentiation
audio/video ???
2) yesterday fixes for pall to flashserver pd stuff -- sigpipe
handling for closed connections + some other fixes
3) TODO: GUI and step data tests DONE

Tue Jan 21 15:07:11 GMT 2003

1) gdapp (yesterday)::

a) all mixes (except one) now MMX + other speedups (tables)
could do backcopy/roundcopy as MMX ??
b) changes complete copy to copy cells of image (parameter?)
c) playing with convolution tables but enabling these slows down whole
thing too much

(btw. worth remembering in tv out mode geforce2 only gives 800x600 max
res so need note in XF86Config)

Wed Jan 22 22:51:19 GMT 2003

1) looking at bison (yacc) and flex (lex) ... begin understand how use
these and work out data structures etc. for new work.
look also at python->c stuff (embedding an interpreter)

(embedding interpreter (embed py in c) would mean also extending py
with c)

2) brief film-machine (fm) notes:

film-machine (fm01) ::

	fm transposes non-metaphoric systems and grammar theory (of
	computer languages, abstraction and data containers) to the realm of
	expanded cinema. the base proposal concerns the development of a
	language, data structures, and suitable filesystem for the automated
	production and grammatical expression of endless cinema. a relational,
	nodal language of connection will be formulated to descend through
	levels of scene, shot and frame (stored and to be shot). visual and
	syntactical analysis software will form a large part of the fm
	engine. however, fm is not totally automated and in parallel with apOS
	forms a mechanism of personal insertion into systematics. a filesystem
	will be devised to deal with such fragments in terms of these markers
	(as language and as data), allowing rapid self-programmed, structural
	retrieval and re-assembly of material. fm is not conceived as an
	engine for the manipulation of generic clips (an expanding database of
	all possible scenes categorised according to a huge number of elements
	and relations) but is rather an enmeshing within script, a writing of
	script-now already filmed; a script written and to come via this
	now-empty machinery. fm is a large-scale project which builds on
	previous ap research and process to push the envelope of what can be
	achieved in terms of computer languages and data visualisation;
	re-thinking hard-wired notions of input and output.

Wed Jan 29 01:25:54 GMT 2003

1) more work on gdapp and ap (up against limits of what can do with
gdapp in current not-so-modular state)
a) activity polling down with ap so can start up from shared memory
(waits for activity before fills cell space) .. but maybe shared write
is a bit amiss
b) got rid of sound-sized buffer multiplying stuff
c) different options for roundcopy & different data sources for cells
but should map cellular automata here also (but these are shorts and
only calculated if buffer demands - maybe wipe these out of sources
for buffers and use here TODO) DONE so (but need put mapping into
interface and also test some of this more thoroughly)
-- to proceed further with cellular model when re-wrk gdapp

d) TODO: lose cx,cy etc from data mappings (and sort cells z zz issues
-> used in 3d stuff) DONE somewhat

Thu Jan 30 21:23:05 GMT 2003

1) more emacs -- run shell on region:

(eg. wc)

M-| :contents of region as input for a shell command

(also Ctrl-u M-! to insert shell comm into buffer)

Tue Feb  4 22:14:21 GMT 2003

1) some strangeness with orinoco/buffalo cards/firmware and tools
stuff .. all seems ok with cards as distributed amongst 2 laptops and
ipaq (tho tecra 550cdt still has problems maybe due to mismatch
wireless tools and patched kernel modules ??)

Sat Feb  8 02:10:09 GMT 2003

1) re-installed IPAQ with X/matchbox replacing OPIE (for pd stuff now
up and running fine)

: using 0.6.1 familiar (failed to boot with 2.18.01 / had to flash
with 2.18.54 despite some documentation saying ok with .01)

then re-installed 0.6.1 and lots of new packages (dillo to test also)

wireless up and running with buffalo but lots of work with kismet



modified scripts to suit quirks of own wireless set up (in this case
need to do ifconfig eth0 up to get kismet to work / also set mode from
ad-hoc to managed)

seems work out start and stop scripts (but still with tecra issue with
IBSS/ad-hoc not able to be set to any)

wavemon also wierd on ipaq (to test: segfaults)

Mon Feb 10 22:03:07 GMT 2003

seem to have lost stuff from 14 jan -> now (was here / now not ??)

found now in /tmp/ange-ftp

inserted above-|

mostly related to gdapp and ipaq 


now using X and matchbox rather than opie .. using scripts to
start/stop kismet scanner) ... some issues on laptops with orinoco
cards not working until set essid (with iwconfig)

note: in familiar documentation says is ok use older bootloader with:
but must use:


1) ap (on m15/in gdapp tar.gz) now polls for activity during read and
also at start (ie. will wait for activity on start with ./cells
-m100000 -x -x uses second -x shared video output as source with gdapp)

2) lots more fixes etc. to gdapp as stands // + some stuff to do ...
sources for small blocks
3) TODO: some convolution blurry stuff would be nice

Sun Feb 16 01:04:55 GMT 2003


a) done sources on interface for blocks x,y // xx,yy // z,zz
b) done conv on interface for convolutions (various)
c) tested with controlbox (needed to change some cflags so inline asm
would function properly + also some tweaking of values: HOW and *0.1
in weightings) but seems to function nicely enough (with new-ish
battery also)
d) other minor fixes but still some edges in gl stuff ????

+ TODO full tests all aspects esp. save + poss bugs in interface

next: syn + PIC multiplexing (use 8+2 I/O for 2 multiplexers and 8 +2
straight of F877 for laser (just pumps out laser data + also does all
timing and decisions for 3x rot + 4x vidswitch)

2) cdrecord for backup and vcd 
(backed up some avis + most of old bac (in, newin, win, cd1 & 3
tracks, festvideo, old ap01 software)


mkisofs -o dir.iso -R -J /dir

cdrecord -v speed=4 dev=0,0,0 dir.iso 


/home/newlife/prog/MPlayer-0.90pre9/TOOLS/mencvcd Ich -vnorm
p -vfr 3 Ich.avi

(gives correct 25 fps PAL + need make sure subtitles accessible and
fonts also)


cdrdao write --device 0,0,0 --speed 4 --eject Ich.cue 

and to play vcd:

mplayer -vcd 1

Mon Feb 17 20:07:49 GMT 2003

1) PIC16F877 test circuit + software ok (lost 15v powwer supply to get
: test soft: ~/hardware/pic/first877.hex

+ to program use: ~/hardware/pic/noppp_V0.2_pat/noppp_lx

(works fine: 
TODO: circuit once get sockets + program)

Thu Mar  6 01:22:23 GMT 2003

1) progress: syn:: vca + chua osc only to test // glue all and finish
PIC multiplexer - circuit nearly built .. need new sockets


fixed bugs:
a) roundcopies
b) start zoom 
c) trail left on interface
d) save and recall and all resets
e) note mp is frame number mapping // source 0 is sound // s1xyz is
mapping of which buffer to chunk xyz
f) possibly still problem with wierd 3d edges

Sat Mar  8 23:49:31 GMT 2003

1) work on PIC multiplexor ( based on three 74LS373 latches )

a) circuit built + basic PIC tests done
b) test1.asm roughed out for all functions (laser, rotationx3,
to test: 3 areas::

laser - simply plugs in (basic code there) timing 
vidswitch - to plug in, q basic code . q of timing
rot - major timing + test issues
TODO: re-build rot box
tests (+ possibly use an5 on pic for speed setting)

DONE: altered liveap code on artificial so can do -e switch threaded
fast parport output

Sat Mar 15 03:12:43 GMT 2003

1) back on multiplexer -> still one line is wierd
a) re-test laser stuff
b) re-test vidswitch but may have to put on 2nd multiplexer 
c) timing rotation to tune + fix slow line broken on box

(work gpsim -gui and cli > can set breakpoints if writes to certain
register or reaches point in program ... other stuff>

put retlw table thing right at start with jump over
realised that default is hex for movlw 10 (eg)
also watch register/literal stuff

Sun Mar 16 20:42:24 GMT 2003

1) finally multiplex working::



some problems:
a) confused call and goto hence screw up return
b) need to put nop after addwf PCL,1
c) used btfsc STATUS,C to check if carry(?) used -- as way of--
				-- detecting if result of operation--
				-- goes negative

Mon Mar 24 00:54:38 GMT 2003

1) fixes for some cur stuff /home/newlife/AP/svga/cur
2) m15 - /root/new2/main after interface on lap [ifup eth]
3) cells -x -x
4) -e on artificial cells (newlife/liveap)
5) changes to start/stop/shut in home

Wed Apr  2 19:06:20 BST 2003

ap0201 devices developments:
1) test LCD/NVRAM/serial and power module built
2) after some work now working with microchipc bootloader and linux -
modified linuxio.c - commented out hardware flow control TEST FURTHER
3) next step is upload LCD code --> needs switch on power (RA4 also--
				--wakeup line i think) and also
deal with logic etc (RE0/1/2 out)

Fri Apr  4 17:59:19 BST 2003

1) RA4 is simply low and should never be put high
is changed to input (digital) to allow reset just before
going to sleep. 
2) basic LCD tests working:::

with stuff at start for bootloader:

ORG 0x0000 ;reset vector
clrf 0x3 ;zero status
movlw 0x00 ;high byte of long jump
movwf 0xA ;zero PCLATH
goto start

3) lcd1.asm (in ap02) is hell0 test LCD code ... next steps:

a) show itself program code
b) NVRAM read/write tests - logic
c) charging/sleep circuit and management (in LA)

Sat Apr  5 16:28:49 BST 2003


a) completed LCD / self display test code
[must remember when using different pages variables not used]
b) test code for NVRAM (32KB) does seem to work

Tue Apr 14 2003

a) fixed some errors in charging circuit (TO TEST)
b) note use switch -a inhx8m on debian laptop gpasm to use with picdl
c) done sleep and AN0 polling code (TO TEST)

Sat Apr 26 23:19:45 BST 2003

a) still on ap0201 devices problems:
// replacing tea1102 seems do something (also inductor was 33mh not
33uh) + reverted to bsp315s (now testing)

to test: charge (6 hrs average sun) + night running + sleep code

then RF (433mhz & sound input (using Lm386 (4ma?)))

2 add modules + full code

other notes:

a) also note nec versa 2750mt debian uses sb sound module out fine
(irq 5 and 8 bit only)
but no input success ??
b) ap port -> os x should be simple enough using sdl and gtk
cur port needs convert svgalib stuff -> sdl

Tue Apr 29 13:33:22 BST 2003

1) note screwed up by not using 0.1 ohm current sense resistor in
tea1102 circuit TO FIX
FIXED: more tests to do but seems to work
2) lm386n based mic amp seems work (TO TEST with PIC)

to do:
1) charging tests
2) rset/sleep code to test
3) lm386 code
4) fm circuit + code
5) full vm code

Fri May  2 00:17:11 BST 2003

1) test charge with 'full' batteries -> no charging but empty nimhs
(run down i think) seems be working ok after 4.5 hrs charge [need get
better nimhs and rugged solar panel)

Tue May 13 17:11:14 BST 2003

1) charge OK. reset TO FIX  (will also get 12v panel +6v reg and maybe
4.8v aa nimhs - 3.5w 12v panel should charge 1800 Mah batteries)

2) some mistakes fixed in testchrg2.asm
(on laptop .. will upload soon here) - now has routines to test
read/write nv / write and sleep + mic

3) changed r1 330k off max761 to 220k for 5v output

4) wait for rf modules - in meantime could do VM.

5) wrong cap (should be 0.47uf = 474 label) to REPLACE (also maybe
replace trans + diode) - all in reset circuit

Wed May 14 22:51:31 BST 2003

1) fixes to artificial's [/home/newlife/]liveap/cells -m100000 -f / -x -e (for
multiplexer) and liveap/svga/cur [previously did not detach shared
memory and also cur locked up parallel port - commented out box stuff
to fix this]
backup -> server

[test vidswitch=OK // film thing= YES // M15 vid input= (after
re-install = YES / check full functionality=YES )]

Thu May 15 15:25:20 BST 2003

1) re-install gentoo (now 1.0.4rc4) on m15 -> nvidia has issues when
switch to console from X  (crashes out) // FIXED by removing fb
support from kernel 

Fri May 16 19:05:57 BST 2003


m15:: /root/new2/cells -m10000 -x -x +(after /root/new on laptop (ifup
eth0) /root/new2/main

artificial:: /home/newlife/AP/liveap/cells -m10000 -f / -x -e (poss
with nice -20) then /home/newlife/AP/svga/cur

sound machines:

ap0201,02,03,04 (all in AP/control/start tho need make sure of mapfile presence)

Wed May 29 / Thu May 30

1) debian wkstation install (testing/unstable upgraded) at druh with
tricky hardware:

a) wacom intuos2 tablet - working after kernel recompiles for HID
stuff, USB stuff and input event support - used howto for X - but
needed to add Mouse1 input description and as core pointer
input. WRONG see below ...
test with gpm -t IMPS/2 -m /dev/input.mouse0
b) wildcat 5110 - proprietary/expensive driver for X . vesa only
800x600 and can't seem to run x with fbdev
c) no go with steinberg st24/96 soundcard
d) QLA2200 fibre channel card seems run ok with scsi qlogic modules -
seems use ufs?
e) debian gripes/stuff;
1) use apt-get dist-upgrade rather than upgrade
2) always have to install initrd and kernel tools for a make-kpkg blah kernel
3) switch to devfs is messy: fstab is screwed up for new device names
(now /dev/scsi/host0/bus0/target0/lun0/part1 .. 2  .. 3)
as is innitab for ttys (now vc/0..1..etc) so no login without changing
these gettys
4) some problems with grub: hd(0,0) is first partition (sda1 pre devfs)
so is /boot but grub stuff is in /boot/boot/grub ... correct paths for
vmlinuz are in grub.conf but /boot/boot is odd ... maybe something to
do with way worked grub from command line (didn't use grub-install)
... also remains be seen how/whether make-kpkg will play with grub
f) TODO: 
1) make tablet mouse finer so don't have to fling it around: DONE but
had to use wacom_drv xf86 driver from linuxwacom sourceforge page ans
then set speed ... ** use cursor as core pointer (ditch mouse1 which
we can't control)
2) new videocard/soundcard ???? / DONE sndcard - found is really (or
is anyway) an RME 96/8 card which works under alsa tho still can't
record input 
/// - TODO put in ELSA 2
3) install gstreamer/research stuff DONE// poss server for cms/blog //
SETUP with blosxom in /home/fm01/logging
4) CVS (default repository is /var/lib/cvs) and we don't use pserver
but will use ssh
[5) smb stuff if needs be]
6) test firewire video input DONE: using libraw1394 and dvgrab app
(grabs from /dev/iee1394/dv/host0/PAL/in thru dazzle thing from
composite use --format dv2 switch )
just standard ieee1394 stuff in kernel
# IEEE 1394 (FireWire) support (EXPERIMENTAL)
# CONFIG_IEEE1394_SBP2 is not set
# CONFIG_IEEE1394_ETH1394 is not set
# CONFIG_IEEE1394_CMP is not set

plays slow with mplayer (use -framedrop)

7) get to grips with automake/autoconf - base setup DONE:

notes on automake/autoconf::

a) working now after upgrading libtool/automake/autoconf/aclocal but
outside of debian sources ... 
run aclocal-1.7 (this puts macros from /usr/local/share/aclocal into
aclocal/m4 in srcdir) / autoconf2.50 / automake then configure make
b) bit messy but all relevant stuff there and checks for python/glib 2.0


a) using .cvsignore so all automake/autoconf stuff doesn't do to repository
b) added fm01 to src group in /etc/groups (must log in again)
c) export CVSROOT="/var/lib/cvs"
d) commands from srcdir (diffrent cvsroot for ssh and CVS_RSH=ssh)
.. investigate more once up and running

Fri May 30 14:24:36 BST 2003

1) Elsa II (Quadro) working (just run shell script from nvidia and put
nvidia in /etc/modules) but obviously some hardware fault as serious
ghosting and low brightness. TO REPLACE (inc TV OUT)

2) getting to grips with dv stuff (is not IIDC uncompressed camera
input but rather Dv compressed) NOTES::
a) key modules are dv1394 

[frame-oriented and completely encapsulates the handling of DV over
1394. Prior to dv1394, video1394 has been used in conjunction with
user space application code from Kino, libdv/dvconnect, and
Cinelerra. It proved to be too difficult to get reliable results
across a range of devices using that approach, and thus dv1394 was
implemented.  With dv1394 one can read and write dv1394 devices
exactly as if they are raw DV files. However, for more robust
operation and status feedback, it supports IOCTL, polling, and mmap-ed
buffers. Finally, dv1394 support simulatenous operations limited by
the number of DMA contexts on your host adapter.]

--is used in latest dvgrab 1.2 and
video1394 which seems more for IIDC input and DV output (investigate

b) key libraries are: libraw1394 (raw capture) and libdv (de-compression)

c) key apps are: dvgrab, playdv in libdv and ...>

d) dvgrab raw format (as played by playdv) is 28M for 8secs (2GB max
addressable= total of 9.5 minutes)

e) investigating possibilities of dv and vloopback (see capture and
effectv stuff - tho can't get capture to function prpoperly -- gone--
				-- through callbacks etc)

Mon Jun  9 21:44:11 BST 2003

1) checking out lisp stuff on druh machine - cmucl and sbcl installed
and can run via emacs using ilisp (but not much progress with cliki as
can't get past proxying/running lisp stuff for  Araneida (this seems
load up ok in sbcl but can't interpret necessary after-stuff to create
include file for apache)

Tue Jun 10 14:10:34 BST 2003

1) finally running with proxying and araneida:
a) fresh apache install compiled for all proxy stuff but don't think
that was problem: just careless syntax // is now::

ProxyVia On
    ProxyPass /nyett/
    ProxyPassReverse /nyett/
    ErrorLog /var/log/apache/proxyerror

b) run M-x ilisp-mode then load up and run araneida/cliki with:

(asdf:oos 'asdf:load-op "araneida")

then ilisp-eval-buffer on lisp stuff which fires up handlers (in

then sample code to eval for html:

(define-patterns example-patterns
    (((page :any)
          :rewrite (html (head (title "Araneida: " ?title)) (body
        ((h1 :any)
             :rewrite (p ((font :size "+2" :color "green") ?*)))
           ((red :any)
                :rewrite ((font :color red) ?*))
              ((p :any) :preserve)))

   ((merge-url *araneida-url* "/rewritten")
      :patterns example-patterns
        :changed-time (get-universal-time))
         (title "foo")
            (body (h1 "title") (p "hello " (red "red") " world"))))

(from daniel barlow examples)

2) just get cliki running now::

runs now using test function in handler.lisp (run as (in-package
:cliki) (test) )

had make changes (from daniel barlow):

(install-handler *root-handler* *cliki-instance*
                                  "http://fm01.druh.co.uk/cliki/" nil)

(+ further tweaks to apache -- is running as latest apache2 but should--
change this: DONE )

Wed Jun 11 15:39:26 BST 2003

1) sound input on RME 96/24 card using rmedigi96control
works fine (tho. needed alsa's libasound2-dev)

2) cliki all running after further tweaks to url

back to DV stuff:

libdv-0.99/playdv/playdv testnew001.dv --disable-audio -V2

changed capture_0.2.0/capture.c (now in subdir capture_0.2.0/ca..)
as would just hang 

changed handler stuff to  if (length >16) and now works (16 is funny
packet -> see comments in dvgrab to explain this)

capture uses raw ieee // dvgrab uses LIBDV_DV1394

3) tearing/flicker - on  M15 try to use __GL_SYNC_TO_VBLANK set as env
variable to 1
under qt for dv stuff -> port to SDL and use double buffering

Fri Jun 13 21:21:43 BST 2003

1) new kismet 2.8 on ipaq doesn't hang (with orinoco) -> run
kismet_monitor then kismet (ditch start.kismet) but can restore all
with /root/stop.kismet

Tue Jun 17 01:11:11 BST 2003

1) ntpdate ntps1-1.cs.tu-berlin.de

2) sorted out mess which is cur/svga sampler thing and backed up to
1010.co.uk - cur04.tar.gz :: 44100 sampling / no crashes with change
whole loopsize + speedups (is /home/newlife version)

3) also sorted test2.asm
for multiplex... stupid misuse of variables + constant latching
interference created problems ... now is just tuning of speeds

Tue Jun 17 21:43:52 BST 2003

1) -t option on laptop's liveap is now to sniff wirelessly (do NOT set
kismet_monitor mode) ... seems to work ok 

Wed Jun 18 23:14:25 BST 2003

1) X server exporting to do screenshots of meshap box:

a) on main box: Xnest -ac :1 (path must include /usr/X11R6/bin) in
running X opens new X within current
b) export DISPLAY=inetaddr:1
c) run commands for wm eg xterm & ion & from console on client box


most tech stuff is now part of fm01 project at druh

some notes will still be collected here for ap0202 devices and gdapp
developments + usual stuff

Thu Aug 14 13:46:55 BST 2003

1) printing on fm01 workstation (prints to xerox 7700 using samba)
first tests with smbclient:

/usr/bin/smbclient -L 01_as_001 -U mhowse

/usr/bin/smbclient \\\\01_as_001\\01_pr_001 passwd -U mhowse

then used lprngtool with this info

(works ok but can't seem to print plain at moment)

note also:

./cells -m1000 -i /dev/urandom -o /dev/stdout | flite

Sun Aug 17 00:46:00 BST 2003

1) working with compactflash on m-100 minibox / mini-itx 

used http://people.debian.org/~bao/ image
and changed lilo to boot=/dev/hdc device=/dev/hdc
append = "root=/dev/ide/host... devfs=mount"

lilo -v -C /mnt/etc/lilo.conf

but intrd.img is for bus1 so fails mount flash

so will try new-debian.tgz and script from openbrick site

(as no mkintrd on ibm/slack laptop)

2) now using new-debian image - changed much in lilo.conf to boot
(needed copy boot.b across + install=/mnt/boot.b)

TODO: azerty mapping, X, sound, own software (necessary libraries)

root passwd thus: (admin but now qd;in )

Wed Aug 27 19:22:05 BST 2003

1) finally running stripped down cur (no ap support on CF/VIA

a) network - via-rhine // sound - via82cxxx_audio
b) changed from azerty = copy
/usr/share/keymaps/i386/qwert/uk.keymap.gz ->

c) had to remove all compiler flags from cur and use -m486 as flag ???

d) also reduce size of arrays (with define LIMIT)

Fri Aug 29 15:30:19 BST 2003

1) messing with some laser stuff -swopped 373 latches for 374 and some

nice -20 ./cells -m1000 -f / -j
seems ok (not going thru multiplex which is -e option - but that's not
too bad)

some changes to ap code (but springs/speed of hd coils is problem
maybe - also poor DAC and latching maybe -> could try with soundcard)

// or rather uses system on/off blanking with one HD bit and
spinning/scanning motor

Tue Sep  2 21:33:15 BST 2003

1) fixed sound on tecra 550cdt - was using oss ad1848 but was giving
so compiled snd-cs4232 driver under alsa - ran alsaconf and now works
fine (tho mixer is strange)

2) installing gentoo 1.4 on ibm t20 - so far so good with soundcard cs46xx
and eepro100 + vga=773 in grub.conf

3) note:
cvs -d:ext:artpara@cvs.sf.net:/cvsroot/fm01 co gdapp

Fri Sep  5 17:34:30 2003

1) further t20 notes :

a) problems with orinoco card after 2 or 3 inserts getfirsttuple
business (tried ignore_css to no avail -also re-emerged pcmcia_cs)
-(NOT ?) FIXED - lost pcmcia from kernel, re-emerged pcmcia-cs then HAD TO put
i82365, and ds into modules autoload stuff
; and also copied /etc/init.d/net.eth0 to net.eth1

but still does tuple business and now -> orinoco_lock() called with

- seems to be working now - excluded irq3 but think may be something

b) kismet doesn't want to write dump file so need to start without
dump option (-n) -FIXED - added %h to logfile options in kismet.conf

c) clisp refused to compile ???
use  clisp-2.30.ebuild rather than r1

d) note cvs add -kb for binaryfile

e) strangeness with aclocal - runs 1.4 or 1.7 for some reason

f) use etcat -u package to see what use tags can be used

g) note acpi in kernel over-rides apm so lose the acpi here

h) using mplayer for dvd:
mplayer -dvd 1 -dvd-device /dev/cdroms/cdrom0

i) fm01 and gdapp on t20:

-a) ./configure prefix=/usr 
-b) compiled python2.3 from source with --enable_shared --prefix=/usr
-c) SDl_console newer version so had change console.h (#include

2) started using calendar on emacs on t20 ->

M x calendar

i d - insert entry for date over

i b - after select block for block of dates

m - show diary entries

d - show entry for current date

s - show all diary entries

q - exit

C-x < - scroll left
C-x > - right
space - scroll other window

Mon Sep 22 17:00:54 BST 2003

1) using USB QX3 microscope cam - can get toplight and bottom light
working now with: echo toplight: on > /proc/cpia/video0

after compiled new cpia driver from sourceforge ... is bit wierd before
start xawtv (which also fails to save images correctly - try patches to

2) DVD playing jerky under mplayer - tried hdparm -c1 -d1 -u1 /dev/hdc 
fine for ogle but can't get x11 to run xv module (loads ok but xvinfo
reports no devices -> tried new savage driver, tried re-compile earlier X
but failed on sis stuff ... now xvideo is working with binary 4.1.0 X 

Tue Oct  7 15:04:37 BST 2003

preparing stuff for weimar and norway -> on m15 currently

1) using two USB CPIA webcams simultaneously hangs machine (most of the time) -
managed work it once with various echo usb_alt_setting: 3 (or 1) >
/proc/cpia/video0 and need to run xawtv for changes such as toplight
to effect it 

but does not seem stable solution ... will have to replace webcam on
film thing with bttv/composite combination (or get proper

film thing still wierd - need better solution

Fri Oct 10 23:46:07 BST 2003

1) usual debian woes on mini machine:

a) compiling kernel needs ncurses, initrd-tools and few other things +
really need to enable all options to get initrd functioning

b) needed to wrap inline assembly in "...;" for each line for some
reason - is gcc 3.3 not liking multi-line string literals

c) to test: composite out and usb webcamming - use latest cpia for this

d) composite out working with driver from:


Wed Oct 15 21:40:03 BST 2003

1) thinking about way of triggering low frequency oscillators (or
rather what good osc circuit is) for Ultrasound

Sat Oct 25 21:49:26 BST 2003

1) trying to do streaming video over wireless - issues with mpeg4ip
started using ffserver -> latest cvs gives green images (avi seems
best) but older tar.gz release works (is q slow to buffer tho and have
sizes wrong - to adjust)

Thu Oct 30 13:51:23 EST 2003

1) mini-itx box is fussy about mouse (?) - need swcursor type stuff
2) latest pidip seems incompatible with pdp (xshm stuff) 

Sun Nov  9 19:49:34 GMT 2003

1) piping added between ap (on laptop under oldlap/AP/liveap - is -c
option eg ./cells -m10000 -v -c (to test video)

then start gdapp (uploaded to cvs + ftp pix) - works just with this
input now - (not green but colours)

completed during piksel

should also use with pdp/pidip piping from ap02

Thu Nov 13 22:52:14 GMT 2003

1) re-visiting morphix/trom script - must remember to make base
morphix file and then mainmod then make iso (also remove -nobak option
from mkisofs commands so keeps ~ used in pd examples) - changed motd
(should change splashscreen also) - added ksimet, pd. asciicam (now
fixed) and changed some names of stuff + latest ap with sniff etc.
-> still doesn't work tho. -> needs to be re-done from scratch i think

Wed Dec  3 10:27:33 GMT 2003

1) few notes - installed NetBSD on IBM Z50 without problems
(128 MB flash is q small tho - base and etc only) + can't seem to
work out power management stuff

2) main PC (dual P3) freezing maybe once a day - using range of tests
- lm_sensors under gentoo: - sensors_detect, /etc/init.d/lm blah start
and then sensors (reported low core voltage so increased 0.2 in bios
but now it does seem to get hot (over 60) when using burnP6 (burnMMX
also - part of cpuburn tools). others: stress for all stressing and
badblocks - memtest86 revealed faulty memory swapped in from other
machine - will see what happens

-> now running 2.6.0-test9 with no problems - even testing stress with
mplayer fast forwarding thru avi runs without problems

Fri Dec  5 22:47:55 GMT 2003

1) mirroring code for webpage creation/ap on ap02serv

2) changed much filesystem code - ap on laptop but also tar.gz on site

- segfaults tho if deals with 44100 in translation/channels - kindof
fixd so runs fine now - few other problems but ok (will not mirror to
shared file anyways - to fix)

Fri Dec 12 19:43:42 GMT 2003

1) fixed webpage mirroring code +sharedmem mirrorcode
+ filesystem issues

should run ok now (still occassional segfaults v hard to track down)

NOTE: IBM T20 - v noisy audio out from headphone sockets ONLY when connected to
power supply ????

Sat Apr  3 22:32:48 2004

1) tho most tech notes now on fm01
site v good to put generic stuff here - such as over past few days
here at CLUI:

a) failed to get openGL/DRI running on Sony VAIO 502 which uses Rage
3D Mobility P/R - both using gentoo xfree-drm package (which gives
kernel exception) or retinalburn DRI stuff (which hangs) - tried many
things such as no FB, options in xfree86config and ACPI in kernel but
no luck so using gdapp with simple screen (recoded some of reducer
function as video 255x255)

b) started playing with Magellan Meridien GPS unit - using gpsdrive
and gpsd (set baud rate on GPS to 4800 and using /dev/ttyS0)

also tested gpsman -all work fine if started with unit up and running

on gpsdrive - use x to add waypoints

also gps tool in gps3d package with viz - howto mentions trackfiles :

If you want to capture RAW NMEA gps output to build your own track
    you can use something along the lines of:

    ./gps | grep -i '$GP'

which doesn't seem to do much 

example output of ./gps :

34.026 -118.395 00029 21h 49m 54.42s 05         (Latitude Longitude
Altitude UTC NumberOfSatellitesUsedForFix)

c) trying to remember profiling tool used for gdapp - think was gprof
which needs to be compiled with -gp in think

d) automake/autoconf stuff screwed up for gdapp TO FIX

Tue Oct  5 10:15:47 BST 2004

1) again most tech stuff is now elsewhere but report on getting
Telefonica's supplied Zyxel (model ?) wireless ADSL modem/router to
work may be useful:

all documentation shows Windows only setup tool. can however be
configured by plugging supplied cable into console socket on router
and serial port of laptop. then run minicom with Bps/Par/Bits:9600 8N1

boot up router and you will have access to setup screen. for own
purposes following settings for modem (internet access) menu: PPOE,
multiplex as LLC, QoS as CBR and NAT as SUA only (not full featured)

alternatively: use browser pointing to user: admin pass: 1234

2) some annoying stuff in installing pango (or anything relying on
fontconfig) under gentoo - emerge pango, starts to build then :

/usr/lib/libfontconfig.so: undefined reference to
undefined reference to `FT_Stream_GetShort'
undefined reference to `FT_Stream_ExitFrame'
undefined reference to `FT_Stream_GetLong'
undefined reference to `FT_Stream_Seek'
undefined reference to `FT_Get_Next_Char'
undefined reference to `FT_Stream_EnterFrame'
/usr/lib/libfontconfig.so: undefined reference to
undefined reference to `FT_Get_First_Char'

tried re-install freetype, fontconfig, xfree (falls over on

solved by removing all traces of freetype and then installing very
latest freetype, and fontconfig


next step is get gtk building - done

Tue Oct 12 17:52:07 2004

1) to get raw 44100, signed linear audio from divx for use by new cur
file read buffer (buffer 6):

mplayer file.avi -dumpsound -dumpfile file.mp3
mpg123 -m -s -v file.mp3  > raw
sox -t .raw -w -c1 -s -r48000 raw -c1 -s -r44100 -w -t .raw output

Mon Oct 18 12:15:33 2004

1) on remote machine reboot failed with:

init: timeout opening/writing control channel /dev/initctl

solved with reboot -f

Mon Nov  1 17:11:38 2004

1) at piksel04 - usual tech things

a) new version of liveap. on lap. /home/newlife/liveap-ppsndcard 

# ./cells -m10000 -f / -e 100

with -e as using parallel port soundcard and parameter value as step
so can slow down frequency - as yet untested though should do so -works fine

b) looking into possibility of combining 74HC14/74HC240 nv net things
with parallel port based soundcard - to be breadboarded

c) some lisp stuff - put here as cliki down - under sbcl for setq to
work (outside context eg. as global var):


(proclaim '(special *procs* *proc* *cont*))

(setq *cont* #'identity)

[but in PG On Lisp example *cont* is not a special variable - but sbcl says is unbound

- only if is compiled and not evaluated ???????]

d) new lunchbox work - testlinux2 to transfer to lunchboxes and is
kind of untested.

writes audio from mic to named pipe which can be netcat to pd patch. 

Mon Feb 28 14:04:30 2005

1) need do more with netcat and further automate pd patch as to

a) boxes start: first: cat /root/snd | netcat -l -p portno /then/
b) nc IP port > test (all fifos as in script)
c) pd started with new pd patch:

 pd -lib ext13/piperead~ -open lunch4-auto.pd

2) notes for RME Multiface - works fine with jack and pd but not alsa
and pd. more notes to follow

basic use for pd:


a) hdsploader (after cold boot with card+multiface all in and on) and
hdspmixer (tho how routing relates to jack is tricky one - but does do volumes)

b) jackd -d alsa -d hw:2

c) qjackctl for patching

d)  pd -jack -inchannels 12 -outchannels 12 -r 48000 (and use dac~
object with channels specified)

create sample test hdsp patch (freqmod2) DONE




/usr/bin/hdspmixer &
sleep 1
/usr/bin/jackd -d alsa -d hw:2 &
sleep 4
/usr/bin/pd -jack -inchannels 12 -outchannels 12 -open
/usr/lib/pd/doc/3.audio.examples/A07.frequency.mod2.pd -r 48000 &
sleep 1
/usr/bin/qjackctl &

code also from hdsptester.c

what we want-> 

how HDSP matrix thing for cur will work - we want 8/10 outputs so can
do gains on these on hardware mixer

buffers routed thru matrix to say 3 or 4 outs and other inputs routed
with volumes changed

8 outs from 8 ins + 2 output buffers on line ins left/right
+ all ins can route to 2 capture buffers

-> cur2-sdl-rme:

a) sine wave frequency as data src +8 channels ap data srcDONE + pipe data src
b) alsify + 2 in/out buffers -> line out RME + data src assign input -> buffersDONE
c) 8 channels volume :

init somehow + like: from hdspmixer  HDSPMixerWindow.cxx

   snd_ctl_elem_value_set_integer(ctl, 0, in);
    snd_ctl_elem_value_set_integer(ctl, 1, out);
    snd_ctl_elem_value_set_integer(ctl, 2, value);

where route in->out and max value is 65535

or in jack code:

hdsp_set_mixer_gain(jack_hardware_t *hw, int input_channel,
                               int output_channel, int gain)

or is q of init code really DONE

see code

d) extra ap data sources DONE

e) fixed huge number bugs (esp with pre_playbuffer) which should be

using gdb: up and down for stack frames
info locals for variables

using electric fence for memory allocation problems: -lefence in makefile,
run code in gdb will segfault on any allocation/overewrite problem 

f) now is interrupt-driven and threaded

g) added micro function for granular synthesis

3) diy 4 channel soundcard - uses resistor DACs and four 74ls373
latches. code as follows now in ap-multiplex version:

      for (multi=0;multi<4;multi++){
    if (pc->wrcounter>PPSIZE) pc->wrcounter=0;
    //enable high
	       if (pc->writebuf[pc->wrcounter]>128) outb(255,0x378);
	             else outb(0,0x378);
   //possible delay?

4) lisp stuff can live here:

setup of cmucl on current laptop - fedora core with apt + planet ccrma:

asdf is automatically loaded by cmucl

so (for say cl-sdl):

(push #P"/path/to/uffi/" asdf:*central-registry*)

(asdf:operate 'asdf:load-op 'uffi)

Tue Mar 15 16:12:28 2005

1) to re-encode vcd to avi:

 mencoder vcd://0 -oac lavc -ovc lavc -aspect 4:3 -o output.avi 

2) findings with planet ccrma/ own kernels:

2.6.9 own - no realtime patching. xruns and clicks under rme-pd-jack
test script as above

2.6.10rdt - hdsploader loads automatically. all realtime
patches. clicks and xruns as above but not so bad

2.6.10-2.1.11 - hdsploader as above. best performance with no clicks/xruns

3) where in kernel is segfault signalled? - signalled by CPU -> kernel

4) done backport of fixed cur-rme code to ordinary sndcard TO TEST TESTED/COMPLETED

see code

TO TEST ALSO latest adds to rme multiface version

Wed Mar 16 18:19:23 2005

1) working on crash issues/questions and perhaps towards promiscuous
OS / promiscuous GNU/Linux project which features:

a) no access control
b) promiscuous net I/O and attachment to all I/O as data code/sources
for flat code/data memory (again question is of a VM model for this or
just rebuild/patch kernel and overlay apps
c) executes any code/data
d) nor protected mode (but priveleged kernel avoids system crash?)

thus research which includes following urls:


segfault: occurs when an invalid page table entry is encountered by
the MMU - a hardware trap (like an interrupt see
arch/i386/kernel/traps.c) which causes kernel to jump to page fault
handler (arch/i386/mm/fault.c) - if caused by virtual memory ref to a
bad address page fault handler will kill process

note we're just in userspace as in kernel space is all physical memory
(oops in this case)

relevant function is do_page_fault

what happens if we ignore page fault?

1) if re-executes faulty instruction = infinite loop
2) if skip instruction what is destination register of the load?

other notes on vm :

process makes reference to place in virtual memory space not yet
existing in physical memory

virtual addresses are converted to physical addresses by processor
based on information held in tables maintained by OS (how this works) 

if page table entry (PTE) is invalid -> page fault
flags in PTE contains valid and invalid flag

access control is also in page table - fields in PTE are processor dependent
(ie. if accesses/writes/tries execute memory it shouldn't)

Linux has 4 level hierarchical page table thing
VMA - virtual memory area descriptor is a high level desciption of
region of process's page table - see exploit as above

see also:


2) other areas of current research:

a) building beam-based audio hardware - patch and re-patch using
clothes-pegs/foil/wire between say 24 NV and NU neurons (based on
74HC14) + throw in 4 DACs (as used before - resistor ladder) + 74HC240
and diodes with 1M pots as connectors also (in peg wiring) +where to
put diodes IN4148 type also

all ordered but may need 0.01 uf for NV/NU

CONSTRUCTED - images here

b) simulation in software as above:

look at:


c) back to neural networks in software with emphasis on ART (Adaptive
Resonance Theory)

: port of neuralsynth (Hopfield) nn audio -> sdl DONE - re-acquaint
functions and parameter and possibly as data/process in cur

: ART used for nn audio - categorising

d) linking and indexing within emacs for larger texts - also maybe use
of remembrance agent

: we can use bookmarks for text(p106 o'reilly) or etags(p272) for code
(need run etags *.[ch] first)

and possibly some functionality in slime which is already there for
index/cross-ref but what really want is linking system

see also:

hyperbole: http://directory.fsf.org/hyperbole.html
thing-mode: http://www.lib.uchicago.edu/keith/software/thing/thing-mode.html

Thu Mar 17 19:54:25 2005

1) emacs work as outlined above:


set: C-x r m
get: C-x r b
list: C-x r l


see also M-x describe-mode

M-. - jumps to definition of symbols at point
m-, - jump back

also cross-referencing:

C-c C-w c - who calls function
C-c C-w r - who references global var

**other emacs/slime notes:

slime-hyperspec-lookup - browser changed to w3 and w3 installed from
cvs but doesn't work (displays nothing) in my emacs version which has
url stuff installed

maybe try w3m
seems to work ok

**slime further:

M-( :inserts both the open and the closing parenthesis and then leaves
the cursor between the two

After filling in the LISP form, use the M-)
(move-past-close-and-reindent) command which moves past the closing
parenthesis and reindents the line

**etags: not so relevant

**hyperbole: looks interesting - create links using M- (in this case
use esc for some reason) return for marked button name then
M-hyperbole gives menu - Ebut menu item then create then link-to

lots of other features yet to explore

**thing-mode: no source available as yet

another alternative would be to use some emacs-wiki software

see simplewikieditmode


for raw wikis such as oddmuse

Fri Mar 18 13:17:02 2005

1) remembrance agent set up and in .emacs.


C-c r t (Control-c r t): Toggle Remem
   Toggle the remembrance agent on and off.  You can also do this by
   evaluating the function (remem-toggle).

C-c r v (Control-c r v): View
   Updates the suggestion list by running queries in all scopes now.
   Bypasses the timer.

C-c r # (Control-c r number): Show Suggestion
   Bring up the full text of a suggested document.  If you set
   remem-load-original-suggestion to t (the default), then the full file is
   loaded.  Otherwise a copy is displayed.  If your files are big and
   contain lots of documents (e.g. large mail archives), or if you don't
   want the buffers lying around then you might want to set this to nil.

C-c r f (Control-c r f): Field Search 
   Perform a search on a particular field (Body, Location, Date, Subject, or

C-c r q (Control-c r q): Query 
   Bring up a query buffer to do a manual search.  This allows you to fill
   in several fields.  When the data is entered, hit C-c r v to view the

C-c r d (Control-c r d): Database change
   Prompt for a new database, from the indexes in remem-database-dir.  If
   more than one scope is active, it will prompt for which scope to replace
   as well.  Remem will restart with the new database(s) at the original

2) for promiscuous Linux note OS/VM interface in sbcl:


which is one of files changed by Lazy-sbcl.diff:

from peter van eynd: http://pvaneynd.blogspot.com

"The patch is at the wrong place (linux-os.c) because there is no
abstraction layer for 'get memory' and 'handle memory fault'."

3) finished port of neuralsynth (Hopfield) nn audio -> sdl DONE - re-acquaint
functions and parameter and possibly as data/process in cur

4) also for promisc project: http://grid.bmk.com.au

grid computing on clisp:

"The Simple Grid Protocol is designed to allow users on a TCP/IP
network to run programs on their computer which utilize the unused
CPU resources of other computers on the network.

These programs are made up of both local tasks & portable tasks.
The portable tasks will be executed on the computer on the grid
that has the most available CPU resources at the time."

" The CPU Resource Server allows a single line of lisp language
    code (in the form of a single lisp form or object) to be
    evaluated and the result is returned."

Wed Mar 23 14:49:16 2005

1) some OS poking around which could be for promisc project - building
OSKIT (some problems fixed in build as makes use of now totally

+Since gcc-3.4.x, labels at the end of a compound statement are
treated as 
+errors, though they are widely used in spite of their
scruffyness. Certainly 
+this problem is easily solved: just replace the ocurrences of
+  goto [label];
+  return;
+and remove the label from the source or comment it out.

oskit needed as trying to build: http://unununium.org/articles/building

2) ideas for cur (which could be implemented with osc linkage to pd)

a) some sort of microcode system (look into pf) for data-providing
function (self-gen or console or piped) + also more hooks into such
functions - bending functions against each other

b) chaotic attractors Roessler TEST!

c) nn processor + nv simulation

d) buffer2 start and end as functions TEST!
3) thoughts for fm01 (should upload whole text)

code in nodes and code that can also attach/generate trajectories

Thu Apr 14 20:16:32 2005

1) other ideas relating to cur:

nn microcode
nn processors

Mon May  2 14:00:46 2005

1) granular synthesis software under GNU/Linux:

see also nyquist language


need change fclose(s) to close to in callbacks.c to avoid:

glibc detected *** double free or corruption during a run.

also live sound with csound doesn't work as is jumpy

output to csound file ok then do:

csound -W -o tmp.wav chaosynth.orc temp2.sco

Cumulus, particlechamber (for pd)

see also amber

2) extract only audio from avi (is above but now incorrect):

mplayer -vc dummy -vo null -ao pcm -aofile test2.wav test.avi

3) transcode or re-encode from avi/mov whatever to ogg theora/vorbis:

a) mplayer -ao pcm -vo yuv4mpeg example.mov

b) /root/pdpnew/libtheora-1.0alpha3/examples/encoder_example -a 2 -v 4
-o example.ogg audiodump.wav stream.yuv

with -a and -v as audio and video quality on scale 1->10

4) making screenshot movie:

a) using xvidcap: latest version fails to compile for numerous reasons
so using 1.1.3

used in normal way it exports many stills: xwds (though from command
line can change to ppm which gimp wants) and fails to make movie

command line options easily understandable

b) stills can be converted (in gimp video menu) to ppm and then
encoded (choose encode)

Thu May  5 18:38:27 2005

1) how we made welt am draht file for gdapp:

mencoder -nosound -ovc rawrgb -vf scale=1024:768 fass.avi -o test

2) encode from dvd:

mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=834
-vop scale -zoom -xy 640 -oac mp3lame -lameopts abr:br=128 -sid 1 -o
test.avi -aid 12 8

Mon May 16 21:23:44 2005

1) had to re-install sbcl due to some problems with old .sbclrc

2) got acclaim working:

(push #P"/home/newlife/oldlap/clx_0.5.1/" asdf:*central-registry*)

(push #P"/root/acclaim/code/" asdf:*central-registry*)

(asdf:operate 'asdf:load-op :acclaim) [but needed do xhost + before]

(acclaim:load-slides "/root/test.slides")


[and also needed change font in test.slides to a basic:

  ((title :fontname "-*-helvetica-medium-o-*-*-*-240-*-*-*-*-*-*" ]

but will change to something else

Tue May 17 16:39:41 2005

1) re: acclaim - now working well - had to do stuff for fonts in Fedora Core 3:

cp /usr/lib/X11/fonts/75dpi/* /usr/share/fonts/local/ ;;mkdir 1st

ttmkfdir -d /usr/share/fonts/local/ -o /usr/share/fonts/local/fonts.scale

mkfontdir /usr/share/fonts/local/

chkfontpath --add /usr/share/fonts/local/

and gunzip fonts in dir; restart X

now acclaim working well with chosen font + images converted to pnm

2) ALT + RETURN for fullscreen window under ION2

Wed May 18 14:07:59 2005

1) bug fix for: 

 live sound and mixing matrix app for rme multiface [hdsp] [bugfix-may2005]
// fatal memory leak as rme-mixer code which makes use of alloca: The alloca() function allocates space in the stack frame of the caller, and returns a pointer to the allocated block. This temporary space is automatically freed when the function from which alloca() is called returns. was in main so never returned rossler code and re-inits need to be furnished - will do and upload new version 2) thinking on some sort of code as interface/interface as code to do with cur matrix and some idea of exposure Thu Jun 2 10:29:40 2005 1) **more on cur-rme-sdl-interr: -e option means all 8 inputs route to 8 outs + line out left/right as cur out - otherwise default is to route all to line out left AND right otherwise route to left/right and cur as left and right also TO TEST TODAY 2) thinking on promiscuousOS: self-display as essential - some sort of strace or gdb style stepping through kernel and application code required - how this could be automated achieved. also look at old self[cpu] app which does self-display of processor registers why it forks? what level of self-display (level of abstraction of display) [ also brings to mind dual time/freq domain idea for cur/gdapp style app] elements of GNU/Linux based promiscOS: a) self display b) all memory readable and writable (and apps to misuse this) c) inetd allowing for execution of incoming code on certain ports (some sort of notification between such enabled machines) Wed Aug 3 16:01:59 2005 1) working with boards from xess for article and book: (under Fedora Core 3) XSA-50 (xilinx spartan-2 board) XSA-3S1000 (xilinx spartan-3 board) XST-3.0 extension board first ok with xstools port (only with rpm downloaded from http://www1.cs.columbia.edu/~sedwards/classes/2004/4840/) second does not seem to be supported then when try to install: ./WebPACK_71i_installer.sh first errors such as: Cannot register service: RPC: Unable to receive; errno = Connection refused cleaned up hosts for name of computer did export DISPLAY=:0 and installed libcurl.so.2 from rpm and also openmotif installer runs but then issues segmentation fault answer is here: http://www.wolfteck.com/xilinx/native/ use FULL 300+ MB version of the installer <---