Year: 2005

How I listen to music

I have a large MP3 collection (Tamil and Hindi films). I don’t like selecting songs to listen to. Too much effort.

I rated all songs I had listened to (650 songs x 5-10 seconds = 1-2 hrs) and created 7 SmartViews. I just go to one of these and play them in order. Here are my views, in descending order of their use.

  1. Most played. Sorted by Play Count. Songs I play the most. Plays stuff I listen to usually.
  2. Not heard recently. Played Last before 3 months ago AND Rating >= 3. Plays good songs I haven’t heard recently.
  3. Not played much or recently. Played Last before 1 month ago AND Play Count <= 2 AND Rating >= 3. Plays good songs I haven’t heard often enough.
  4. Recent hits. Last updated after 3 months ago AND Play count >= 3. Plays songs recently added and liked.
  5. Recently played. Sorted by Last Updated. Often, I like to listen to songs I listened to yesterday.
  6. Top rated. Sorted by Rating. My best songs. (Suprisingly, I don’t use this view much.)
  7. Recently added. Sorted by Played Last. Plays songs I just downloaded.

But WinAmp’s not good enough. For example, I can’t find out what songs I played at least thrice last month. How do I see what I’ve been listening to a lot recently? Fortunately, there are a few WinAmp history plugins. I installed Pepper, which produces a log file that can be analysed. I did this two weeks ago, and don’t have enough data. When I do, I’ll modify two views

  1. Not heard much or recently. I’ll change this to “Not heard much recently” – Rating >= 3, Play Count > 5, Play Count = 0 last month.
  2. Recent hits. Modify it to show songs played at least thrice last month.

Excel – Avoid manual labour 2

Rule #3: Avoid manual labour (continued)

Reconciling data is where I spend most of my time on Excel. Say you have a list of branches by city from 2 banks. You want to know where both banks have branches. Excel doesn’t know that Kolkata is Calcutta. There are 500 cities, and you have 30 minutes.

Excel snapshot

Use VLOOKUP for a start. If Bank A’s cities are in column A (say 2-500) and Bank B’s cities in column B (say 2-400), in C2 type VLOOKUP(A2, B$2:B$400, 1, 0) (read Excel help — all I’ll say is, don’t miss out the 0 at the end: otherwise you get approximate match, and that’s not good). Copy the formula to down to C500. Similarly, in D2 type VLOOKUP(B2, A$2:A$500, 1, 0). Copy the formula down to D400.

Excel snapshot

You’ll see the #N/A where there’s no match. #N/A in Column C means Bank A has a branch here, but Bank B does not. Column D has the converse. But we’re not done yet. There could be spelling mistakes. Using two VLOOKUPs simplifies that problem considerably. We just need to match the cities having #N/A on both lists to check for alternate spellings of cities — which is a lot less work! So prepare a separate list: unmatched cities from Bank A, and unmatched cities from Bank B. (See the section on removing unwanted rows to simplify this.)

Excel snapshot

Sort both the lists while remembering the original order. You’ll want to remember the original order often — so just add a column, number it sequentially (1,2,3… use Alt-E-I-S), and sort the city names along with the numbers. When you want to get back the original order, just sort by the numbers again. To avoid distraction, you can move or hide these numbers. Now, you have a sorted list of unmatched cities. Notice that you can visually match many of these cities. There’s nothing easier to search (visually) than a sorted list.

Finally, when you’ve mapped all your columns, the ones that are remaining are the ones where there is no overlap.

How to stop filesharers from stealing hotel bandwidth

Hilarious post on how to stop filesharers from stealing hotel bandwidth.

So, I’m in Milwaukee at ye olde Holiday Inn Express. They have a wireless internet connection here and it’s been suckin’ all night, like I couldn’t even do anything on it. I suspected someone running a p2p program and taking up all of the bandwidth, so I fired up ntop to analyze the type of traffic on the network, and just who it was generating it. Lo and behold, someone was running a p2p app, and taking up 1.6Mbit worth of bandwidth. That’s just not fair to the 20 other people on the network, so I decided to boot him from the network. I tried poisoning his arp cache and the default gateway’s cache, but that only works on some wireless access points, apparently not this one. I can’t send an 802.11 deauth message from my OS X box, because the card doesn’t support raw packet injection, so what to do???

I notice that his IP in the ntop interface changed into a name. His windows machine was spewing Netbios packets with his computer name in it. For the sake of his privacy, I’ve changed the name, but let’s say it was “smith-laptop”. So I pick up my cellphone and call the front desk at the hotel and as for Mr. Smith’s room. The lady at the front desk says “Eric Smith?” And I tell her yes. The phone rings, someone picks up, the conversation goes like this:

Me: Eric Smith?

Eric: Uhh, yeah?

Me: My name is Jim Grant, and I’m an investigator with the RIAA. Have you heard of us?

Eric: Uhhhhh….. What does that stand for?

Me: Recording Industry Association of America. We represent several large record companies. In monitoring several p2p filesharing networks, we have found that you Eric, are currently downloading copyrighted material. Are you aware that this is illegal?

Eric: Ummm…. my laptop is off. (At this point, I no longer see him on the network)

Me: We are in the process of filing 18182 lawsuits against people who steal copyrighted music on the internet. We will continue monitoring these networks, and if we see you on them again, you will hear back from us.

Eric: Ok, thanks. Bye.

So, now my network is nice and speedy again. And some guy is in his room trying to dry out his underwear. 🙂 I should have recorded the call since my cellphone has the capability to record conversations. The above conversation can’t even begin to show the fear in his voice. I’m sure he’s scared as hell wondering how they found out his name and that he was staying at a hotel and exactly what room he was in.