computers

Amarok

Many moons ago, Stuart pointed me at a great little music jukebox named Rhythmbox. It worked OK, but I'm not really into Gnome. I wanted somemthing that fit in with KDE, used the same widgets and the same file selector. Basically I'm picky.

For quite a while I've been using Juk and for the most part it does what I need. Let me rephrase that. It works great and has all the features I need, except when it crashes. That I most certainly don't need. It didn't used to crash all the time. Rarely, if ever. Seems to be linked to when I review the history, but certainly not limited to that. The last crash was when I opened the tag editor. I got fed up. Now, I felt a little obligated to report a bug to the mailing list, but really I just don't care to put that much effort into it.

That's when I stumbled upon Amarok. It just happened to be the default media player in Kubuntu and I think I've found my new jukebox. Here are some of the fun things I've discovered so far.

  • Keeps track of times a song has been played. Rhythmbox did that too and I miss it.
  • Calculates how much you like a song based on some magic algorythm. I haven't decided if it's accurate yet, but anybody who's tried to rank all their mp3s can appreciate some automation in this area.
  • It's got the eye candy. The spectrum analyzer, the colors, everything is done well but not overdone. That's a tough balance.
  • Album covers pulled from Amazon. Juk added this recently, but it's more pretty in Amarok (see last point).
  • Lyrics pulled from the Internet. Who knows where, but sometimes you miss reading the album art. I've got it all somewhere, but what's the point in pulling out the CD?
  • Wikipedia. You can browse the Wikipedia article about the artist you're currently listening to. I wasted a couple good hours last night reading about U2 and Alanis Morissette. It's one of those "why didn't I think of that!" ideas.

But, it's no panacea. The playlist can be a little hard to manage. When you create an automatic playlist, there's no easy way to browse it without disturbing the play queue. That's annoying. Even more annoying is that the interface will jump around at the beginning and end of songs. So if you're browsing your collection and a song ends, it flips you back over to the track information.

Still, it runs all the time and that's more than I can say about Juk. So far it's a keeper.

tags: 

Spam Tactics

In my Exim logs this morning I noticed a new tactic spammers have started using.

2006-06-14 14:19:24 SMTP protocol violation: synchronization error (next input sent too soon: pipelining was not advertised): rejected "To: tensai@joanna.zmonkey.org" H=(tensai) [202.1.206.213] next input="..."

I get these every now and again because I don't support pipelining and I have a 4 second delay on my SMTP greeting, but that's not what I'm showing you. The curious part is "H=(tensai)". For quite a while spammers have been using a strange technique of passing a HELO name of the host they connect to. The logic of that really is beyond me, but I really don't care since the way to defeat it is easy. Now they've mutated and the solution to this one is just as simple:

acl_check_rcpt:
  ...
  drop    message = but that's my name
          condition = ${if eq {$sender_helo_name}{$local_part} {yes}{no}}

That config will drop any message where the sender identifies itself as one of my users. There's a small danger that some server's name will actually have the same name as me, but I'm kinda doubtful. Most hosts will use fully qualified names, I would think.

tags: 

Barracuda Snafu

I was welcomed to work this morning by a wonderful little failure. Our experience was pretty much like the story explains, only worse. After our two clusters built up a queue of 42,000 and 46,000 messages, we got the new antivirus definition installed. For one system that has antivirus on the back-end mail server, we disabled AV scanning completely and that sped things up drastically. Still, considering that it had to handle its normally load and the backlog it took 4 hours to clear completely out. The other system took a good 7. "Service was fully operational about two hours later", my eye.

Sounds like fun, no? The only thing that makes it even better is that they did the same thing to us yesterday through some new feature they pushed out. Apparently it does a checksum on images and then looks that up in DNS. Sounds like a pretty good tactic, but something about it overwhelmed the system with DNS lookups.

Wish me luck for whatever bug I get to fight tomorrow.

tags: 

find & symlinks

I just ran into this problem, and it almost became a disaster but I luckily noticed the missing files in time, and I figured I should blog it so that nobody else repeats this mistake.

Did you know that the default behavior of 'find' is to not follow symlinks? Well I sure didn't. Yesterday I was tarring up a whole slew of files, some of which were in symlinked directories. Those ones were ignored. I ended up with about 2/3 of the number I expected, but for some reason I ignored my gut and continued on (never ignore your gut, especially if it's hungry!). By some saving grace I noticed the missing files just a few minutes ago and recovered.

So, the option is '-L' to follow symlinks. Remember that. 'find -L'. Perhaps a bash alias is in order...

