media.io: Convert Audio Formats

Posted 2009-08-13 in WWW by Johann.

I’ve been working on a new application since July and here’s a small preview.

Did you ever download music in the wrong format?

  • Someone sent you music in AC3 but your player only plays MP3 and Ogg Vorbis?
  • You have a lossless format like FLAC that you would like to convert to Ogg Vorbis?
  • Your band needs a few low-quality MP3s for your website?

I am working on a site that lets you convert audio formats online.

Titled media.io, you upload your audio files, select the target format and the conversion quality, wait for a few seconds and then download the converted files.

media.io 1

media.io 2

Like all of my sites, media.io is designed to be highly boring plain effective.

5 comments

lighttpd In-Memory gzip Compression

Posted 2009-04-20 in WWW by Johann.

gzip compression improves website performance by decreasing the size of files. The efficiency of gzip can be increased by using an in-memory file system.

Web Application Performance Tuning Targets

There are three goals when tuning the performance of websites:

  1. Making less requests. Requests can be saved by inlining CSS and CSS sprites.
  2. Avoiding duplicate requests. This is what caching headers are used for.
  3. Reducing the amount of data. Either by removing whitespace or unnecessary code or by compressing the data.

Configuring lighttpd

lighttp supports transparent gzip compression out-of-the-box with the mod_compress module. Enable it in /etc/lighttpd/lighttpd.conf like this:

server.modules = (
    "mod_accesslog",
    "mod_access",
    "mod_redirect",
    "mod_rewrite",
    "mod_evhost",
    "mod_proxy",
    "mod_compress",
    "mod_expire"
)

The next step is to set up a directory in an in-memory file system that caches the compressed version of the files.

# mkdir -p /dev/shm/lighttpd/compress
# chown -R www-data:www-data /dev/shm/lighttpd

Configuring mod_compress consists of specifying the cache directory and the MIME types of the files to compress. In my example, I’m compressing plain text files, static web pages, CSS style sheets and JavaScript files.

compress.cache-dir   = "/dev/shm/lighttpd/compress"
compress.filetype    =
 ( "text/plain", "text/html", "text/css", "text/javascript" )

After restarting lighttpd, gzip compression is active. Of course, only user-agents that ask for gzip-compressed content using an Accept-Encoding HTTP header will be served the gzip compressed files.

To make sure the in-memory directory exists after reboot, add the commands above to /etc/rc.local.

Real-Life Examples

Here are two real-life examples how much data can be saved using gzip compression:

nebel.org

NEBEL consists of very few elements.

  1. /index.html was compressed to 2.6 KB from 15.6 KB.
  2. https://johannburkard.de/resources/css/r5.css was compressed to 2.4 KB from 8.3 KB.

The total bandwidth saving is 18.9 KB.

2 comments

Google has a realtime feed of Twitter

Posted 2009-07-04 in WWW by Johann.

I’ve just discovered that Google has a realtime feed of Twitter.

I twittered this:

Testing something highly interesting http://invx.com/a

…and seconds later, Googlebot showed up to grab the URL at invx.com:

66.249.65.83 invx.com [04/Jul/2009:21:49:39 +0200] "GET /a HTTP/1.1" 404 136 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" "-"

You don’t need to check, the IP address does belong to Google. I twittered another URL before and that too was crawled, so it’s not that Google crawls the public timeline.

Some of my thoughts:

  • One more sign that “nofollow” doesn’t mean anything.
  • I wonder if Google pays Twitter for the feed.
  • Maybe twittering URLs can even get you indexed?

5 comments

Colors of Search Engines

Posted 2009-10-09 in WWW by Johann.

Ask

 
 

Bing

 
 

Google

 
 

Yahoo!

 
 

Pages

Page 1 · Page 2

Subscribe

RSS 2.0, Atom or subscribe by Email.

Top Posts

  1. DynaCloud - a dynamic JavaScript tag/keyword cloud with jQuery
  2. 6 fast jQuery Tips: More basic Snippets
  3. xslt.js version 3.2 released
  4. xslt.js version 3.0 released XML XSLT now with jQuery plugin
  5. Forum Scanners - prevent forum abuse
  6. Automate JavaScript compression with YUI Compressor and /packer/

Navigation