Showing entries 38566 to 38575 of 44089
« 10 Newer Entries | 10 Older Entries »
moving around

jan.kneschke.de is back online again. The old server got old and rusty and it has taken while to get everything setup again.

The most important articles are online again:

The old photo-storage is disabled, but a few new pics got uploaded to flickr, e.g. from my trip to Argentina:

Buy Used Hard Drives for your RAID

Some of the common conceptions of data storage seem to have been blown out of the water.

Two things I found interesting:

In their study they found that there was no correlation between disk failure rates and utilization, environmental conditions such as temperature, or age. This means that high disk utilization or age of the disk have no significant impact on the probability that it will fail.

...

They observed that older disks had a much lower failure rates then newer disks, where the newer disks in general were less expensive.

Which makes me think that buying used HDDs off Craigslist might not be a bad idea.

One could buy cheap 15k RPM low latency disks from a few years ago and forget about the storage capacity in exchange for FAST seek time.

Of course it depends on how …

[Read more]
building sigar

SIGAR is a cross-platform API to gather system-specific performance-data. It is developed by Hyperic and released under the GPL. We use it at MySQL as the backend for our monitoring agent.

Sadly SIGAR requires ant for building as it is meant to be used with a JNI-wrapper in Java applications. Real men use C, so we need something else for building: cmake.

cmake

cmake is a cross-platform, autotools replacement. It works on Unix and win32 and generates native Makefiles. On Unix it is make, on win32 it is nmake, on macosx uses the XCode framework.

That keeps even the build portable. You can get a binary from …

[Read more]
pxtools 0.0.20 released

Download

Known Bugs

The 64bit build of pxtools-0.0.20 will create wrong table names as seen in the comments below. As workaround use the 32bit version:

$ apt-get install pxtools:i386
php shell

The more I work with other languages like python and ruby I like their way how they work on problems. While PHP is very forgiving on errors, it is weak on the debugging side. It was missing a simple to use interactive shell for years. Python and Ruby have their ipython and iruby shell which give you a direct way to interact with the objects. No need to write a script and execute it afterwards.

Features

  • tab-completion (if readline() support is compiled into php)
  • handles FATAL errors (like calling a undefined function)
  • inline help
  • autoload() is enabled by default
  • works on all php platforms (shell wrappers for Unix and Windows)

Requirements

  • PHP 5 or later
  • ext/tokenizer has to be enabled (this is the default)
  • ext/pcre has to enabled (this is the …
[Read more]
flv streaming

High performance flv-streaming with lighttpd is possible since lighttpd 1.4.11.

With lighty you can easily handle 10000 parallel downloads of your movies including protection against hot-linking with mod_secdownload. This is basicly all you need to build the free video.google.com for yourself.

Just add this you your lighttpd.conf and restart the server:

server.modules = ( ..., "mod_flv_streaming", ... )

flv-streaming.extensions = ( ".flv" )

Players

mod_flv_streaming expects you to fetch the flv-file with a GET parameter if you want to do a seek into the file.

GET /movie.flv?start=23 HTTP/1.1
Host: ...
[Read more]
moving around

jan.kneschke.de is back online again. The old server got old and rusty and it has taken while to get everything setup again.

The most important articles are online again:

The old photo-storage is disabled, but a few new pics got uploaded to flickr, e.g. from my trip to Argentina:

building sigar

SIGAR is a cross-platform API to gather system-specific performance-data. It is developed by Hyperic and released under the GPL. We use it at MySQL as the backend for our monitoring agent.

Sadly SIGAR requires ant for building as it is meant to be used with a JNI-wrapper in Java applications. Real men use C, so we need something else for building: cmake.

cmake

cmake is a cross-platform, autotools replacement. It works on Unix and win32 and generates native Makefiles. On Unix it is make, on win32 it is nmake, on macosx uses the XCode framework.

That keeps even the build portable. You can get a binary from …

[Read more]
moving around

jan.kneschke.de is back online again. The old server got old and rusty and it has taken while to get everything setup again.

The most important articles are online again:

The old photo-storage is disabled, but a few new pics got uploaded to flickr, e.g. from my trip to Argentina:

ORDER BY RAND()

If you read the MySQL manual you might have seen the ORDER BY RAND() to randomize the the rows and using the LIMIT 1 to just take one of the rows.

SELECT name
  FROM random
 ORDER BY RAND()
 LIMIT 1;

This example works fine and is fast if you only when let's say 1000 rows. As soon as you have 10000 rows the overhead for sorting the rows becomes important. Don't forget: we only sort to throw nearly all the rows away.

I never liked it. And there are better ways to do it. Without a sorting. As long as we have a numeric primary key.

For the first examples we assume the be ID is starting at 1 and we have no holes between 1 and the maximum value of the ID.

move the work into the application

First idea: We can simplify the whole job if we calculate the ID beforehand in the application.

SELECT MAX(id) FROM random;
## generate random id in application
SELECT name FROM random WHERE id = …
[Read more]
Showing entries 38566 to 38575 of 44089
« 10 Newer Entries | 10 Older Entries »