Tuesday, May 31, 2011

The risks of WiFi

And almost certainly illegal, and very certainly immoral...

I follow this blog... http://nonbovine-ruminations.blogspot.com/  It's pretty good. Talks about all kinds of nerdy stuff, including ham radio and computers and technology and pretty much everything I find interesting.   You should all go read through some of the archives, they really are a good read.   But the most recent post is the one I will refer to in this post.   It was about the dangers of unencrypted networks.   I have long known the powers of Airsnort, Aircrack, and other tools used for monitoring wireless networks.   I knew you could listen to, and record anything that is ever sent over a wireless network.   I thought it was cool...   But it was complicated, and I didn't really care...

But that blog post referred to a Firefox extension called Firesheep, http://codebutler.com/firesheep, which will happily record packets, focusing primarily on usernames and passwords to websites that it cares about.  And when you click on a person's username?  It logs you in as them.  Super easy, super creepy.   Now, like I said, this is almost certainly illegal, and I don't suggest anyone use it...   I do suggest, however, that you all go into your Facebook settings and turn on HTTPS.  And I suggest you get smart about where you log into stuff.   And if your on an unencrypted network, be careful about what data you enter.   Cuz this is just stupidly easy to use.  

As a last thought, TMCC and UNR both encrypt their wireless networks now.  Therfore, it is safe to use your computer and browse to your hearts content in those locations.   Still, a bit of vigilance can go a long, LONG ways....

Tuesday, May 10, 2011

BPMDJ on Fedora 14 x86_64

It's not typically my style to do how-to's.   It's my general impression that by the time I do something, it has been done by dozens before me.  However, it appears that in this time, that's not the case.

OK, first a little background:

I have a music library of a decent size:  Just shy of 83 hundred tracks of CD quality FLACs.  I have spent quite a bit of time standardizing the storage schema, so that all the folders are sorted uniformily and all the files are named appropriately.  I then used MusicBrainz Picard to tag the albums, and EasyTag to tag the miscellaneous collections.  After all of that, I can say with some comfort that my collection is at least uniform and that it's tags are correct.

The next big thing for me is to be able to create playlists that are good for working out.  I have been reading about how matching your music's beats to your workout will help you workout longer and more efficiently, and I have installed a couple apps on my phone that will match music to your jogging pace automatically, IF your music is already tagged for such magic.

And so this brings me to my problem:  Tagging upwards of 8 thousand songs BPMs by hand isn't a task for the feint of heart, or for those who have jobs.   As such, I have spent several months questing for the very best BPM counter for linux.  I have tried various products, such as a plugin for Amarok, a hidden feature of Banshee, etc. but none of them ever worked for me.  In all my research, people kept pointing towards a product called BPMDJ (http://bpmdj.yellowcouch.org), but it's not available in binary form.

This leads to the extended problem:  I spent MONTHS not able to compile the stupid thing.  Well, today, hours of fiddling and a very decently worded bug report later, I was successful, and this is the process:

1. I installed all the dependencies months ago, and so this list may be incomplete... If anyone finds a problem, please let me know and I will update this post.  Basically, the following command (as root) should get the job done:
yum install qt-devel alsa-lib-devel fftw fftw-devel mpg123 lame vorbis-tools mplayer

2. I downloaded the source from http://bpmdj.yellowcouch.org/
3. Per the instructions on their home page, and because Fedora is always just a little bleeding edge with their packages, I had to patch symbol.h to be compatable with the QT packages included:

Change:
Symbol() : text(NULL)
{
}; 
To:
Symbol() : text((const char*)NULL) 
{
};
4. Because of a bug in the BPMClock driver (http://bpmdj.yellowcouch.org/bugzilla/show_bug.cgi?id=1298), you also have to patch  bpmclock.cpp to include the following include line:
#include

5. You can now move on with the steps as intended.  Create a defines file, mine looks like this:
CPP             = g++ -g -O3 -Wall
RCC             = rcc
UIC             = uic-qt4
MOC             = moc-qt4
CFLAGS         += -D COMPILE_ALSA
LDFLAGS        += -lpthread -lm -lasound -lrt -lfftw3
QT_INCLUDE_PATH = -I/usr/include/QtGui/ -I/usr/include/QtCore/ -I/usr/include/Qt/
QT_LIBRARY_PATH = /usr/lib64/libQtCore.so.4
QT_LIBS         = -lQtGui
BITS            = 64
6. Run the make command, and everything should play nice.  I then moved bpmdj, bpmplay and bpmdjraw to/usr/bin, and added it to my Application Launcher, and it seems to be working... Now on to the original goal and question: Will this read and tag all my files?  Only time will tell.

These instructions successfully build the program and get it installed.  In my next post, I will explain how to setup and use the program.