Small Tip: How to fix “There are no public key available for the following key IDs” Error in Debian
28 Nov2006

Few days ago I’ve started migration of some of my non-critical servers to Debian Etch (from Sarge). Just after first apt-get update && apt-get dist-upgrade, when apt has been upgraded, I noticed really strange (as for me) error: when I’ve tried to do “apt-get update” it worked fine, but there was annoying message like following:

# apt-get update
Fetched 5562B in 13s (421B/s)
Reading package lists... Done
W: There are no public key available for the following key IDs:
W: You may want to run apt-get update to correct these problems

UPDATE: Thanks to Kurt Fitzner we know, that:

There is already a mechanism to do this automatically:

$ apt-key update

This will obtain the necesary keys and import them. No need to go through gpg directly.

After not so long research I figured out, that this problem was caused by change of gpg key used by ftpmaster on Debian official repository servers. Google gave me some information and I found some fix which works fine for me:

# gpg --keyserver --recv-keys XXXXXXXXXXXXXXXX
# apt-key add /root/.gnupg/pubring.gpg
# apt-get update

Where XXXXXXXXXXXXXXXX is your missing key (e.g A70DAF536070D3A1).

That’s it! Happy using Debian GNU/Linux!

Best Tech Videos On The Net
20 Nov2006

Few days ago I’ve started new site which name is I’ve created this site because there are lots really interesting videos on the Net, but if you’d like to fine some good tech video, it is not so simple to find them because of tons of crappy “funny videos” like “funny cats” and so on.

So, If you like to attend technical conferences and watch conference sessions on video, if you like idea of screencasts, etc, then this site is for you! Welcome to Best Tech Videos you’ll be impressed by amount of hi-quality and useful videos on the Net.

P.S. If you like this site idea, support it on, please. Great thanks in advance.

Top 1000 (84) MySQL Performance Tips From MySQL Camp 2006
14 Nov2006

Looks like MySQL Camp 2006 was really interesting and useful for its attendees and for entire MySQL community. As the result of this meeting of many MySQL-related professionals we’ve got lots of interesting publications and I want to refer one of them in this post. Very interesting list of 84 MySQL performance tips has beed created on first day of this year MySQL Camp at Google headquarters:

  1. Index stuff.
  2. Don’t Index Everything
  3. Use benchmarking
  4. Minimize traffic by fetching only what you need.
    • Paging/chunked data retrieval to limit
    • Don’t use SELECT *
    • Be wary of lots of small quick queries if a longer query can be more efficient
  5. Use EXPLAIN to profile the query execution plan
  6. Use Slow Query Log (always have it on!)
  7. Don’t use DISTINCT when you have or could use GROUP BY
  8. Use proper data partitions (For Cluster. Start thinking about Cluster *before* you need them)
  9. Insert performance
    • Batch INSERT and REPLACE
    • Use LOAD DATA instead of INSERT
  10. LIMIT m,n may not be as fast as it sounds

So, I think this list can be really useful for all developers/DBAs working with MySQL and want to say “Thanks” to its authors.

Using X-Accel-Redirect in Nginx to Implement Controlled Downloads
1 Nov2006

Sometimes you may need to implement controlled downloads when all downloads requests being sent to your script and then this script decides what to do: to send some file to the user or to show some access denied page or, maybe, do something else. In lighttpd server it can be done by returning X-Sendfile header from script. Nginx have its own implementation of such idea using X-Accel-Redirect header. In this short post I will try to describe how to use this feature from PHP and Rails applications.

Read the rest of this entry