Free IP Information and DNS Lookup Tool

I’ve worked to develop an IP Information and DNS Lookup tool to replace some other commercial products that offer similar functionality. Currently, the tool displays IP Information (including AS Number, AS Name, BGP Prefix and Allocation Date), as well as IP Information from DNS, IP Geolocation, Spam Blacklist lookup (DNSBL/RBL Lookup) and DNS Queries for A, MX, PTR and NS records. More information about the site, including example lookups can be found here: http://ipxer.com/about/

The site can be found here: ipxer.com

Bit Torrent From the Command Line

At home, having a headless, dedicated machine for server tasks can be a very handy thing. I have an Ubuntu machine connected directly to our router that I use for development, storage and occasional torrenting. Finding the adequate BitTorrent tools has been a challenge, since this machine is headless and administered solely through ssh. Most of the existing BitTorrent applications, though lightweight, require a GUI interface.

I’ve found a great solution using two programs, GNU screen and bittorrent-curses. GNU Screen is a terminal multiplexer that allows one to run several terminal sessions within a single window. It also allows one to completely detach from a terminal session, and reattach at a later time. Bittorrent-curses is simply a BitTorrent client programmed with the curses library, making it suitable for command line interaction. Using both of these tools together makes a pretty slick and lightweight torrenting solution that can be completely managed through ssh.

First, you will need to install both screen and bittorrent-curses. Many systems may already have these packages installed. In the Ubuntu or Debian world, you would need to execute the following commands:

$ sudo apt-get update #first, update package libraries.
$ sudo apt-get install screen #install screen
$ sudo apt-get install python-bittorrent #install python-bittorrent

Now that these programs are installed, you can start torrenting files in the background and resume later. First, enter a screen session:

$ screen

You will be greeted with a welcome screen. Hit enter to continue, and a new terminal will appear within screen. From this session, you can run up to 10 terminal sessions concurrently, and the completely disconnect from the server without terminating any processes. For our purposes, let’s process a torrent file.

$ bittorrent-curses 'http://www.example.com/somefile.torrent' #remote file
$ bittorrent-curses somefile.torrent #local file

Now, you should be greeted by a curses window, similar to this one:
bittorrent-curses

From here, you can do a number of other things while this bittorrent session continues. If you like, you can attach to a new session. To do this, press ctrl-a and then c. A new session will start. Or, you can detach from screen altogether, while your programs continue to run. To do this, press ctrl-a followed by ctrl-d. You may also close your ssh session without any repercussions. To reattach to a running screen session, simply run:

$ screen -r

Then, control any of the existing sessions in screen by pressing ctrl-a followed by the number of the session you wish to control, 0 through 9. Not too hard at all. For more detail on screen, take a look at tha man page.

Grand Canyon

Photos of the Grand Canyon from the summer of 2007. It’s an amazing sight, emerging from the forest and seeing the vast emptyness below. From the perspective we were at, the canyon seemed wholly out of place.


Obligatory song per post: Girl Talk - No Pause Pay what you want (a la Radiohead) for the entire album here.

Video of The Walkmen performing In The New Year

While I thoroughly enjoy the album version of this song, seeing and hearing them play it live definitely lights it up in all the right places. From Pitchfork TV

Using an external hard drive with a PS3 to play media files

I use my PlayStation 3 primarily as a media player. Aside from its inability to playback some of the more common open-source media codecs, such as OGG and FLAC, it is a very flexible machine, and will readily playback the most common audio and video files. A full (and frequently updated) list of file formats is available at the Sony site here. However, initial hard drive space on the PS3 is meager, especially if you consider game data and demos alongside your audio and video files. Furthermore, the PS3 isn’t exactly portable, if you’d like to quickly take your media files to another machine.

Thankfully, Sony has learned from past lessons (namely the ATRAC/Minidisc failures) and opened up this platform a bit. The PS3 can play files from an array of supported media, including USB hard drives, USB thumb drives, and CF/SD/MS cards. You will first need to create Sony’s prescribed folder structure on the media, and then drop in your corresponding files. The directories should look like:

/MUSIC
/PICTURE
/VIDEO

When these folders and files are in place, connect your devices to the PS3. It will automatically scan the drive for playable media. When finished, simply use the XMB to navigate to the proper category. A new icon will appear representing the new drive.

Note: The media must be formatted as FAT32. Most portable drives are formatted FAT32 at the factory. However, if you’ve reformatted the drive with Windows, it may be in the incompatible NTFS format. If you decide to reformat your drive, know that you will lose all existing data on the drive.

Off-topic file of forgiveness:
MGMT - Kids (Burntpianos Robo Remix)
found via theworldfogot.com
Get at Insound!

Use wget to download all mp3s on a webpage (and more)

wget is a rudimentary program used to download files from the web. It can be configured to simply download single files, or, with the right options, much, much more. If used with the complete indiscretion, it can be turned into an efficient web spider, following links and voraciously downloading in an attempt to download the entire web. wget is available (and is sometimes standard) on most UNIX/Linux systems, including Mac OS X. Windows versions are available as well, but with some more work.

For our purposes, the following script downloads all of the mp3 files linked from a single webpage (www.keptshut.com), and places them in the current folder:

wget -r -l 1 -nd -A mp3 http://www.keptshut.com/

The items between the invocation of the wget command and the final URL are options that describe how wget should behave. In this case, we want wget to download recursively (-r), one link deep (-l 1), all mp3 files (-A mp3) found at www.keptshut.com. We also want the files to be placed in our current directory (-nd), rather the remote directory structure, as wget does by default.

Here are some other examples and explanations. Full documentation for wget can be found here.

Download all mp3 and wav files in the URLs listed in sites.txt. Copy the webserver’s directory structure:

wget -r -nc -A mp3 -i sites.txt

Follow all links indefinitely (spanning domains), starting at URL, and save all mp3 files in the current directory. This one can fill a hard drive quickly, and can be considered abusive:

wget -r -nd -nc -H -A mp3 URL

And, because I got off-topic, here’s a song by Danish Band, SMALL.
SMALL - Comic Girl