Dec.23/2011
I've recently been having some frustration with the
HRM Call Center, trying
to get past the help desk mentality. In summary:
I don't want an answer. I want to get a fix to the problem.
Jun.26/2011
Time for an update of my
older backup media prices (click on titles to
sort):
| name |
size (GB)4 |
unit ($) |
$/GB |
GB/$ |
drive ($) |
| Amazon S31 | N/A |
N/A |
0.142 |
7.142 |
N/A |
| BLU-Ray | 25 |
2 |
0.08 |
12.5 |
100 |
| DAT-72 | 72 |
18 |
0.25 |
4 |
490 |
| DAT-160 | 160 |
37 |
0.23 |
4.32 |
636 |
| DAT-320 | 320 |
46 |
0.14 |
6.96 |
1060 |
| disk | 2000 |
80 |
0.04 |
25 |
N/A |
| DVD | 4.7 |
0.35 |
0.08 |
12.9 |
20 |
| rsync.net3 | N/A |
N/A |
0.802 |
1.252 |
N/A |
| SuperDLT | 320 |
60 |
0.19 |
5.3 |
719 |
| Ultrium2 | 400 |
34 |
0.085 |
11.7 |
1040 |
| Ultrium3 | 800 |
32 |
0.04 |
25 |
1238 |
| Ultrium4 | 1600 |
34 |
0.02 |
47 |
1600 |
| Ultrium5 | 3000 |
89 |
0.03 |
33 |
2500 |
1: has a fee for bandwidth
2: per month
3: assuming unlimited bandwidth
4: 2:1 compression on tapes
N/A: not applicable
May.4/2011
A documentary on nature ant the brain:
Urban
By Nature. The Japanese call the stress release technique
"Forest
Bathing".
May.1/2011
I like this S3QL project. A
filesystem front end to remote storage that supports de-dup, compression and
encryption plus it handles filesystem operations such as rsync.
Dec.6/2010
Tableau Software has a
fabulous free interface to their data visualization tool. Reminds me of
visualizations from
Hans
Rosling's "data bubble"
and
David
McCandless' "data compression".
Nov.15/2010
Not allowing parking on a bicycle lane is a good move, as described in the
NS
proposed legislation. Also agreeable is the proposed
Subsection 171(3) of Chapter 293 4(d) which allows for legally avoiding
"a condition on the roadway".
Update: this bill has been
approved
by the Queen.
Nov.1/2010
I've found a bug in Apache:
https://issues.apache.org/bugzilla/show_bug.cgi?id=50190
Oct.5/2010
I'm glad to see that
Cycle
Bertrand is still in business.
I may be the only one in Nova Scotia riding one of his hand
made bikes.
Note to self: Get a
jersey.
Sept.20/2010
The head start formula. Give someone travelling at a speed of
s a headstart of h minutes,
then chase with a speed faster by e. You will
catch-up in this many minutes:
Sept.3/2010
The
National Interview with Tony Blair
Dear Tony Blair,
You've told some very big lies in the recent past. I no longer believe
anything you say.
Jul.2/2010
I found an article at the Ottawa Citizen on
"Taking the Lane"
which doesn't come to any strong conclusions.
My experience leads me to suggest taking the lane at
intersections, during slowly moving traffic, and when road conditions
are unsafe.
The clause from the Ontario traffic act discussed there is
also found in the
Nova Scotia Motor Vehicle Act
at
171(3).
Nov.23/2009
I see that the Roots Magic genealogy software people now offer a free version
called Essentials. It
can't do some advanced
features or printing (ouch) but may be usefull as a way to
distribute work across family members.
Also interesting is that the data is saved in an
SQLite database. This allows anyone to
use the SQLite tools or language bindings to hack at the data.
#sqlite3 skywalker.rmgc
sqlite> .tables
AddressLinkTable FamilyTable PlaceTable
AddressTable GroupTable ResearchTable
ChildTable LabelTable RoleTable
CitationTable LinkTable SourceTable
ConfigTable MediaLinkTable SourceTemplateTable
EventTable MultimediaTable WitnessTable
ExclusionTable NameTable
FactTypeTable PersonTable
sqlite> .schema NameTable
CREATE TABLE NameTable (NameID INTEGER PRIMARY KEY, OwnerID INTEGER,
Surname TEXT COLLATE RMNOCASE, Given TEXT COLLATE RMNOCASE, Prefix TEXT
COLLATE RMNOCASE, Suffix TEXT COLLATE RMNOCASE, Nickname TEXT COLLATE
RMNOCAS E, NameType INTEGER, Date TEXT, SortDate INTEGER, IsPrimary
INTEGER, IsPrivate INTEGER, Proof INTEGER, EditDa te FLOAT, Sentence
BLOB, Note BLOB, BirthYear INTEGER, DeathYear INTEGER );
CREATE INDEX idxGiven ON NameTable (Given);
CREATE INDEX idxNameOwnerID ON NameTable (OwnerID);
CREATE INDEX idxNamePrimary ON NameTable (IsPrimary);
CREATE INDEX idxSurname ON NameTable (Surname);
CREATE INDEX idxSurnameGiven ON NameTable (Surname, Given, BirthYear, DeathYear);
.exit
Oct.9/2009
More proof that anti-virus products have lost their usefullness. In the
article "Zeus
Trojan Infiltrates Bank Security Firm" from Security Fix in the Washington
Post contains:
Mather said Silver Tail scanned the former employee's system with three
different anti-virus tools, yet none of them detected any suspicious or
hostile files. Company technicians only located the malware by
conducting a manual search for telltale files most commonly associated
with different Zeus variants.
Sep.13/2009
I've just started playing with Radiant CMS
with Passenger (i.e. mod_rails).
Results are a powerful and easy content management system which is fully
capable of using PostgreSQL
on the backend.
Jul.18/2009
"Reunion" is a a very good
product for handling family trees. I have been using it since the
MS-Windows 3.1 days and it's the main reason I've kept Windows98
running. The MS-Windows version was eventually dropped from development
then sold to Sierra, renamed to "Generations", sold again to Broderbund,
then dropped from their sales line. The last version (8.5a) for Win32 is
available only from TWR
Computing for the reasonable price of £19.95.
There are some tips and bug lists available from Mike
Hobart.
The packaging says support for Windows 95/98/ME/2000/NT and a
patch for Win-XP and Vista with the caveat that XP and Vista runs only as an
Administrator.
My testing shows that temporary files are written to the
program files location. The following command allows a limited
user to run the program (after Adminstrator installs the program and
the patch):
cacls "\Program Files\Generations" /E /G USERS:C
Running tests as a limited user with a sample data set looks like everything works
fine.
Jul.4/2009
I wanted a method to prevent the emptying of a database table once it has some
rows:
CREATE OR REPLACE FUNCTION no_empty_tables() RETURNS "trigger" AS $_$
DECLARE
rowcount integer;
BEGIN
SELECT count(*) INTO rowcount FROM test_table;
IF rowcount = 1 THEN
raise exception 'Cannot allow empty table';
END IF;
RETURN OLD;
END;
$_$ LANGUAGE plpgsql;
CREATE TRIGGER dont_allow_empty_table BEFORE DELETE ON
test_table FOR EACH ROW EXECURE PROCEDURE no_empty_tables();
That doesn't stop the use of TRUNCATE from emptying the table. But the newly
released PostgreSQL 8.4
offers an "ON TRUNCATE" trigger
and a TRUNCATE priv.
May.17/2009
Trying out Movable Type Open Source
as a blog engine. The database password should be protected from web browsers
by hiding the configuration file once the confguration is completed. Its a
well known technique.
<Files mt-config.cgi>
deny from all
</Files>
Apr.29/2009
Note to self: some articles worth keeping.
top,
maxima,
fireHol
Apr.23/2009
Lots of speculation going on about the future of
Oracle and Sun. Lots
of people are worried about
MySQL
(I would prefer if it just went away).
MySQL doesn't have a future anyway. It is being eaten away
on the top end by
PostgreSQL,
at the bottom end by
SQLite, and on the sides by
key/value pair
data systems such as
Bigtable and
CouchDB.
Apr.21/2009
Doing package updates on virtual private servers probably requires that
kernel updates be skipped. On
RPM based
systems, one can put "exclude=kernel*"
in /etc/yum.conf, or use `yum --exclude="kernel*" update`.
But what about Fuse updates matching with kernel modules ?
On
Linode kernel updates
are ignored.
Apr.15/2009
Avi
Rubin and I have come to the same conclusion about Facebook privacy. They
should have created a system of overlapping circles of friendship into which
you can group friends. Probably something like: "immediate family", "family",
"extended family", "close friends", "cow-orkers", "acquaintances",
"sports teams", "school chums".
Apr.14/2009
I wonder how common is it that people accidently destroy the contents of their
digital camera memory ?
My Fujifilm camera manual has two warnings. Page 21: "Images
held in the camera's internal memory may be corrupted or erased due to problems
such as camera faults. Save your important data to another media...". And a
more serious one on page 107, the second item under "CAUTION": "Always use
the FUJIFILM AC Power Adapter AC-3VX (sold separately). If the camera suddenly
loses power during data exchange, the Memory Card or internal memory could be
damaged.". But nobody reads manuals.
I got bitten by that power loss problem and erased the
camera's internal card. Apparenly it happens a lot on the HP and Kodak cameras
that we use where I work.
Now I always use a
USB-SD card reader gadget,
but worry about static electricity.
Taking a look at some other randomly selected cameras,
the Canon
D10 manual under "Separately Sold Accessories" says "AC Adapter
Kit ACK-DC40: This kit lets you power the camera using household power.
Recommended for powering the camera for an extended period of time or
when connecting to a computer." Page 140, under "Using Household
Power" where the first step is to plug the data cable into the computer,
says "Do not unplug the plug or power cord with the camera turned on.
This could erase images you have taken or damage the camera." A ha;
that looks like the warning I'm talking about. Otherwise no caution
notes in the associated software manual.
The manual for the Nikon
D40 DSLR says on page 102 under "Memory Cards" "Do not remove memory
cards from the camera, turn the camera off, or remove or disconnect the
power source during formatting or while data are being recorded,
deleted, or copied to a computer. Failure to observe these precautions
could result in loss of data or in damage to the camera or card."
Its no suprise that removing power from an active
filesystem could cause partition table corruption. Camera manufacturers
could at least remount the card into read-only mode while the download
is in progress. Are they also stuck using FAT32
instead of some much more resiliant filesystems.
Apr.13/2009
I was building a database table in which a flag column specifies one row as
the default. Using PostgreSQL with
a test table:
create table small_test ( name varchar(10), is_default boolean default false );
Couldn't a table constraint could be used to guarantee only zero or one rows
have that flag set to true. I thought a function plus this constraint would
work:
alter table small_test add constraint allow_only_one_default check (count_default_rows() < 2);
But it only kicks in after two rows have the default flag. That constraint runs
before the insert so it doesn't pick up on one row already having the flag set.
Setting the comparison to "< 1" doesn't really make sense. Using a custom
trigger with a custom function does the trick:
create or replace function test_only_one_default() returns trigger as $_$
declare
rowcount integer;
begin
if new.is_default then
select count(*) into rowcount from small_test where is_default;
if rowcount > 0 then
raise exception 'Second default setting is not possible';
end if;
end if;
return new;
end;
$_$ language plpgsql;
create trigger allow_only_one_default before insert or update on
small_test for each row execute procedure test_only_one_default();
Later explorations lead me to a simple table constrant of a
partial
unique index.
Apr.7/2009
The newly released
RootsMagic 4
has passed my Windows XP limited user (UAC) tests. It allows the user to save
files where ever they wish.
Mar.21/2009
RootsMagic 3 and
Legacy 7 trial versions have failed my Windows XP limited user (UAC) tests
because they don't use "Application Data" locations. They use
"C:\Program Files\RootsMagic"
and
"C:\Legacy\Data" respectively.
Family Teee Maker does not have
a trial version, anyhow it gets a lot of
complaints
from customers.
Feb.4/2009
The primary lesson to be learned from the
Ma.gnolia crash
is not about saving point-in-time backups, but rather that
MySQL
tables are likely to silently and irreparably become corrupted.
Also see the news
item from Wired.
Mar.18/2009
This document
has good examples of how to mount a single drive from a software raid mirror.
Essentially:
mdadm --examine --scan /dev/hda1 |
sed 's/ devices=.dev.[a-z09-]*/&,missing/' |
cat >> /etc/mdadm/mdadm.conf
/etc/init.d/mdadm start
/etc/init.d/mdadm-raid start
Jan.23/2009
Some GUI, syntax-highlighting, non-modal, programmers editors for Linux:
- gedit, comes with the GNOME
desktop,
- Kate, comes with the KDE desktop but
may be buildable within GNOME,
- Bluefish, for both GNOME and
KDE. Included with OpenSuSE,
- Scribes, for GNOME looks nice,
- SciTE, built on the
SCIntilla toolkit.
similarily for MS-Windows:
- NotePad++, fast and
usable, also built on SCIntilla but with a nice style,
- SciTE even works
on NT4.0.
And cross-platform is
Komodo Edit.
Nov.30/2008
Prices of backup media (click on titles to sort):
| name |
size (GB)4 |
unit ($) |
$/GB |
GB/$ |
drive ($) |
| DVD | 4.7 | 0.50 | 0.11 | 9.5 | 30 |
| BLU-Ray | 25 | 28 | 1.12 | 0.89 | 325 |
| AIT-3 | 260 | 70 | 0.26 | 3.7 | 2047 |
| DAT-72 | 72 | 17 | 0.23 | 4.2 | 854 |
| DDS-4 | 40 | 9 | 0.22 | 4.4 | 770 |
| Ultrium3 | 800 | 40 | 0.05 | 20. | 3840 |
| Ultrium2 | 400 | 33 | 0.08 | 12.1 | 1450 |
| SuperDLT | 320 | 55 | 0.17 | 5.8 | 4000 |
| DLT-IV | 80 | 36 | 0.45 | 2.2 | 882 |
| Ultrium4 | 1600 | 97 | 0.06 | 16.5 | 3925 |
| AIT-5 | 1040 | 77 | 0.07 | 13.5 | 3900 |
| DAT-160 | 160 | 47 | 0.29 | 3.4 | 942 |
| VXA2 | 320 | 77 | 0.24 | 4.15 | 895 |
| disk | 500 | 184 | 0.37 | 2.72 | N/A |
| Amazon S31 | N/A | N/A | 0.152 | 6.672 | N/A |
| rsync.net3 | N/A | N/A | 1.202 | 0.832 | N/A |
1: fee for bandwidth
2: monthly fee
3: unlimited bandwidth
4: 2:1 compression on tapes
N/A: not applicable
Nov.9/2008
Physics engine games:
splitter
and
fantastic contraption
Oct.29/2008
Backups
are hard to get right and computers will stop working. How can everyday users
protect their data.
Hard disks in external drives are still just electro-mechanical devices
which will eventually fail. Similarily, flash drives can be corrupted by
static charges and mechanical wear and tear (i.e. insertion torque, sitting on
them, etc.), failing to "safely remove hardware". And on; not forgetting theft, fire, hurricanes, etc. depending on
the importance of the data and how much you want to spend.
Any primary storage needs some backup. So if you rely on an external USB
drive as a primary storage ... then I guess you need a second one to
make backups.
Copying to DVD periodically is a good idea.
Other options include on-line backup.
Amazon S3 is a good storage product.
It's is not free, but there are lots of tools:
mozy offers 2 Gb for free for home use.
Some others are
box.net,
Carbonite,
elephantdrive,
rsync.net,
E-Vault,
etc.
But on-line backup providers can go out of business making your backups
disappear. OmniDrive has gone away and XDrive
is kind enough to say so in advance of Jan.12/2009.
Oct.10/2008
With vpsville having suffered a
serious outage;
I've switched VPS hosting to
linode which gets a lot of good reviews.
I would have preferred to stay with a Canadian provider, but
there currently aren't any.
May.1/2008
Ragged right or full justification ? I vote with the writer of
this article
that it should only be done when very good software is doing the spacing for
you. That means that is shouldn't be done in generic web pages.
Apr.1/2008
I've left the world of shared hosting
for a virtual private server at a Canadian hosting company
vpsville.ca.
For a bit more money I get to lock down services to my own
liking, get to run preferred services such as
PostgreSQL, and forward DNS matches
reverse DNS for www and mail.
Jun.20/2007
A work related note that I had to write regarding MS-Access. I conclude that
its usefull as a GUI front end to a real database system or as a small single
user desktop application, but its utility stops there.
There are other options:
PostgreSQL,
SQLite,
DB2 Express,
Oracle Express,
MS-SQL Server Express
and
more
Regarding the MS-Access/Jet database file format,
we can say that: it is not reliable, it is not scalable, it is not
multi-user, it is not portable, and it is not free.
Searching the Internet will help to find some evidence to back-up those claims.
Google
for "access database corruption"
Results 1 - 10 of about 364,000
Google
for "access database limitations"
Results 1 - 10 of about 634,000
An older document
(
http://support.microsoft.com/kb/168549/ )
regarding Access97, but still available from Microsoft contains:
FAQ section summary:
Jet at best can handle 50 users and 100 mb of data.
Jet's limit is 1.2 Gb of data.
Jet can't be back'ed up while in use.
This Microsoft document
(
http://support.microsoft.com/default.aspx/kb/222135 )
updated on January 24, 2007 warns against its use:
"While Microsoft Jet is consciously (and continually) updated with many quality,
functional, and performance improvements, it was not intended (or architected) for
the high-stress performance required by 24x7 scenarios, ACID transactions, or
unlimited users, that is, scenarios where there has to be absolute data integrity
or very high concurrency."
And
http://support.microsoft.com/kb/q303528/
updated on January 9, 2007 contains several red flags about corruption
and performance:
"An efficiently designed database also helps reduce the risk of file
corruption."
"Microsoft Jet is not intended for use with high-stress server
applications, high-concurrency server applications, or 24 hours a day,
seven days a week server applications. This includes server
applications, such as Web applications, commerce applications,
transactional applications, and messaging server applications. For these
types of applications, the best solution is to switch to a true
client/server-based database system, such as Microsoft Data Engine
(MSDE) or Microsoft SQL Server. When you use Microsoft Jet in
high-stress applications such as Microsoft Internet Information Server
(IIS), you may experience any one of the following problems:
- Database corruption
- Stability issues, such as IIS crashing or locking up
- Sudden failure or persistent failure of the driver to connect to a valid
database that requires re-starting the IIS service.
Mar.20/2004
This link is to an article at SecurityFocus with a checklist for home computer
users to be aware of tools for keeping computers secure. Very usefull.
A Home
User's Security Checklist for Windows.
Jan.26/2004
I've decided to add a
memories
section to the Sydney Mines site where I will add messags which others send
to me.
Nov.3/2003
News on the net today that RedHat Linux is no
longer available for free.
May.25/2003
Renowned security expert Bruce Schneier offers some
tips on
'Safe Personal Computing' which are worth reading and heeding.
Jan.26/2003
Yesterdays
Internet troubles
which even took out bank machines was reported on radio, tv and newspapers.
But I really wish that the media were able to drive home the fact that
the trouble was due to yet another poorly designed Microsoft product.
Nov.28/2002
Added Perlfect search
to my site. Easy to setup, works well, written in Perl and is GPL.
Nov.26/2002
I learned that Kodachrome 25 was discontinued on May 2001. I haven't
been shooting many slides these days. The good news is that Kodak E6 films
have gotten a lot better in recent years, and that the E6 process is much
more environmentally friendly than the Kodakrome process.
Jun.17/2002
MS-InternetExplorer can be removed. This free tool does a fine job,
IEradicator.
Jun.16/2002
First law of optimization: Don't.
Attributed to Don Knuth.
Jun.15/2002
My site has been offline for a few months due to problems at
www.grassroots.ns.ca which were beyond our control.
Now I've moved to hosting at
www.phpwebhosting.com
and things are almost all back to normal.
Feb.02/2002
RedHat asks for
product
suggestions. I suggested that if they made a red
toque with the
RedHat logo that I would certainly
buy some
and they would probably be popular with cold climate Linux geeks. The response
I got back - "what's a toque ?". Hmmm, maybe it's a Canadian thing.
Jan.22/2002
Unix design philosophy: a large number of small programs which interoperate
Microsoft style: a small number of large programs which can't interoperate
I know which path to choose.
Jan.21/2002
I decided to change the design of my plain ole site which hadn't changed
much since about 1995.
Today I got started.
Nov.22/2001
I posted the following note on my alma mater listserv
Anyone remember the huge chess matches in the late 70s / early 80s where
Prof. Dik van Kleef would take on dozens of players all at one time in
Bloomfield Centre.
Prof. van Kleef (passed away a few years ago) was a visiting researcher
from the Zeeman Lab in Amsterdam (split spectral lines of sodium and all
that). He often spent summers in Antigonish collaborating with Dr. Y.
Joshi. They published skads of papers together.
I got to
know him during the years I spend working in Dr. Joshi's lab.
I played once or twice in those simultaneous chess games. He was at the
Master level, I forget his ranking, I could never win.
But I remember that I was there when someone did beat the Master, perhaps
it was in the very last of those simultaneous games.
I
think the guy was a high school student at the time, and I'm also pretty
sure that he went on to become an X Physics grad.
Does
anyone remember who that was ? Was it Cliff Liem, was it Allan Brent, one
of the Pham brothers maybe ?
Nov.22/2001
I posted the following note on my alma mater listserv
How many out there remember the refrain of the late Fr. F. Ginnivan of the
Math Dept. "Read the book, it's in the book".
I never had him as a prof, but he was the chair of the dept in my grad
year. Stories from long ago seem to have the same ring as recent ones; he
was a pretty tough nut.
I'm not sure that I saw him smile while on campus; until the day he
retired. I kid you not. Those of you who did suffer though his classes may
find it hard to believe but on the day he retired he became one of the
easiest going, most friendly persons you could meet.
I was
working on campus during that time. I'm pretty sure that he smiled from
that day till the day he died.
He took up an interest in computers, took some classes and where would you
find him most evenings, why it was in the computer labs, cheerfully
helping students with their assignments.
During the winter he tried to spend time on the slopes. I remember one
time when he was more than happy to share a funny story about how the
slopes were so icy that he had to slide down all the way from the top on
his bum and wore a hole in his pants.
Sometimes I miss Fr. Ginn.
I hope that my kids will get to know a teacher like him.
Nov.22/2001
I posted the following note on my alma mater listserv
I'm interested in hearing some personal stories about the late Fr. E.
Clarke of the Physics Dept.
I remember meeting him once or twice in the late 1970's, probably in the
Science Library and in the then Electronics Shop.
He was
retired then, elderly but with an air of importance. I recall that others
who knew him showed great respect.
I think that someone once told me that he designed the transmission
facilities for CJFX Radio.
Years later, Regis Kell told me a
story of one day when CJFX was off the air. Someone called Fr. Clarke to
see if he could troubleshoot the problem. He went up to the transmission
tower on the highway, took a piece of wood and gave it a few bangs with a
hammer to wedge it under one of the legs of the tower. Problem solved.
More years later Prof. T. Weingartshofer (I apologize for any misspelling)
told me of how Fr. Clarke's research was a vital part of the international
effort towards the understanding of the electron.
j.andrea