Control The Hype Machine website from the system tray (and download the current song)

I so happen to love the Hype Machine – a nifty website that aggregates music blogs – and happen to listen to it. A lot.

Of course, it’s a website. So to interact with it, you’ll have to bring the browser window to the front, pause/play/skip/love a song or whatever, and alt+tab back to whatever you were doing. Not good. Especially if you’re in the flow, working, writing, clicking cookies, whatever you do. There must be a better way…

So I fired up my trusty AutoIt and build a little tool that sits in the tray area of your task bar and waits for you to pause/play, ffw or rew or love the song. It even tells you the title! Yeah, I know. Just fire up hypem, navigate to the freshest tracks, your favorites or whatever, start playing and do what you need to do.

Caveat empor:

1) It works only with Chrome. And Windows. If you really really want it for another browser, comment.

2) You cannot minimize the hypem window or have it as an inactive tab in a Chrome window – so you basically open hypem.com in a new window and let it there, the window doesn’t need to be in focus or in the foreground though.

3) It works for me, but hasn’t been tested anywhere else. Let me know if you encounter issues.

DOWNLOAD — (hypem_tb_stable.exe)

[Update] Working on a “Save this song as…” function with which you can download / save the current song playing. It’s still a bit wonky (in terms of identifying the mp3 file among all the chrome cache files), but if you empty your browser cache before using it it should work.

— DOWNLOAD (added features, but stuff might be broken) — (hypem_tb_latest.exe)

HOWTO Pair Apple Bluetooth Keyboard with Windows 7

People on the internet (e.g. here and here) seem to have noticed that in Windows 7, pairing your Apple Bluetooth Keyboard is not an easy task.

If you find difficulties such as timeouts etc, there is a reason. Windows 7 wants to pair with the keyboard by giving you a code that you have to type on the keyboard, same procedure as in Mac OS X.

Now, the not-so-secret is: this does not work. After selecting the keyboard in the Add Bluetooth device wizard and clicking “forward”, you meet an eternally spinning waiting icon or some other error after a little while. Solution of the problem is to actually type a numeric code like “0000” or another one of your choice on the BT keyboard just after you clicked on “forward” and then hit enter (once or twice…). Windows 7 should ask you to confirm the key you just typed and voilá. If it does not work the first time, switch the keyboard on and off and give it another go.

Worked for me 🙂

Make keywurl 1.4 (beta 7) work with Safari 4.0.3 on Tiger

Keywurl is great. Safari is great. Tiger too. Leopard, too. Etc.

For those of us who still use Mac OS X Tiger (10.4), Apple was nice enough to give us a version of the new Safari (Safari 4 or 4.0.3, to be precise).

Keywurl on the other hand is THE must-have extension to Safari. Now, keywurl 1.4 adds Safari 4.0.3 compatibility. But only on Leopard. Thus, when updating Safari to its version 4 on Tiger, the old version of keywurl you installed will not load anymore. The new keywurl version (as mentioned, 1.4 beta 7) is compatible with Safari 4.0.3 but when trying to install the 1.4 beta 7 Keywurl.bundle on Tiger it does not work. So far, no surprise.

I found a quick fix to make the 1.4 beta 7 Keywurl.bundle for Safari 4.0.3 work in Tiger. To do this, show the Keywurl.bundle’s package content, open the “Contents” folder and open the Info.plist with an appropriate text editor (may I suggest Smultron?). The part that needs fixing is:

<key>SIMBLTargetApplications</key>
<array>
<dict>
<key>BundleIdentifier</key>
<string>com.apple.Safari</string>
<key>MaxBundleVersion</key>
<string>5531.9</string>
<key>MinBundleVersion</key>
<string>5530</string>
</dict>
</array>

Simply substitute under MaxBundleVersion and MinBundleversion the first 5 for a 4, i.e. 4531.9 and 4530 instead of 5531.9 and 5530. Save, close/reopen Safari in case and voilá, Keywurl loads (and works).

Obviously, this is a quick hack with no guarantees, there are no problems on my machine besides the keywurl configuration pane in Safari’s preferences not working. But you can manually edit the /Library/Application Support/Keywurl preferences file (Keywords.plist) and in every case your previous configuration should still work.

Bloatware rebellion: JamFM.de again

In the third instalment of my war on bloatware series, the first and only enemy of hassle-free streaming pleasure returns. After being defeated the first time around, JamFM.de has risen up again. As you probably won’t have noticed, jamfm.php on phikappa.eu has stopped working – it can’t extract the token anymore. Why? The reason is simple. The address where the flash player is located has changed. I replaced it in the script and everything in good order again. [Edit, one minute later] You’d think! But no, seems as JamFM’s own player cannot find the mp3 file anymore. Booo! We’ll switch to Windows Media, then.

(Outdated) Please find the new version where the old one was: http://phikappa.eu/jamfm.php (this does not work, but may at some point in the future

You can display an URL to paste to VLC or your mms:// capable player of choice here:

http://phikappa.eu/jamfm_asx.php

[Edit] Please find a script at http://phikappa.eu/jamfm/jamfm_wm.php that generates an .asx you can directly open with your Windows Media Audio-capable player of choice from the browser.