tags: 

A Little Spam Research

I've heard one of the ways to increase your spam load is to post your email address on a website, and anecdotally I can vouch for that. For example, just recently I've started receiving spam addressed to message IDs of emails I posted to public mailing lists. So I decided to quantify that a little bit. To that end I have sprinkled some new email addresses around on my website and carefully noted where. Over the next few weeks, months, however long it takes, I'll watch the results and let you know.

tags: 

Database Theory 101

Relational databases are powerful beasts. Rightly so they've replaced heirarchical databases for most types of data, directories being the notable exception. But things go wrong when someone who doesn't know jack squat about them is in charge. You'd like an example? Well, it just so happens that I have one. How convenient.

Head on over to americastestkitchen.com and take a look. See if you can find the error before you finish reading this post. Go ahead, I'll wait. Be careful if you sign up for an account as they'll seriously spam your email address. Make sure you uncheck the box that says "send me tons of crap", or whatever it was. Rotten liars. You know, they never did respond to my scathing email.

Anyway, their gimmick is simple. Recipes from the current episode are online, but previous episodes are only for subscribers to Cooks Illustrated magazine. Fair enough. How's it accomplished? Very poorly. A typical URL looks like this (trimmed for brevity): "/recipe.asp?recipeids=26&iSeason=6". The current season is 6, so any link to say "Season=4" will give you a "please pay us $$$ to access this content". Think about that for a second. What's to keep you from changing "4" to "6"? I'll tell you. Absolutely nothing. Try it out and you'll see.

The proper way to do this is to use a relational database (getting back to our topic) to link RecipeId #26 to Season #6. Since a recipe would only be in one season, you'd actually just need a single column added to the table. It doesn't get any simpler than that, and would prevent unauthorized access.

Well, until the incompetent webmasters over at America's Test Kitchen catch wind of this blog you may want to scoop up all their recipes. Considering the popularity of my site, I wouldn't worry about hurrying.

tags: 

Actiontec DSL modem

For my DSL at home I use an Actiontec GT701W DSL modem, which is the one Qwest sends you. In fact, I'm merely renting it from them because I didn't know if I would want to keep it. The fact that the box continually has issues convinced me pretty quickly that I don't. I noticed something interesting though. It hasn't caused any problems for the last few months.

So I thought about why that might be and it occurred to me that about the time it started working well was when I turned off the wireless. See, I upgraded my home network to IPv6 and since the Actiontec doesn't support it, I put in a Linksys WRT54G which I have modded with OpenWRT. I decided to move the wireless over to the Linksys as well. That seems to be the point at which the Actiontec quit being a retard.

The lesson here is that Actiontec doesn't know how to make a complete system, even if it is based on Linux. But by carefully disabling the more broken parts (including the DNS resolver, which I long ago replaced with a simple Bind cache), you can get a more or less functioning network. Kinda pathetic, eh?

tags: 

TV on the Internet?

Disney is trying something new. During May and June they'll be offering some shows on their website, including Lost and Desperate Housewives. I can guarantee I won't watch the latter, but I might try out Lost. Well, actually I've kinda lost interest, but my wife really loves the show and once in a while misses it. A TiVo (or MythTV preferably) would be much better, of course.

Here's what they have to overcome. Right now you can download HDTV versions on P2P networks, with no commercials. They're not instant, but with enough seeders they're not too slow. These versions apparently are only 700x394 which is a widescreen version of standard TV quality. The tradeoff there is that the bandwidth is low enough to deliver in real time.

But speaking of that, they have to deliver the video without any jitter, and I mean none. One of those infamous "buffering..." messages that RealPlayer was known for, will be killer.

It has to Just Work(tm). They're using a Flash media player, so that should work pretty well I think. I'm sure they'll wrap it in all sorts of DRM, which will almost certainly lead to problems (and DRM is just plain wrong anyway).

They're not going to eliminate the P2P TV show swapping, but I hope they realize that's not supposed to be the goal. It's nice to see that they're finally waking up to the fact that people want media on their terms, not on the networks. Hopefully this leads to the next step which will actually be worth using.

tags: 

1200 Baud

Today I've been setting up a Cisco router as a terminal server. One piece is to attach a modem so that we can dial into the router in case the network goes all haywire. In testing out the modem, I called myself with it. When I answered the phone, I figured I should be polite and talk back. Surprisingly, I communicated with the modem.

tags: 

Pages

Subscribe to RSS - computers Subscribe to zmonkey.org - All comments