19 February 2014 - Editing Markdown Static Sites

Still searching for that frictionless workflow website

23 September 2012 - Set Exif Dates on Scanned Image

While scanning in some old pictures, I found that setting their date metadata would be useful images

02 June 2012 - Javascript Beauty Linting

Discussing a workflow for formatting and linting JavaScript javascript

01 April 2012 - Relative Importance of Minifaction and Compression

While having a discussion recently on the tradeoffs of different data representations of our json data for an open data project, I thought it important to put this aspect of optimization into context.


16 June 2011 - Managing Node.js Versions

Since node.js moves rapidly we often need to update it. devops

19 May 2011 - Installing MacPorts

Since OSX dosn't have a native package management solution, installing some opensource software can be greatly simplified by using MacPorts, which fills this void. devops

19 May 2011 - Git bash completion

When using git from the bash shell, this setup allows for auto-completion of many useful aspects of git usage. devops

09 May 2011 - A New Vocabulary for Power

Geoffrey Moore, the insightful author of Crossing the Chasm, discusses a new vocabulary for power in a podcast as part of the Entrepreneurial Thought Leaders Seminar from Stanford. Power in this context is the ability to be an industry leader and innovate toward future growth and opportunities. innovation

27 April 2011 - Cloud and DevOps

For our purposes, Devops, is not so much a set of specific tools and practices, as it is an invitation to broaden the scope of many established practices to include aspects which had hitherto been considered unrelated. Devops borows heaviliy from the toolset of Agile Development and extends their use into other fields such as IT Operations. devops

13 April 2011 - Site-to-Site VPN Setup

Finally got around to re-installing routers at home and in the office.

13 April 2011 - export EDITOR=mvim

It just may be time to learn VI(M).

22 February 2010 - Moved Back to Blogspot

Here we go.

