In the mid-90s, at the very starting edge of the dotcom boom, I
was the lead tech guy behind a project, we put a nationwide
yellow pages database on the web, ypol.com.
At the time, nobody else had done it, but we were sure that many
other people had had the same idea. And since it's rare for
someone to care about finding a plumber or locksmith in another
state in the middle of the night, of course I had location based
searches from the start.
It was, in fact, my first real encounter with using Oracle,
Sybase, and using Perl to interface to a DB. (This was before
Perl5, so there was no DBI module, so it was all oraperl.)
It looks like someone has actually patented the idea of location
based searches on a online yellow pages database, has put
together an investor-based lawsuit machine, and has fired the
first salvo by suing Verizon.
I'm pretty damn sure my old YPOL project is prior …
Yesterday I was asked for help concerning a replication problem
with one of our test systems. My colleague had already installed
a fresh dump he had created with mysqldump ...
--master-data. The dump looked ok and contained a master
configuration statement:
... CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000127',MASTER_LOG_POS=4462223; ...
The slave was provided with the correct user, password and host
name for this master. Nevertheless issuing a START
SLAVE did not work. In the slave .err file we
found this:
... 050327 20:54:51 [ERROR] Error reading packet from server: Client requested master to start replication from impossible position (server_errno=1236) 050327 20:54:51 [ERROR] Got fatal error 1236: 'Client requested master to start replication from impossible position' from master when reading data from binary log ...
After some fiddling around and searching the net for …
[Read more]
Yesterday I was asked for help concerning a replication problem
with one of our test systems. My colleague had already installed
a fresh dump he had created with mysqldump ...
--master-data. The dump looked ok and contained a master
configuration statement:
... CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000127',MASTER_LOG_POS=4462223; ...
The slave was provided with the correct user, password and host
name for this master. Nevertheless issuing a START
SLAVE did not work. In the slave .err file we
found this:
... 050327 20:54:51 [ERROR] Error reading packet from server: Client requested master to start replication from impossible position (server_errno=1236) 050327 20:54:51 [ERROR] Got fatal error 1236: 'Client requested master to start replication from impossible position' from master when reading data from binary log ...
After some fiddling around and searching the net for …
[Read more]MySQL Connector/Net 5.1.2 a new version of the all-managed .NET driver for MySQL has been released.
Connector/Net 5.1 represents a change in how we package our products. Until now, we've shipped our core provider and the Visual Studio integration bits as separate downloads. This has become a bit of a problem. Often we would fix a bug that involved changing code both in the VS package and in the core provider. This provided a versioning problem where users would need to upgrade both products to see the benefit of the bug fix. To solve this, we've decided to discontinue Tools for Visual Studio as a separate product and have, instead, integrated it into a new Connector/Net installer. We hope this provides a better "out of box" experience for our users.
All previous versions of Tools for Visual Studio should be
uninstalled prior to installing this product.
Version 5.1.2 works with all versions of MySQL …
[Read more]
OverviewTest suites are hard, but your business needs to have
one.
They are hard because modern applications are complex.
Technology can help you. There are tools that can simplify the
task of creating a thorough test suite.
Does your main business have a regression test?The likely answers
to the above questions are:
- Yes. - Good chap. Keep up the good work. You may stop
reading, but just out of curiosity, read on.
- No. I don't need one. - You may stop reading. Most likely your business is already doomed. :)
- No. I don't have time (don't know how) to make one. - Keep reading. There is something for you.
What's a regression test? Is a useful watchdog that tells
you if your software is working the way it was intended to.
If you don't have one, you have no quick and reliable …
Wow! It has really been 4 months since my last post?? Moving over
to development has cut into the time I had for blogging,
documenting, communicating, you name it! We are coding like
crazy.
Well, I'm back because I am heading out to ODTUG
Kaleidoscope next week, and in preparation for the show, I
decided to setup Pentaho on Oracle's Java Edition App Server,
which is OC4J, which is based on the Orion app server. I was
pleased that I managed the migration in less than a day, and I
wanted to share the steps with all those folks who are too
impatient to wait for this to get into our J2EE deployment
distribution :)
Mind you, it takes a bit of tweaking, but it is certainly very
do-able, and all server features are stable (minus the portal
stuff, I didn't get a chance to address moving the portal over).
Here is the repro of where I started, what I …
Today, Lenz was putting together some stats on PlanetMySQL feeds added since January this year, and asked in an email whether he should include totals in the stats. I responded yes, and offered a quick SQL solution to get those numbers out of the database. I thought it might be useful for others, so here goes...
Rolling sums (or averages) are a way to include a running, or rolling, aggregate of certain columns in the output of your SQL. For instance, let's say you want to list order totals, grouped by product category, but in each row of the final output, you wish to include the running total of all rows in the output up to and including the current row. A running sum would allow you to do such a calculation.
In the specific example that came up today, Lenz had the following SQL statement which listed the month the feed was …
[Read more]By Tim O'Reilly
This story has been heard before: distribute millions of copies of your open source software for free, then build a business by servicing the customers who're using that software. Red Hat, JBoss, MySQL have all made a great success with this business model.
Why did it take so long for someone to figure out that this could also be a brilliant new take on the online advertising business? Step one: distribute a free, open source ad server; step two: package up the resulting publisher network for advertisers, regardless of which ad network they want to work with; step three: build additional services for those advertisers.
I caught up last week with Scott Switzer, OpenAds co-founder and community activist, to learn a bit more about OpenAds. It took me a few minutes to understand the OpenAds story (and even now, I may have a few details wrong.) As it turns …
[Read more]From the city centre of Zurich to the major connecting points for travelling (main station, airport, motorways) it takes you an average of 7 minutes to get there. There's no other city in Europe that as fast to get out of. People argue wether this is a good or bad thing.
The Webtuesday people I met here in Zurich were coming from a couple of independent web-development shops and they are working on some of the top 20 Swiss websites. From the feedback, the talk was well received; overall, they found it interesting to learn about a new technology they could actually use. I'll be putting up the slides for the talk soon.
What I found most interesting were the discussions after the talk, when a couple of guys spend some time trying to apply CouchDb to the problems they currently face. The first bit of interest is that …
[Read more]In May 2005, I wrote a widely-referenced article about how to efficiently archive and/or purge data from online transaction processing (OLTP) database servers. That article focused on how to write efficient archiving SQL. In this article I'll discuss archiving strategy, not tactics. OLTP servers tend to have complex schemas, which makes it important and sometimes difficult to design a good archiving strategy.