[Edit 2] Well, somebody already discovered the same “sikkrit” things on the nacamar server i did… so the next steps i’d have done just became redundant. Have fun with http://www.project-fx.de/tiscali/

Getting streams from bloatwaring internet radios: jamfm.de

Some Internet Radios are not their listener’s friend.

In the case of jamfm.de, the radio is not your friend on so many levels. visit their webstream selector at http://www.jamfm.de/cms/streams-playlist/stream-playlist/stream-playlist.html and you get a choice between MP3 or WMA streaming. Nothing exeptional, you’d think. But no. Instead of a pristine mms://, .asx or .pls all you get is a bloatware html/flash page with no apparent controls. Flash-Ads before playback. POPUPS! URGH! No me gusta. No gusta my iTunes, either.

Ok, let’s dig a bit deeper, maybe there is some way to get to the stream. Peeking inside the HTML of the page(s) http://213.200.64.229/freestream/download/jamfm/frameset_mp3.html and http://213.200.64.229/freestream/download/jamfm/frameset.html (mp3 and wma, respectively) we find a clue that the answer to the question at hand my lie somewhere close.

I’ll now proceed separately, first detailing the results for the mp3 stream and then for the WMA stream.

1) MP3

Ok, the http://213.200.64.229/freestream/download/jamfm/frameset_mp3.html wants us to go to http://213.200.64.229/freestream/download/jamfm/forwarder_mp3.html which redirects to http://213.200.64.229/sltokens/flashplayer/stream-mp3-player.php?stream=jamfm/livestream.mp3 which is a really small flash player. Much improvement, but still we’d need a flash-capable browser to listen to the stream (hello iPhone, waving at you). So, the flash applet does accesses this file: http://62.144.180.170:80/jamfm/livestream.mp3?token=e5d5816ce89fe048baa280725383bfb9. Not good. Not good at all. Dynamically generated token. When inserting this URI into VLC or iTunes, you get the stream, BUT. Once you stop the stream and then try to restart it, you get a password request for “Icecast2 Server on 62.144.180.170”. Same thing when opening the URI inside Firefox. So everytime you want to access the mp3 stream, you need to go to the flash player (and here to you’ll be asked a password sometimes, just reload it and it will work), get the MP3 file with token and insert it into itunes. Not really practical, as you may agree. There are two options here: 1) finding out the password asked or 2) writing a script that somehow gets a correct token from the flash player page and writes a pls with the correct mp3 or, even better, a script that relays the stream so that e.g. iTunes can accept the URL right away. Both options go beyond the scope of this article at the moment.

2) WMA

http://213.200.64.229/freestream/download/jamfm/frameset.html sends us to http://213.200.64.229/freestream/download/jamfm/forwarder.html like the mp3 does. This forwarder.html sends us to http://213.200.64.229/sltokens/stream-radio-player.php?stream=jamfm/livestream.wma. The Activity tabs of Safari does not help here, so off we go to firefox. Going to “Media” in the “Show page info” (get to url, you’ll hear the music start or a small controller (much like the mp3, at the end)) and we get this URL called by the stream-radio-player.php: http://lsd.newmedia.tiscali-business.com/bb/redirect.lsc?adid=0&stream=jamfm/livestream.wma&content=live&media=ms&token=e665919ce58c3422a2f953a4f18040fbs

Saving the redirect.lsc file and looking at it with a text editor, we get something which (result!!) yields the WMA stream. It is: mms://62.26.161.89/jamfm$livestream.wma?token=665919ce58c3422a2f953a4f18040fbs. Not better than mp3. Same caveats apply. Damn token. Inserting this URL into VLC only results in a 401 Access denied. Here too, there are only two options: break the password or get the token from somewhere and add it dynamically.

This is not over.

Update CURL http://213.200.64.229/sltokens/flashplayer/stream-mp3-player.php?stream=jamfm/livestream.mp3 and the token is in the javascript: var token = “xxx”;

Add the xxx to http://62.144.180.170:80/jamfm/livestream.mp3?token=xxx and you’re ready to go. I guess i’ll learn PHP tonight.

spammy spam all over the spam

In the last days there has been an influx of spam comments on this blog.

I’m quite curious about what the trigger was. Google says i’m not linked anywhere on the open internet but on my last.fm user page. While this may not be great in terms of public visibility, it is obviously not true, which means a lot of content on teh intertubes, more than i thought, is hidden from google. Other links exist, like one at my posterous.

spam
spam

Anyhow, i guess some botnet has launched a crawl of the web, looking for blogs and then spamming them.

Whatever the cause, the spam has a peculiar property. No payload (links) in 80% of the cases and indiscernible blabblings with not-interpreted html links thrown in in the rest of the bunch. I’m seeing this kind of stuff at the support email address at work too. What happened? Have the botnets gone mad? Was the payload corrupted? Did some spam summer-intern got the format wrong? Who will ever know what happens in the shady business of spammerworld…

I quite liked the experiment conducted by University of California and UCSD that shows that despite meager margins (0.00001% response rate for spam mails), a 1 million strong botnet could yield over 2m in revenue a year. If only the overall loss in productivity in the economy weren’t a few multiple times that amount, i would tip my hat to those pesky spammers.