I've been busy exploring open source software for some years
now.
I think it was Erik, a friend of mine, that first told me and
explained what open source software was about. Then, he was right
in the middle of developing the backup tool Abakt
and we then discussed XML as a format for storing configuration
data. He used (and still uses, I think) an open source SAX
parser, I can't remember which one exactly.
Anyway, he introduced me to MySQL, OpenOffice, Mozilla - all
these different kinds of products. My initial reaction was one of
disbelief: How in the world could this software be free
of charge? Put another way, how can it be free of charge, and be
of good quality too? What's the catch?
I then briefly …
For those of you with mail accounts on colliertech.org:
http://colliertech.org/phpsaadmin/
Tell me if you'd like me to add you to the list of folks who can
use that tool, and you can add addresses to your black/whitelist
from your web browser.
To get this working, I read these docs:
http://spamassassin.apache.org/dist/sql/README
The INSTALL file from this dist:
http://www.misak.dk/download/phpsaadmin/
The main bit is that you need to turn on the -q or -Q flag for
your spamassassin daemon. For Debian-based systems, edit
/etc/defaults/spamassassin
You'll also need to make a small modification to
/etc/spamassassin/local.cf
…
For those of you with mail accounts on colliertech.org:
http://colliertech.org/phpsaadmin/
Tell me if you'd like me to add you to the list of folks who can
use that tool, and you can add addresses to your black/whitelist
from your web browser.
To get this working, I read these docs:
http://spamassassin.apache.org/dist/sql/README
The INSTALL file from this dist:
http://www.misak.dk/download/phpsaadmin/
The main bit is that you need to turn on the -q or -Q flag for
your spamassassin daemon. For Debian-based systems, edit
/etc/defaults/spamassassin
You'll also need to make a small modification to
/etc/spamassassin/local.cf
…
There's an interesting article in BusinessWeek by Steve Hamm "Java? It's So Nineties" which posits that LAMP's rise in popularity may be coming at Java's expense. While there are plenty of shops that continue to use Java, especially on the backend, I do think Java, or rather J2EE, is a somewhat specialized technology in the Enterprise. Typically J2EE application servers are deployed on the most highly scaled transactional systems, but not on a lot of the "bread and butter" tactical IT applications that need to be built. Outside of this, Java has had limited success on the desktop and for front end applications.
Peter Yared, CEO of ActiveGrid, has launched his company specifically to help provide additional tools to facilitate scale-out of …
[Read more]MySQL V5.0 has been out for a while; it addresses most of the major objections people have had about “MySQL is not a ‘real’ database”. With support for XA transactions, triggers, stored procedures and support for views, i think MySQL has the feature set that will enable people to migrate to MySQL.
The only thing that’s still missing is resolution of the InnoDB storage engine problem, and some additional work to get on-line transactional backups if InnoDB goes away. I previously wrote a post about these issues; i’ll dredge it up and re-post it. Innobase is a problem because it’s (currently 12/28/2005) the only transactional storage engine, and since Oracle bought the company that owns InnoDB (Innobase Oy), it’s going to be a licensing challenge until the dust settles. InnoDB is the only choice for applications that require transactions.
As far as the choice of what database to select as a migration candidate, my first …
[Read more]
Depending on your education or where you live AJAX can mean one
of at least four things, if you studied classics you will known
Ajax from Homer's Iliad, if your in to Football then you might
know Ajax of Amsterdam and if you live in the UK and are over 30
you will know Ajax toilet cleaner. For me fitting in all three
categories it summons up visions of a football playing Greek hell
bent on cleaning the toilets after the match.
Anyway, I recently started a new job as a web/DB developer, the
first few weeks have been heavy on the database side, working
with some large data sets trying to load and then extract
information for a bulk email system (boo hiss you all say).
Anyway, I've now been asked to investigate AJAX, which as you may
know stands for Asynchronous JavaScript and XML. AJAX isn't a
language but a web development technique for building sites which
don't need constant refreshing of the sites pages, instead small
sections of the …
I just wanted to show case some of the new features in MDB2. I especially wanted to demo some PHP5 specific features. The following example just creates a table with an autoincrementing primary key column 'id', inserts some values, fetches the last inserted id and finally, after selecting those values and outputs them using an iterator, drops the table again ..
I quickly hacked up this example after releasing MDB2 2.0.0RC2 and a number of driver updates. It should work fine with mysql and pgsql. It will not work with sqlite, because automagically determining the types from a result set is not supported by the sqlite API. I have not tried another backend.
<?php
/**************************************/
/* a nice PHP5 only show case of MDB2 */
/**************************************/
require 'MDB2.php';
$dsn = array(
'phptype' => 'mysql',
'username' => 'root',
'password' => '',
'hostspec' => …[Read more]
I just wanted to show case some of the new features in MDB2. I especially wanted to demo some PHP5 specific features. The following example just creates a table with an autoincrementing primary key column 'id', inserts some values, fetches the last inserted id and finally, after selecting those values and outputs them using an iterator, drops the table again ..
I quickly hacked up this example after releasing MDB2 2.0.0RC2 and a number of driver updates. It should work fine with mysql and pgsql. It will not work with sqlite, because automagically determining the types from a result set is not supported by the sqlite API. I have not tried another backend.
<?php
/**************************************/
/* a nice PHP5 only show case of MDB2 */
/**************************************/
require 'MDB2.php';
$dsn = array(
'phptype' => 'mysql',
'username' => 'root',
'password' => '',
'hostspec' => …[Read more]
This is a probably bug in MySQL! It took a little while to catch
and it was pretty annoying. I moved over the 'data' directory
from another machine and one of the databases had mixed
MyISAM/InnoDB tables. The InnoDB tables did not have separate
data files, hence I ended up with only .frm files. Since it was
development stuff I didn't worry too much about it. My
applications broke saying they couldn't read from the table. SHOW
TABLES would show that table but all other operations failed.
CREATE TABLE said that table already existed and DROP TABLE would
say the table doesn't exist! Unless I had write access to my data
directory, I'd be in a really painful situation!
Possible fixes:
Better error message
Allow DROP TABLE for zombie tables
Maybe a new CHECK DATABASE operation which checks all tables for
such consistency issues.