Missed a few images: fixed by hand.
had to restore goedel:/home/daniel/
into newton:/Library/WebServer/Documents/daniel[/blog]
newton:blog daniel$ for i in uploaded_images/*; do echo ====================;echo $i; echo -------; grep -rl $i .; done|grep -v archive.html|grep -v atom.xml|grep -v rss.xml|sed -e s/.\\/20/http:\\/\\/localhost\\/daniel\\/blog\\/20/g|grep http|uniq -c
2 http://localhost/daniel/blog/2005/11/moire-3d-dome-pov-ray.html
6 http://localhost/daniel/blog/2006/08/galo-on-drupal-and-gallery2.html
4 http://localhost/daniel/blog/2007/10/bucky-moire-revisited-wide-169.html
So these are fixed:

21 May 2009 - 27% Power Savings

How I saved 27% on my Power Consumtion over the last 11 months!

09 July 2008 - Scribefire Blog Tool

Great Add on for Blogging
ScribeFire - Fire Up Your Blogging!

Let's give it a whirl.

23 April 2008 - Ubuntu - Debian Package Management

rpm - dpkg equivalents

rpm -qa becomes dpkg -l
rpm -qf becomes dpkg -S
rpm -qal becomes for i in `dpkg-query -W|awk '{print $1}'`; do dpkg -L $i; done

22 April 2008 - SSH delays

Sometimes when I login I get very long delay,
cause is the destination server's config, two possible configs:
/etc/ssh/sshd_config in Centos, /etc/sshd_config under OSX:
UseDNS no
- and/or -
GSSAPIAuthentication no

17 April 2008 - LCD Monitor DPI at Native Resolution

Relative pixel density for a given resolution
calculated this way:
DPI = sqrt( Wpx^2+Hpx^2 )

1680x1050@20" --> 99dpi
1600x1200@21" --> 95dpi
1680x1050@22" --> 90dpi
1920x1200@24" --> 94dpi

using google as my
calculator (e.x. for 1920x1200#24")

15 February 2008 - Grand Central Widget


Use the widget to have grand central call me, and the entered number.
Then #4 recording is available.


30 January 2008 - Vista Take Ownership Shell Extension

Saved my Life.

Recursively take ownership of a directory

23 January 2008 - DNS override @rd

To override dns for, which does not do port forwarding when coming from the inside, simply added a line to /etc/hosts on openwrt@rd

The point was to browse to from inside network
Of course the browsing host has to use openwrt as its dns...

/etc/hosts.old -> /rom/etc/hosts
/etc/hosts localhost OpenWrt sulbalcon

dig before 244 IN CNAME 60 IN A
dig after 0 IN A

23 January 2008 - Blog moved to sulbalcon


09 January 2008 - PhotoMosaics

- metapixel setup
- linksInOneDir
- export from picasa
- size sort
- aspect ratio gymnastics
- slicing up for cheap printing

12 October 2007 - Bucky-Moire Posted

Well here it is, the 4:3 version re-rendered and posted to YouTube!

06 October 2007 - Bucky Moire Revisited Wide (16:9)

Tried to re-render my Bucky Moire project, and found that the MPEG files were making Powerdirector crash. Investigating, I decided to re-render in 16:9, with better aspect-ratio management.

- so rendering in 720x480, with an explicit aspect ratio in pov files:
camera{ .. right x*1.778 ..} does the trick (implicitly 4:3 is the default.)
-That makes the png picture distorted (when viewing with sqaure pixels.)
- I also removed the -f dvd flag from the ffmpeg line
- old vs new ffmpeg, is the one that I built in the dome directory vs the one from rpmforge under centos5
- so the MPEG file needs to be told about the aspect ratio: e.g.
/home/daniel/dome/ffmpeg/ffmpeg/ffmpeg -r 30 -i work/buckyMoireF2427-%03d.png -aspect 1.778 -b 9000 -y oldffmpeg-nodvd-aspect169-nonsquare.mpg

This is what it looks like on the DVD after rescaling to 16:9.

I must also redo the intro storyboard with the same mods.

Moved all scripts into svn:
svn checkout buckyMoire --username daniel.lauzon

-Parts, there are now three top level scripts.
all scripts run for both 1.778 (16:9), and 1.333 (4:3) aspect ratios) : story board animation : creates 24...48x24..48 sequences creates longer seamless animations
-combine the 9 styoryBoard parts (with repeats into one sequence)
as in 1,1,1,2,3,3,3,4,5,5,5,6,7,7,7,8,9,9,9
-combines all mesh animations for one constant outter frequency
and adds freq pair anotation to bottom of image.

28 September 2007 - Gmail transfer

Setup pop server on boole.

netstat -anop --tcp :to find open ports. 993/995 are listening
tcp 0 0* LISTEN 3260/xinetd off (0.00/0/0)
tcp 0 0* LISTEN 3260/xinetd off (0.00/0/0)

map hole in firewall to 995 (pop3s), say rd:8995 -> 201:995
load up the mailboxes one by one, in /var/mail/spool/catherine, and let it rip
Sometimes have problems with mbox locks...
kill the ipop process and restarting xinet seem to help.

24 July 2007 - Using Virtual Ethernet Adapters in Promiscuous Mode on a Linux Host

Reference from vmware:

change permissions on /dev/vmnet[018] to specific group or all
[root@euler ~]# ls -ltr /dev/vm*
crw------- 1 root root 10, 165 Jul 20 13:38 /dev/vmmon
crw------- 1 root root 119, 0 Jul 20 13:38 /dev/vmnet0
crw------- 1 root root 119, 1 Jul 20 13:38 /dev/vmnet1
crw------- 1 root root 119, 8 Jul 20 13:38 /dev/vmnet8
[root@euler ~]# chmod go+rw /dev/vmnet[018]
[root@euler ~]# ls -ltr /dev/vm*
crw------- 1 root root 10, 165 Jul 20 13:38 /dev/vmmon
crw-rw-rw- 1 root root 119, 0 Jul 20 13:38 /dev/vmnet0
crw-rw-rw- 1 root root 119, 1 Jul 20 13:38 /dev/vmnet1
crw-rw-rw- 1 root root 119, 8 Jul 20 13:38 /dev/vmnet8

and back:
[root@euler ~]# chmod go-rw /dev/vmnet[018]
[root@euler ~]# ls -ltr /dev/vm*
crw------- 1 root root 10, 165 Jul 20 13:38 /dev/vmmon
crw------- 1 root root 119, 0 Jul 20 13:38 /dev/vmnet0
crw------- 1 root root 119, 1 Jul 20 13:38 /dev/vmnet1
crw------- 1 root root 119, 8 Jul 20 13:38 /dev/vmnet8

29 June 2007 - Restoring Cantor after disk failure

Well, after much effort, (spinrite 6.0) could not repair the failed system disk for cantor; Conclusion use raid1 for /boot and put / on raid5 volume!
The plan is to do that when cantor is moved the the new Core2 box.

-Gbe went smoothly under CentOS-5.0 for the DLink DGE-530T
-restoring the VG1 LVM volume (raid5) went smoothly after I vgscann'ed, pvscann'ed my way home, to enable the volumes however I had to lvchange -ay /dev/VG1/LVx for x in 0,1,2,3.

now for basic software installs; rpmforge:
google'd for rpmforge-release dag
rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
VMWare: got version 5.5.4: 6.0 soon...
installed from rhes5 supplementary, by loop mounting iso:
mount -o loop /archive/iso/rhes5/rhel-5-server-supplementary-i386-disc1.iso /mnt/coco
adding keys, then yum localinstall jaba*ibm*rpm
This setsup plugina appropriately: config with alternatives --config
also installed jdk 1.5, and 1.6 from sun.
for java6: turned off magical execution with:
chkconfig --level 0123456 jexec off
Acrobat: installed from rhel5 suppl.: yum localinstall acroread-*.rpm
Flash: installed from rhel5 suppl.: rpm -Uvh flash-plugin-*.rpm
Groovy: already had groovy .tar.gz in downloads.
Grails: groovy home 0.4 already in /home/daniel/grails-0.4

29 June 2007 - iSCSI on axial blades/filers

Just added these for autostart..
on filer1:
chkconfig --add iscsi-target
chkconfig --level 345 iscsi-target on
chkconfig --list iscsi-target
and on blade02: service was aloready set to run..
chkconfig --list iscsi

Just grep'ed history on blade02:
iscsiadm -m discovery
iscsiadm -m discovery -p
iscsiadm -m discovery -t st -p
/etc/init.d/iscsi restart
fdisk -l /dev/sdb
mke2fs /dev/sdb1
/etc/init.d/vmware stop
mv vmware vmware.local.old
time scp -rp ../../vmware.local.old/Virtual\ Machines/c44-64 .
time scp -rp ../../vmware.local.old/Virtual\ Machines/w2k3-ent-x64 .
mount /dev/sdb1 /var/lib/vmware
/etc/init.d/vmware start
and on filer1:
/etc/init.d/iscsi-target restart
config in /etc/ietd.conf

28 June 2007 - Gigabit Ethernet on Cantor: D-Link DGE-530T

Under Centos4.4 my notes indicate that the SKGE module was the right one...

Installing the Gigabit Ethernet Controller under RHEL5 was without issue, and produced the following /etc/modprobe.conf:
[root@cantor ~]# more /etc/modprobe.conf
alias eth0 r8169
alias eth1 forcedeth
This is what lspci had to say:
[root@cantor ~]# lspci
01:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet (rev 10)

16 June 2007 - convert flac to mp3

This is the gem that I found:
flac -d -o - "$filename" | lame -b 320 -h - > "${filename:0:${#filename}-5}".mp3

So using this trick for filenames with spaces: (while read does not break on spaces as for does !)

find -type f -name \*flac | while read f; do
echo "-=-= $f =-=-";
flac -d -o - "$f" | lame -b 320 -h - > "${f:0:${#f}-5}".mp3

Don't thimk this will do id3 tags though....Music Brainz...And done

19 May 2007 - iperf setup and results

Link to iperf home page
Server side: ./iperf -s
Client side: ./iperf -c

./iperf -s -P 0 -i 1 -p 5001 -l 8K -f m -t 10

./iperf -c

aria has a linksys EG1032
lascala has an onboard NVidia nForce Gbe
cantor has a Trendnet TEG-PCITXR (RTL-8169)
piaget has a D-Link DGE-530T

Results (lascala was busy.. redo, and add openfiler)
cantor-lascala: 418 Mbits/sec
lascala-lascala: 594 Mbits/sec
cantor-cantor: 2.25 Gbits/sec
aria-aria: 637 Mbits/sec
lascala-aria: 251 Mbits/sec
aria-cantor: 453 Mbits/sec
cantor-aria: 538 Mbits/sec

13 May 2007 - transcode re-encode mp3 with lame

Doin this to shrink collection for Sylvie'e iPod.

yum install lame
yum install id3lib

# make parallel directory structure
find -type d -exec mkdir ../mp3_128/{} \;
# do actual transcoding
find -type f -name \*mp3 -exec
lame -b 128 --mp3input {} ../mp3_128/{} \;
# and now id3cp -1 -2 (necessaru caus lame does not bring over id3 tags
find -type f -name \*mp3 -exec id3cp -1 -2 {} ../mp3_128/{} \;

-=-= dual Core 2 = 4 cores ::
To accelerate on dual core 2 machines, manually split into 4(5) source directories, all of which encode to same mp3_128 target dfirectory.

21 January 2007 - WWYDIYWNA

Considering options for rapid developpment.
Lifted considerations:
-common environment, simplified installtion recipes
-source for java sdk, , can use java 1.5, from sun/ibm, 1.6 when it gets FLOSSED.
-svn to replace cvs
-planing: trac for details vs solodesk.

21 January 2007 - Trac on cantor

Installing trac on cantor
Decided to up2date instead of yum
Change the directories from instructions:
Subversion repos
mkdir -p /var/lib/subversion/repos
svnadmin create --fs-type fsfs /var/lib/subversion/repos
Trac projects.
mkdir -p /var/lib/trac
-admin /var/lib/trac/solotrac initenv
permissions, root.apache didn't cut it...
chown -R apache:apache /var/lib/trac
chown -R apache:apache /var/lib/subversion/repos

and put a logo into /usr/share/trac/htdocs/sologlobe.png by changing /var/lib/trac/solotrac/conf/trac.ini


Then we svn,
And define milestones for hibernate and clustering unit/integration/load testing...

28 October 2006 - D-Link DGE-530T 10/100/1000 Gigabit Ethernet

How to install D-Link DGE-530T 10/100/1000 Gigabit Ethernet driver
on CentOS-4.4

/Linux driver/install-8_23.tar.bz2 from CD in D-Link box,
note: there is also a half-height bracket in the box.

make sure the link
ln -s ... /usr/src/linux is ok, especially if a new kernel is installed
When I built the driver :
ls -ltrd /usr/src/linux
lrwxrwxrwx 1 root root 37 Oct 27 21:26 /usr/src/linux -> /usr/src/kernels/2.6.9-42.0.3.EL-i686

/etc/modeprobe.conf - replace sky2 driver with installed sk98lin
alias eth0 forcedeth
alias eth1 sk98lin

Quoted from:
I installed the sk98lin driver in the supplied CDROM.

I followed the installation instructions in the README file in /Linux driver/install-8_23.tar.bz2. I did not follow the procedure in /Linux driver/sk98lin.txt - I suspect that is for an older driver version.

I loaded the driver module and it worked first time.

28 October 2006 - CentOS-4.4 Samba config

Use System Settings/Server Settings/Samba Gui editor
Firewall / system-config-securitylevel / other ports
137:udp, 138:udp, 139:tcp, 445:tcp

06 October 2006 - Growing a raid5 array

Grow a raid5 array from 3 disks to 4.

mdadm - lvm(2) - evm - extfs

A- Growing a raid5 directly
get mdadm 2.5.2 or above
confir kernel >2.6.17

first create 4 devices in vmware. /dev/sd[bdce]1
mdadm --create --verbose /dev/md0 -l5 -n3 /dev/sdb1 /dev/sdc1 /dev/sdd1
# how big does the backup file need to be?
mdadm --grow /dev/md0 -n4 --backup-file=/tmp/raidbackup
mdadm -a /dev/md0 /dev/sde1

Then redo this with a filesystem on /dev/md0, or better ext3fs over lvm over /dev/md0

B- Alternatively using multiple raid5 pv's we can simply grow each pv independantly:
* pvmove /dev/md3 # Move all data off of /dev/md3
* vgreduce vg /dev/md3 # Remove /dev/md3 from the volume group
* pvremove /dev/md3 # Remove the LVM signature from /dev/md3
* mdadm --stop /dev/md3 # Stop the array
* mdadm --zero-superblock /dev/md3 # Remove the md signature from the disk
* mdadm --create /dev/md3 --level=5 --raid-devices=4 /dev/hda3 /dev/hdc3 /dev/hde3 /dev/hdg3 # Create the new array
* pvcreate /dev/md3 # Prepare /dev/md3 for LVM use
* vgextend vg /dev/md3 # Add /dev/md3 into the array

---- found this enabling note---
For those now reading this, you can actually expand a raid 5 array with mdadm for software based raid in linux. At least as of kernel 2.6.17 and mdadm 2.5.2 it is possible. One easy way to stest this is to create 4 files with dd, I created 4 100MB files named raidfile[1-4]. Next, use losetup to set them up as loop back devices, I used loop[0-3]. To create the initial array do:
mdadm --create --verbose /dev/md0 -l5 -n3 /dev/loop0 /dev/loop1 /dev/loop2
The array should now be initializing, when it is finished, increase the number of raid devices in the array by issuing the command:
mdadm --grow /dev/md0 -n4 --backup-file=/tmp/raidbackup
This part requires a backup file in case power is lost during the reordering of data, this backup file has to be used to assemble the raid array in that case.
Next, to add the other drive to the array use:
mdadm -a /dev/md0 /dev/loop4
the new drive will then be added to the array with no data lose hopefully. During my testing it has worked flawlessly so far, but as for using it on a production box its probably not recommended unless you have backups. You do keep backups correct?

27 August 2006 - galo on drupal and gallery2

New implementation choice for galo:
vmware running ubuntu server with drupal and gallery2.
Here is the logo image:

01 August 2006 - NSLU2 dl-slug

After a part swap from linksys, which turned out to be another Power supply failure...

Restoring the slug:
-confirm working
configure : ip
Server Name dl-slug
Workgroup : SOLO
Lang Support: Western Europe/Latin-1

Before updating to unslung firmware
test telnet into redboot as in
I used the following (Third manual method):
while ! ping -W 1 -c 1 2>&1 >/dev/null; do true; done && telnet 9000

From the readme : Unslung-6.8-beta-README.txt
I think It will be better to upgrade to linksys V23R63 first.
Having to do with the unslng disk being in USB port1 or port2.
And I intend putting the drive in port1.
But if I unsling a brand new drive, Then I will do as sugessted and unsling to port2.

HOLD EVERYTHING, will redo this as per readme with a brand new drive.....

Checksums for reference...

-update to latest firmware : NSLU2_V23R63.bin
007fa7a32c20e29411922b41370962c8 NSLU2_V23R63.bin
- or unslung

17 July 2006 - RPC options

Basic transport is workable now.
For initial tests php-o-lait will be simpler, (requires php 4.3 (.1)+ (not boole)

Server side -
JSON.php wrapped by me
php-o-lait includes JSON.php , and rpcproxy classes

Client side
php-o-lait rpcproxy classes
Hand written code in HttpPostTest
including cookie tracking.

Impedence mismatch: Types!
If php is in the chain, whoe dow we adapt the class hinting scheme from java client:
remove it from the source by hand ?
Implement Objects in php ?

Other transports:
JAX-RPC -> supplanted by JAX-WS 2.0 (which supplants JAX-RPC), JAXB 2.0, and SAAJ 1.3.

What about
handles all three: REST, XMLRPC, SOAP

for xmlrpc :
implementation list :
top candidates for java: or (redstone , was Marquée)
top candidates for php: not yet reviewed
There is already a module in php :php-xmlrpc (on euler,abel,rack2)
article describing this extension :
this is the xlmrpc-epi (epinions extension) (has some json stuff too, had trouble making it work ?)
but maybe that was on boole)

22 June 2006 - CJK - I18N

Get some chinese text - google china
pick a language code (zh)
zh-tw Chinese (Taiwan)
zh-cn Chinese (PRC)
zh-hk Chinese (Hong Kong SAR)
zh-sg Chinese (Singapore)

Use google language
tools : Chinese -> 中国 -> China
tranlate big resource file:
for i in ./heads/aviso-core/conf/internationalization/action.xml ./heads/aviso-core/conf/internationalization/bluebox.xml ./heads/aviso-core/conf/internationalization/calendar.xml ./heads/aviso-core/conf/internationalization/db.xml ./heads/aviso-core/conf/internationalization/dialog.xml ./heads/aviso-core/conf/internationalization/error.xml ./heads/aviso-core/conf/internationalization/fsm.xml ./heads/aviso-core/conf/internationalization/menu.xml ./heads/aviso-core/conf/internationalization/message.xml ./heads/aviso-core/conf/internationalization/misc.xml ./heads/aviso-core/conf/internationalization/search.xml ./heads/btna/conf/internationalization/action.xml ./heads/btna/conf/internationalization/db.xml ./heads/btna/conf/internationalization/error.xml ./heads/btna/conf/internationalization/ncrcodes.xml ./heads/btna/conf/internationalization/report.xml ./heads/bwsc/conf/internationalization/db.xml ./heads/bwsc-linden/conf/internationalization/db.xml ./heads/cascades/conf/internationalization/menu.xml ./heads/cascades/conf/internationalization/db.xml ./heads/cascades/conf/internationalization/message.xml ./heads/cascades/conf/internationalization/misc.xml ./heads/cascades/conf/internationalization/search.xml ./heads/r142/conf/internationalization/db.xml ./heads/r160/conf/internationalization/db.xml ./heads/unique/conf/internationalization/db.xml ./heads/viau/conf/internationalization/bluebox.xml ./heads/viau/conf/internationalization/fsm.xml; do echo ""; grep -v "" $i; echo ""; done

Use unique database/head on branch_2006-06-20_daniel_utf8_devel

-translate ./heads/aviso-core/conf/internationalization by adding : 中国 suffix/prefix whith a style sheet. i18n-zh.xsl
-modify localization.xsl to produce zh, unicode escaped properties files...

Apply a global servlet filter to change default encoding type...

Change database encoding to utf-8 (mysql4) try users table first.

-- What I've learned: from static page experiments
The browser detection seems to hinge on the jsp directive:
<%@ page language="java" contentType="text/html; charset=UTF-8" %>

which affects the http Content-Type header:
Content-Type: text/html;charset=UTF-8
whereas the default is
Content-Type: text/html;charset=ISO-8859-1

The html/head/meta/@content doesn't seem to affect the browser charset selection:
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
when the content type is set in the http response header, which is always the case with jsp pages.
You can observe the headers with:
wget -S -O - http://boole:8080/unique/china-UTF-8.jsp

25 April 2006 - Openvpn - Openwrt

-backup /etc/openvpn on abel and boole
-compare example tls conf for 2.0 vs 1.5
-openvpn-2.0.5 between abel and goedel
-openvpn between dl-openwrt and goedel
-openvpn between dl-openwrt and rd-openwrt

09 April 2006 - Architects

Philip Johnson - Pritzker 1979
-Glass House, New Canaan, CT.
-Bell Tower, Crystal Cathedral, Garden Grove Community Church, California

Ieoh Ming Pei - Pritzker 1983
-Grand Louvre, Paris, France
-The Bank of China, Hong Kong
-Meyerson Symphony Center, Dallas, Texas

Frank Gehry - Pritzker 1989
-Guggenheim Museum Bilbao, Spain
-Dancing House or Ginger and Fred

Renzo Piano - Pritzker 1998
-Centre George Pompidou, Paris France
-The Beyeler Foundation Museum Basel, Switzerland
-Kansai Air Terminal, Osaka Bay, Japan

Oscar Niemeyer - Pritzker 1988
Brasilia Cathedral

Rem Koolhaas - Pritzker 2000
Seattle Central Library (2004)
Louis I. Kahn
Ludwig Mies van der Rohe
Le Corbusier

Jože Plečnik
-Church of the Sacred Heart. Prague, (1922-1933)
-Prague Castle (various projects). Prague. (1920-1934)

28 March 2006 - mp3 cover art and tagger

Linux & Windows Tagger

Cover Art:
Gotcha covered is for windows,

but for linux

[root@abel mp3]# perl -MCPAN -e shell
cpan> install Image::Info SOAP::Lite

[daniel@abel media]$ tar xzvf amazon_image-1.5.4.tar.gz
[daniel@abel media]$ cd amazon_image-1.5.4
daniel@abel media]$ ./ -p /usr/local/slimserver/ -m /archive/media/mp3/ -i FOlder.jpg
Beyond media wants that name !

22 March 2006 - Zabbix re-born

Put zabbix back on its feet.
-reduce the frequency of polled data
down to 5 minutes ( 15 would break slave rule. )
-add new hosts
viau, wdel, unique (btna)

check history table on zabbix database on rack3:

select, count(*) as num from history h left join items i on i.itemid=h.itemid left join hosts m on i.hostid=m.hostid where h.clock>unix_timestamp(now() - INTERVAL 10 minute) group by m.hostid;

new infrastructure heatbeat.

20 February 2006 - Oracle over VMWare

Baseline test
Restore btna-20051220 oracle -> mysql
opteron , disabled keys:
pump: 16275s
+ EVENT: dumped 31842812 records at rate 3375.422 rec/s. (9433.728s.)
+ MATERIAL: dumped 2827883 records at rate 2610.8193 rec/s. (1083.14s.)
+ MATMASTER: dumped 56497 records at rate 997.44006 rec/s. (56.642s.)
+ TASK: dumped 7848729 records at rate 1521.2045 rec/s. (5159.549s.)
enable keys: 3960s
mysqldump --opt: 917s
bzip2: 5258s

03 February 2006 - Lascala Install - Round3

Lascala Motherborad was swapped and returned on 2006-02-17
Was delivered with a different set of drivers: These do not seem
to be the MCE specific drivers, but they work...
Took Snapshot at 2006-02-17 22:39 - Round31AfterMoboSwap

For testing -
Restored Round2 Snapshot3, which froze after 7 hours
Restored that Round31-AfterMoboSwap Image, which ran without incident for 35 hours;
well acutally, the image froze once, but btv, was not even frozen.

So this is the driver picture as delivered after Mobo swap:
-Catalyst 1.2.2217.17271
-.NET 1.1.4322,2032
-Realtek AC'97 Audio
-MSI Radeon Xpress 200 -
-Hauppage WinTV PVR PCI II (23xx) (Tuner 1&2) -

-ATI Radeo Xpress 200 Crossfire Display Adpater 8.17-050813a1-026236C
-Hauppage WinTV PVR PCI II (23xx) (Tuner 1&2) -

-=-= Round 3 Snapshot 2 =-=-
Auto-login (run...:control userpasswords2
Screen-saver off
Disable Media Center Services Automatic start
Install Snapstream FF-1.2, BeyondTV-4.1, BeyondMedia-111- AutoStart
Atomic clock - auto-start

When we are done with baremetal restores...
Media - daniel/mp3/photo/clips/divx TA01-113
ITunes - For ripping

-=-= Round2 - Before Mobo swap =-=-
Restore as Delivered 2006-01-20 with WinXP-MCE 2005
Note current versions
-Catalyst 1.2.2051.42447
-ATI Radeo Xpress 200 Crossfire Display Adpater 8.17-050813a1-026236C
-.NET Framework 1.1.4322
-Realtek AC'97 Audio 5.13
-Hauppage WinTV PVR PCI II (23xx) (Tuner 1&2) -

-=-= Snapshot 2 =-=-
Auto-login (run...:control userpasswords2
Screen-saver off
Disable Media Center Services Automatic start
Hauppauge -
ATI > Windows Media Center Edition > Motherboards with ATI Graphics >
- 6-1-igp_xp-2k_dd_ccc_wdm_sb_gart_enu_29602.exe
-- with Display Driver, Catalyst, SouthBridge Gart
-MSI Radeon Xpress 200 -
-Catalyst 1.2.2195.38647
-Hauppage WinTV PVR PCI II (23xx) (Tuner 1&2) -

-=-= Snapshot 3 =-=-
Windows Updates
-.NET 1.1 Service Pack 1
-Optional Windows MCE Update
Install Snapstream FF-1.2, BeyondTV-4.1, BeyondMedia-111- AutoStart

-=-= Snapshot n =-=-
Atomic clock - auto-start

When we are done with baremetal restores...
Media - daniel/mp3/photo/clips/divx TA01-113
ITunes - For ripping

01 February 2006 - Yum refresh - Centos4.2

install centos4.2 minimal in vmware
mount iso/CentOS-4.2-i386-bin1of4.iso
linux askmethod
nfs: /archive /archive/iso/centos4-U2-i386/

For nagios -
check yum.conf
add dag or freshrpms - to get nagois/nagois plugins
dag: dag.repo--------------------------
rpm --import
yum install nagios nagios-plugins

now do this from a mirrored dag/freshrpm ?

01 February 2006 - WDEL Firefight

WDEL Setup documentation
-printers (metadata-setup)
-cron jobs (system) - keepTomcatAlive,printeralive
ports,protoclol,transport,directory (location permissions)

setup profiling scripts
check indexes - correlate with search's
-what is coprinter ?

Slave Setup
-backup taken every two hours
-backups mirrored (hq,rd)
-failover directories for cma and flex
-replicate directory structures


27 January 2006 - Infrastructure Planning

-- Investigate Zabbix alternatives
-- Monitored Monitor
-- Failsafe Messaging
-- Scalability, and administration
Shared Homes
-- NIS or LDAP
-- Fedora Directory Server
-- Mounting /home over nfs on goedel.

Mirored Archives
replicate oracle 9i install over Centos-4.2 over vmware / Xen
replicate websphere install over Centos-4.2 over vmware / Xen
combine both
free up opteron or euler for GSX install
try GSX Server and Xen

-- Shared homes with GFS
-- Shared Everything -- diskless / stateless / dhcp
-- Virtualized server over iSCSI ala vm6

23 January 2006 - Flickr API Java - flickrj

Emulate API (REST)
cd /home/daniel/downloads/flickr/flickrapi-1.0a9-src/api/examples
Backup has Broken Directory Names
time java -classpath .:../build/flickrapi-1.0a9.jar flickrj.samples.Backup c5f36426bd41cf771cf5fcf11f467c73 48704656@N00 de2e684eeb503608 coco


30 November 2005 - Java IO Flash Speed

IO Speed comparison from java:
Buffered IOStream - 1k writes.
!Saturate file-system cache!
write/read 10 Mb (10 *2^20 bytes)
to file on HD
to file on Flash memory
{Slow, Fast} x {USB1.1 USB 2.0}
java : jit, no-jit

on boole:
/ - md1- raid0
write file of length 100MB at rate 98.911964MB/s (1.012s)
write file of length 1000MB at rate 49.205334MB/s (20.393s)
/archive - md2- raid1
write file of length 100MB at rate 94.33963MB/s (1.062s)
write file of length 1000MB at rate 34.31591MB/s (31.023s)

Boole: Unix cp - Read + Write
time cp coco /archive/coco - 54.452s
time cp coco caca 43.439s
time cp /archive/coco /archive/caca 53.663s
time cp /archive/coco coco 57.503s

on euler:
write file of length 1000MB at rate 53.20847MB/s (19.225s)
write file of length 100MB at rate 123.91574MB/s (0.809s)

on vik:
write file of length 1000MB at rate 26.901968MB/s (37.172s)
write file of length 100MB at rate 28.8267MB/s (3.469s)
write file of length 100MB at rate 12.260912MB/s (8.156s)

30 November 2005 - Derby Speed

As an extension to the flash memory speed tests,

tried inserting records into derby:
CREATE TABLE number (oid INT, PRIMARY KEY(oid));
INSERT INTO number(oid) values(?);

database size :
1kRecs : 760kB
10kRecs : 2.4MB
100kRecs : 9.4MB
1000kRecs: 57.6MB

create database and table takes about 2 seconds.
important when number of records is small
commit size is main factor.

Without Table creation With Table Creation
N Recs Rate Time Rate Time
-Commit size 1
1kRecs 351.61743Recs/s (2.845s) 195.73302Recs/s (5.109s)
10kRecs 661.682Recs/s (15.113s) 573.4274Recs/s (17.439s)
-Commit size 10
10kRecs 1623.1132Recs/s (6.161s) 1094.9304Recs/s (9.133s)
100kRecs 3172.3877Recs/s (31.522s) 2956.743Recs/s (33.821s)
-Commit size 100
1kRecs 542.8882Recs/s (1.842s) 243.13155Recs/s (4.113s)
10kRecs 2001.2007Recs/s (4.997s) 1376.652Recs/s (7.264s)
100kRecs 4766.6714Recs/s (20.979s) 4247.7275Recs/s (23.542s)
-Commit size 1000
1kRecs 368.86758Recs/s (2.711s) 149.23146Recs/s (6.701s)
10kRecs 2046.2451Recs/s (4.887s) 1395.0892Recs/s (7.168s)
100kRecs 5414.4785Recs/s (18.469s) 4817.42Recs/s (20.758s)
1000kRecs 6039.4863Recs/s (165.577s) 5950.5747Recs/s (168.051s)
-Commit size 2000
1000kRecs 5626.5757Recs/s (177.728s) 5549.482Recs/s (180.197s)

18 November 2005 - BFM Screenplay

Music - Philip Glass Einstein on the beach
Fade -
Can you see it.
Moiré ->
Etymology ->
[ Textile Texture Architecture Structure Rythm ]
Zoom out - Rendered Moiré
Observe Moiré (flat because close, translucid)
Loose outer Dome ( C,S radius -> ∞; D ->0) (Loose outer, instead of inner to preserve rotation)
Discreet blend from F=45(30),..,3(6), and back to 24. (to see structure)
Bring back outer dome from infinity D->1.015, C,S in 0.0001 ->0.01 -> Opaque

- Study Feature Matrix [blend]

Fade to black
Can you build it.
Richard Buckminster "Bucky" Fuller
(July 12, 1895 – July 1, 1983)

Fade to credits - Abel, Boole, Carnot, Dirac, Euler, Feynman, Goedel,...
Thanks to POV-Ray, Dome, Linux, Imagemagick,...

14 November 2005 - Moire 3D - Dome - POV Ray

Using Dome to generate Geodesic domes for POV-Ray

./dome_4_80/dome -f15 -sb dome15.pov
mv DomePoints15= DomeEdges15=

./dome_4_80/dome -f18 -sb dome18.pov
mv DomePoints18= DomeEdges18=

combine dome15.pov and dome18.pov
into dome-both.pov (add missing semi-colons)
#declare Dome15=
object {DomeEdges15 no_shadow texture{EdgeTexture}}
object {DomePoints15 no_shadow texture{PointTexture}}

#declare Dome18=
object {DomeEdges18 no_shadow texture{EdgeTexture}}
object {DomePoints18 no_shadow texture{PointTexture18}}

object{Dome15 rotate <22,> scale <1.1,1.1,1.1> }
object{Dome18 rotate <0,> }

72 degrees should do it for bucky balls

Animation options

Kn.n = set frame clock to n.n
KFIn = set initial frame number to n
KFFn = set final frame number to n
KIn.n = set initial clock value to n.n
KFn.n = set final clock value to n.n
SFn|0.n = start subset at frame n | start at n percent in sequence
EFn|0.n = end subset at frame n | end at n percent in sequence
KC = calculate clock value for cyclic animation

./povray-3.6/povray +Lpovray-3.6/include/ +Idome-both.pov +Odome-both.png +FN +W400 +H300 +V -D +X +KFI0 +KFF72 +KI0.0 +KF72.0 +KC

Moire Version

cat| sed -e "s/0.015}$/0.025}/g" | sed -e "s/0.01 }$/0.02 }/g" >
cat| sed -e "s/0.015}$/0.025}/g" | sed -e "s/0.01 }$/0.02 }/g" >
./povray-3.6/povray +Lpovray-3.6/include/ +Imoire.pov +Omoire.png +FN +W800 +H600 +V +D +X
display moire.png

again with 30-36
./dome_4_80/dome -f30 -sb caca.pov
./dome_4_80/dome -f36 -sb caca.pov

./povray-3.6/povray +Lpovray-3.6/include/ +Idome3036.pov +Odome3036f.png +FN +W400 +H300 +V +D +X +KFI1 +KFF72 +KI0.0 +KF72.0 +KC

again with 24-27
./dome_4_80/dome -f24 -sb caca.pov
./dome_4_80/dome -f27 -sb caca.pov

./povray-3.6/povray +Lpovray-3.6/include/ +Idome2427.pov +Odome2427f.png +FN +W400 +H300 +V +D +X +KFI1 +KFF72 +KI0.0 +KF72.0 +KC

and 24-30
./povray-3.6/povray +Lpovray-3.6/include/ +Idome2430.pov +Odome2430f.png +FN +W400 +H300 +V +D +X +KFI1 +KFF144 +KI0.0 +KF72.0 +KC

and 27-36
./povray-3.6/povray +Lpovray-3.6/include/ +Idome2736.pov +Odome2736f.png +FN +W400 +H300 +V +D +X +KFI1 +KFF144 +KI0.0 +KF72.0 +KC

14 November 2005 - JFreeChart and JNLP and WebApp

Example of JfreeChart and WebStart (JNLP) integration.
See also Extension I.
JFreeChart Extension II

For Webapp use:

12 November 2005 - Fusing Galo

To move progressively to appfuse structure:
+ create simple DAO for one entity by hand
- move to generated hbm files (xdoclet integration)
- move to autowired factories with spring

-create client/server source trees
-implment simple web service

-JNLP delivery for client
-client side Thread Worker

11 November 2005 - Hsql in Hibernate

For a in-process database to be persisted, must call
checkpoint, or shutdown [compact]

hibernate.connection.url jdbc:hsqldb:file:test

To acces Hsql database:
java hsqldb.jar --rcfile sqltool.rc test
----- sqltool.rc ----
# A personal Filebased Database
urlid test
url jdbc:hsqldb:file:test
username sa

11 November 2005 - Galo : HIbernate,JNLP,AXIS

-Move Media info to POJO.
-Persist POJO in local Datasource (Hibernate of JDBC DAO)
and integrate build (new lib/common/client)
-Thread for GaloClient
-First JNLP based on Progress2
-Expose Webservice with Axis
-Catchup un unit tests

07 November 2005 - Filesystem Walker

Traverse Directory tree advising IFileHandler
of each Directory and File that is reached:

public interface IFileHandler {
public void handle(File f);
public class BaseWalker {
public BaseWalker(IFileHandler directoryHandler,
IFileHandler fileHandler) ;

There are static shortcuts:

int DirectoryWalker.count(File baseDir);
List DirectoryWalker.list(File baseDir);
int FileWalker.count(File baseDir);
List DirectoryWalker.list(File baseDir);

03 November 2005 - Galo java client

in galo/java
App in a jar, (unit tested) , with ant
- produce output as filename filestamp md5
- filter for images ?
- detect/extract exif stamp(s), size

-produce jnlp, deployed in php

02 November 2005 - Galofuse

Galofuse is appfuse with crud on File -> specialized for image and mp3
and crud on tag, used for alarm
Soloalarm as webservice
Ajax look and feel template
Webservice for echo.

01 November 2005 - Windows and Linux

For itunes management : ephPod
And wine for picasa and IE.

01 November 2005 - Quote of the decade

In response to a naive question on the constituent nature of gluons,
I must admit my quantun chromo-dynamics skills are not what they ought to be
-- J.D.

21 October 2005 - Appfuse trial

Download appfuse 1.8.2
running on boole cause of ant 1.6.2 (euler has 1.6.1)

ant new -> danfuse; cd ../danfuse

build.xml:1057:point to server/lib/[catalina-ant4].jar instead of catalina-ant

build.xml:1012: Don't copy jdbc jar
build.xml:1014: Don't copy jta jar

had to remove one of

20 October 2005 - R&D Roadmap - 2006

Top level list of investigation items ready to be organized and specified

21 May 2004 - In the beginning...

I was just wondering what other services google offers,

about 3 minutes later my blog was setup and Off i go.