HOWTO: Swipe music from MySpace players at full quality

I recently had a request from Phil to rip a particular track to MP3 from a band’s MySpace page. While most music on MySpace is shoddily encoded at 96Kbps, sometimes it’s the only place available online to listen to a particular song. To save yourself from the agony of calling up a Web browser, going to the domain, and having ads foisted upon yourself, some technical work will get you set to have a fully unrestricted MP3 copy of the music.

Other solutions exist for this process, including connecting a 3.5mm cable from your sound card line out to sound card line in, and then recording the result, but this introduces even more quality loss to the process.

There are some technical restrictions on this process, and I advise anyone coming here to ask about them to seriously consider their questions before commenting. With a post title involving music and MySpace, I don’t expect the cream of the crop to start posting their wireless packet sniffing instructions or automated Flash extractor Linux tools (although that would be a pleasant change.)

You need a wired connection to the Internet to perform the packet capture. Most wireless card drivers don’t have the ability to capture packets, or they don’t work in this configuration.

  1. Download and install Wireshark, which is the newest version of the classic Ethereal network utility. The Windows installer also comes with a driver, WinPCap, that allows the packet capture to take place. Follow all default instructions in the installer.
  2. Close any programs that use your Internet or network connection. This includes other Web browsers, instant messaging programs, file sharing utilities and feed readers. While you don’t have to close everything, it’ll help make sure that there’s enough memory to load the MySpace page and capture the MP3 at the same time.
  3. Open Wireshark, then resize it to a standard window.
    Wireshark default window
  4. Start a new Web browser window, resize it to a standard window, and click the Stop button to cancel the page load. You should have Wireshark and your web browser running side by side:Wireshark/Firefox layout
  5. Enter the address of the MySpace page in the web browser address bar, but don’t press Enter or Go yet.
  6. Switch to Wireshark, and click the Interfaces button – it’s the first one on the left:Wireshark - Interfaces
  7. In the Interfaces window, look for the active wired Ethernet controller in your computer. The numbers for the controller should be slowly increasing:Interfaces Window
  8. Click the Start button to the right of the controller. Immediately, switch back to your browser and let the MySpace page load. If the song isn’t the one you want, switch to it as quickly as possible. If you resize the Wireshark window, you’ll see packets scrolling past:Capture Started
  9. Wait until the song is done or is almost done playing. (You really only need to wait until the song data is downloaded, though.) Once finished, click the Stop Capture button in Wireshark:Stop capture button
  10. Resize the Wireshark window. Copy and paste the following text into the Filter box, then click the Apply button.http.content_type == "audio/mpeg"

    Filter audio/mpeg

  11. When you click the Apply button, you should only see one entry in the packet list. You may also see two dialog box with progress bars – one filters the captured packets, and the other decodes the MP3 file sequence.Wireshark progress bar
  12. Resize the Wireshark window so that you can see the packet overview, as in the dialog below. Click on the Media Type header and cancel the progress windows.09_capture.PNG
  13. Right-click on the Media Type header and click Export Selected Packet Bytes. Enter a filename for the data, ending with the extension .mp3.
  14. Open the MP3 or import it into your library. You’ll likely have to provide artist and title information for the track, since it’s not included with the packet stream.

As a special bonus, I’ve also recorded a Wink tutorial on the process. The video takes the shortcut of applying the audio/mpeg filter before stopping the packet capture, so that you can save your song file immediately after it’s downloaded from MySpace.

Other possibilities to reduce processing time would be to set a filter, only capturing HTTP packets on port 80 following the audio/mpeg chain, and changing various configuration settings in Wireshark.

The band that I demoed the capture from is Stalling Dawn, who also have much higher quality tracks available to download directly from their PodShow page if you create an account. Unfortunately they don’t seem to have an official album released yet, but I’d definitely buy it if one ever comes out.

Rogers introducing $15/month unlimited email BlackBerry plan?

From the November pricing threads at HowardForums, it seems like Rogers may be announcing a new plan to counteract a potentially similar offering from Bell.

The plan would cost $15 per month, to go along with a rumored BlackBerry Pearl promotion and would give unlimited access to BIS email, PIN messaging and BlackBerry Messenger. No word on additional access to data, but we’ll have to see if there are any packages less than $25 for 1MB.

It makes sense for Rogers to do this, considering they can still monetize their data services, and it’s comparable to T-Mobile USA’s $9.99 unlimited email plan. I’m personally looking forward to any developments in this space, both as a consumer – more wireless competition is always a good thing, especially when it comes to data rates in Canada.

Disclaimer: While I do work for Research in Motion, I don’t have any knowledge about future carrier pricing plans – I’m just an enthusiast in the matter.

Update: Well, it looks like it’s too good to be true – as seems to be the usual case whenever anybody gets excited about Rogers’ plans:

The $15 Unlimited Email plan and the $25 4 MB (pooled and non pooled) plans are on hold until further notice. as per email sent, no explanation given

High-resolution Leopard Blue Screen of Death

In the spirit of the Blue Screen of Death icon for SMB shares making it into Leopard, here’s a high resolution version of the actual screen contents, which read:

Windows

A fatal exception 0E has occurred at 0028:C0011E36 in VXD VMM(01) +
00010E36. The current application will be terminated.

* Press any key to terminate the current application.
* Press CTRL+ALT+DEL again to restart your computer. You will
lose any unsaved information in all applications.

Press any key to continue _

Digg stupidity filter, powered by Yahoo Pipes

Ah, regex – when put in a flowchart GUI like Yahoo Pipes it makes things a lot easier. My newest pride and joy, the Digg stupidity filter, gives a global RSS feed that removes the following post types:

  • Posts containing the word “digg”. These articles are usually meta-references and if there’s one thing I can’t stand reading more than Digg comments, it’s about how Digg is gaining acceptance among the mass media. To avoid using a slightly more colourful phrase, it’s a circle-…backrub of gigantic proportions.
  • Posts containing [PIC], [PICS], or [Picture]. Yay! No more LOLCats cluttering my news. The best thing that’s ever come out of that meme is LOLrus, and only because the name’s clever.
  • Posts containing “Ron Paul”. Beside being Canadian and therefore indifferent about American politics, I don’t want to see an army of Internet fanboys discussing how he saves orphans from burning buildings when there is no chance in hell he’ll get elected. It’s armchair activism at its finest. Wake me up when Stephen Colbert, Arnold Schwarzenegger or Bill Clinton (yes, again) get into power.
  • Posts containing “marijuana”. Maybe I’m not into the whole stoner subculture, but I can’t be bothered to care about the oh-so-wonderful benefits of hemp while reading news at work.
  • Finally, the filter excludes posts matching the regex .*(\!|\?|\.|\:){2} to eliminate any articles containing two or more punctuation symbols in a row. This takes out a LOT of potential overhyped, moronic and inane articles because the submitter doesn’t know about our good friend Mr. Period (NSFW text.)

My next project, when I get the time, will be to find a way to filter all-caps articles with regex or another string tool. So far, the regex capabilities on Pipes don’t seem to be case-sensitive, or my syntax set isn’t matching what the site expects.

Are there any other terms you’d like to see removed from Digg stories, or other suggestions for filtered feeds?

Internet lawyering, “think of the children” and social networks? It must be American news!

Parents Beware: What Kids Post on Social Networks Could Cost You Your Job is an excellent fearmongering title for all WASP-y parents in the States. It combines the scare tactics of involving “that there MySpace site”, which people have heard has been sued for allowing child predators to roam freely.

From standard news reports, one would think it’s like being dropping your child into a zone of no-good older men; possibly something like a pit full of defrocked priests. I think the biggest dangers coming from MySpace are as follows, where “OR” is an inclusive OR.

  • Blowing out your speakers because somebody embedded an auto-starting Lil’ Mama and Avril Lavigne remix (this IS the most horrible song in the world) OR
  • Searing your retinas because somebody decided that they’d not only use yellow background and black, blinking text, but that they’d embed seizure-tastic YouTube clips in about four different places OR
  • Screaming over your monthly bandwidth allowance because somebody thought it’d be a good idea to link to a 5000×5000 BMP file as their background image… in every table cell.

Never mind the court decision over the sexual assault case where the parents sued MySpace: the judge actually pulled a Dr. Phil and bitch-slapped their poor parenting:

“If anyone had a duty to protect Julie Doe, it was her parents, not MySpace,” the court ruled.

So why do I bring up this specific case of fearmongering? Aren’t there enough idiot news channels, like Fox, doing reports on 4chan and other Internet memes? Well, it’s all about who they quoted in the article.

Many families are getting hurt according to internet safety expert Parry Aftab.

“I’ve represented a lot of parents who’ve come to me when they have been fired, they’ve been demoted, or they’ve been called on the carpet because of what their kids posted online,” Attab[sic] said.

Internet safety expert, huh? Where have I heard that name before? I believe it was attached to a post called “KILL IT”:

Parry Aftab

That’s right! She was the one Something Awful absolutely ruined for having zero credibility!

People, do your research – Digg will go absolutely enraged over this, not realizing that this woman is the equivalent of Jack Thompson for Internet safety.

Just the Halo, thanks. No soft news for me.

The appearance of quite a few items in my Google Reader feed list is beginning to become a bit of a nuisance. While I’m not nearly as adept as Robert Scoble when it comes to processing that amount of information, I still regularly skim 1500 items per day and get the idea behind most of them. All the feeds I read help me keep up with the news, or provide some degree of entertainment. For example, Behind the Counter details what being a customer service weasel at WalMart entails; it could also be called “hell on Earth.”

Unfortunately, there are several items in my feeds from otherwise quality websites that I’m not really interested in – so much, in fact, that any article with specific keywords or URLs automatically triggers the “next!” reflex. The specific example I’m thinking of is an otherwise excellent website, halo.bungie.org. HBO is the definitive Bungie/Halo fansite, apart from Bungie.net itself. (Disclaimer: In a former role, I used to contribute content to another Halo fansite, The Junkyard, and had several links from HBO.)

The HBO forums far surpass Bungie.net for maturity, level of story analysis, and recent developments. Louis Wu (Claude Errera) has been operating the bungie.org servers for years; he also appeared in the Halo 2 Limited Edition documentary and was credited in the games. There are also several other bungie.org administrators that contribute content to the site and front page.

As far as I know, HBO primarily posts news either from their own forums, sent to various bungie.org email addresses, or reactively based on several Google Alerts out for Halo. Regularly contributing community members also seem to get a fair bit of attention in the form of posts. There have been days in which all posts focus on a single author. Lately, the trend has been for the front page to feature content from personal weblogs, which is something I’m skeptical about; historically, unless the weblog was written by a developer or someone “official” (like Mat Noguchi), it really didn’t receive too much attention. Perhaps it’s due to the trend of people starting to contribute content to their own sites, rather than in forums or as a submission to community portals.

So why all this background? Because I can only stand reading so many opinion pieces and speculation from people’s weblogs when it comes to Halo news. It seems like every day for some time now, there’s been a post featuring HBO’s new female contributor, ‘Hawty McBloggy’. In the past short while, she’s detailed eBay auctions for Spartan armor, spawned “what-if” scenarios spiralling into the rabid fan(boy|girl) category, and peppy lists of things to do in Halo 3 that would make Digg’s front page in no time. It doesn’t seem like legitimate, genuine Halo content – it seems more like a personal weblog that just happens to have a Halo focus, which doesn’t necessarily warrant constant placement on a popular Halo news site.

Not to say that it’s bad writing, or that the author doesn’t have any legitimate content. It’s just not in the same realm as narcogen’s writing at rampancy.net and certainly doesn’t have the stylistic finesse present in Brandon ‘vector40’ Oto‘s content. One wonders if there’s a particular reason for highlighting bs angel‘s content. While I’m fairly certain that Claude’s not just taking up room on the front page of his site because of the female on the Internet playing Halo phenomenon – and let’s face it, it is his site – there’s a large separation between informed, researched and sourced speculation of the Halo universe and (paraphrased) “oh my god, wouldn’t it be cool to have Cortana’s voice in multiplayer?”

This sort of post, with soft news content, isn’t the only thing I’d rather not read from HBO. While there are some talented artists producing interesting Halo art, for example, the One One Se7en webcomics produced by another regular contributor are the equivalent of “Dennis the Menace” or “Garfield”: just not that funny. Master Chief ending up in another particularly embarrassing situation with an ironic remark has the same net comedic value as that damn orange cat eating lasagna, sleeping and punting a dog.

“So then,” you may say, “what are you going to do about this situation?” Well, I could easily piss and moan like everyone on social networking and blog sites does – or I could use Yahoo! Pipes to create a filtered RSS feed. Here it is for your enjoyment: a HBO RSS feed without Hawty or One One Se7en content. I may add more filters if posts continue to crop up that aren’t that engaging.

My next project with Yahoo! Pipes will likely TUAW content without emo whining about “My iPhone bricked itself!” If you’d had a BlackBerry, that wouldn’t be happening… 😉

Alternatively, what really might save me some stress would be a Digg RSS feed, sans articles containing “Digg this”, “Ron Paul”, “[PIC]”, or more than one punctuation mark in a row.

Since I know most people in this post probably have alerts out for their names, don’t take offense to my rhetoric; it’s hard to come up with original content and I respect that. I’m just too disinterested in anything but news to care.

Eclipse PDT – one of many useful work tools

Just checked out the Eclipse SVN site and apparently the issue with dashes in new PHP filenames has been resolved. I upgraded my work copy to the latest nightly build and things seem to be going well. (The October 1st integration build might be better stability-wise, but I’ve had good luck with the nightly builds.)

For the record, after the upgrade, loading my workspace took about five minutes (Core 2 Duo @ 2.16GHz, 1GB RAM) with no discernable progress bar or CPU activity. Eclipse effectively looks like it’s frozen. Be patient; it’ll load eventually.

PDT, though, is about the single most useful tool I find for PHP development at work. The next front-runner is WinSCP, which has a really neat feature, Keep remote directory up to date:

Keep remote directory up to date

This feature lets you have complete synchronization between a remote SFTP server and your local Eclipse workspace. It also supports private key encryption.

As a pair to WinSCP, I also use PuTTY, with anywhere from one to five sessions open at a time. PuTTY offers a neat tunnelling option, which I’ve mentioned before.

You can also access internal servers using one of these tunnels; for example, if I want to connect to a remote desktop session on host 192.168.1.101:3389 on my internal network, I’d use the following syntax:

Source port: 127.0.0.2:3389
Destination: 192.168.1.101:3389

Then, after establishing the SSH connection, using the 127.0.0.2 alias in Remote Desktop lets me connect to the machine behind the NAT traversal firewall.

Notepad++ is another program I highly recommend as a replacement for Notepad. If you can’t use TextMate because you’re not on a Mac, Notepad++ is an acceptable substitute. It offers some neat syntax highlighting features, and saves session history even when you exit.

Paint.NET is also a decent image editor, allowing you to verify hex values for colours and perform some minor tweaks to images without incurring the load time and aggravations in Photoshop.

Firefox zealots move downward on The Hierarchy

I think I’ve found a group of people just as annoying as elitist Mac users. This group would be the no-holds-barred Firefox/Mozilla zealots who hang out at Spread Firefox and post Diggbait articles about the state of browser compatibility. Yes, Firefox has done great things for Web standards and interoperability of sites; it’s also nice to have the same browsing UI on Windows, OS X and Linux boxes. Yes, not everyone at Spread Firefox is drooling with glee as they report sites for misplacing a LI tag. Unfortunately, today’s target of my wrath does not meet the criteria for exemption.

It’s specifically this list that irks me today, written by a guy whose interests apparently include bashing “Micro$oft”, South Park boot screens, and writing about browser incompatibilities.

The only reason I even bring this up (and since I refuse to go into the Digg comments; they’re already at over 110 and I don’t think I’ve seen one intelligent one yet) is because Nathan links to blackberry.com as one of the sites that’s incompatible with Firefox.

Wait, hold up. blackberry.com (the consumer/promotion site for the devices) is about one of the most likely sites to comply with Web standards, since it’s also designed to be viewable on a BlackBerry device. What’s this guy on about? His complaint is specifically the Google Talk instant messenger download page:

http://www.blackberry.com/GoogleTalk/index.do Uses obsolete ActiveX junk. And Google is somehow involved with this?!?

For reference, here’s what the website says when I go to it using Firefox:

Notice

Microsoft Internet Explorer 5.0 or above is required to download this Instant Messenger.

This web page uses ActiveX controls that work only in Microsoft Internet Explorer. To ensure that Google Talk for BlackBerry devices is correctly downloaded to your BlackBerry, this site is not designed to work with any other Internet browsers.

This page is a separate application with an ActiveX control, designed to connect to your device using USB and load a Java MIDlet (which can’t be done with conventional web scripting language, so ActiveX is really the only way to go.) Furthermore, anybody accessing this page can also do it from their BlackBerry device, which also properly loads the application without the IE requirement.

For the record, I use both IE7 and Firefox at work, each for about 50% of typical usage. All my custom development works equally well in both browsers, except for SharePoint/Project Server integrated plugins (and that’s a Microsoft limitation.) Yes, it’s not entirely great that you can’t load MIDlets with Firefox, but the reality of the business world is such that you can count on a Windows/IE combination for corporate desktops; a Firefox extension/plugin for the same functionality doesn’t really make sense when there’s already a browser-agnostic way of performing this task.

BlackBerry in sync: how to synchronize contacts, calendars and tasks wirelessly

A puzzling problem lately arose when I was asked (through our consulting business) to find a better contacts, calendar and task synchronization solution for a BlackBerry device and Microsoft Outlook. Typically, large business and enterprise users have little issue with this problem, since BlackBerry Enterprise Server for Exchange, GroupWise or Domino takes care of the process. That’s not the case for individual, BlackBerry Internet Service users, who have to connect their device through USB and have the Desktop Manager software perform the synchronization.

This process is less than ideal for small business users, cost of which is only one factor. (You can get a free copy of BlackBerry Enterprise Server Express for one user, which is expandable for up to fifteen users with additional client access licenses.) Unfortunately, it’s not just the software itself that users balk at paying for – you have to be running Exchange Server, Novell GroupWise or Lotus Domino as your backend email server, which can be a much more expensive proposition than BES itself. In my client’s case, they’re running a package called AltN MDaemon for Windows, which provides OWA-like functionality through a component called WorldClient. BES was not an option in this case.

Fortunately, MDaemon (through WorldClient) does support a standardized component called SyncML. Using this guide, I was able to provide the following solution:

  • The user account on the MDaemon server (userid@example.com) is accessed using the Outlook Connector component. This keeps all mail stored on the mail server, but also has the side effect of storing contacts, calendars and notes in IMAP-like format on the server as well.
  • Mail coming to the MDaemon server for userid@example.com is also forwarded (using mail rules/filters) to the BIS account – in this case, userid@example.blackberry.net.
  • The WorldClient and SyncML services are activated on the MDaemon server – for example, at http://mail.example.com:34567/.
  • Using a component called SyncJE installed on the BlackBerry device, contacts, calendars, and tasks are synchronized with the server copies. This synchronization can be done manually, to keep data usage in check – or automatically. SyncJE is a fifteen-day trial with a nag screen, and is $39.95 to purchase.
  • The following settings are used for SyncJE on the BlackBerry:

    URL: http://mail.example.com:34567/MDSyncML.dll (where mail.example.com:34567 is your WorldClient URL)
    Username: (the username for the MDaemon account)
    Password: (the password for the MDaemon account)
    Contacts Folder Name: contacts
    Calendar Folder Name: calendar
    Todo Folder Name: tasks

    The Zen Software site notes that “If you want to synchronise a Public Contacts, Calendar or Tasks folder instead then use the following format in the FolderName field instead:

    ./Public Folder/company.mail/Contacts”

While I can’t officially recommend this solution as the best option, it works well for my client’s needs, and may assist you with your own personal scheduling systems. For example, SyncML components may be available for your mail server, which would also work with SyncJE.

Filtering based on YouTube collective idiocy

The hierarchy of Internet commenting continues to prove worthwhile and reinforce my point.

From Boy Genius Report, which pointed to DownloadSquad, which blogwhored back to the original source, StupidFilter will be an open source filter package for comments, based on YouTube stupidity:

Stupid comments

The solution we’re creating is simple: an open-source filter software that can detect rampant stupidity in written English. This will be accomplished with weighted Bayesian analysis and some rules-based processing, similar to spam detection engines. The primary challenge inherent in our task is that stupidity is not a binary distinction, but rather a matter of degree. To this end, we’re collecting a ranked corpus of stupid text, gleaned from user comments on public websites and ranked on a five-point scale.

The site also refers to Eternal September, which is the September that AOL users first accessed newsgroups and ruined the discussion boards for everyone else. I’m still not entirely sure where most non-technical newsgroups would fit inside the hierarchy.

In the meantime, the StupidFilter project has a random stupidity page, where you can view examples of YouTube comments. (Personally, I think all the ones I’ve seen have ranked too low – the project should have a 1-10 scale instead of a 1-5 to allow more of a granular level of stupidity.)

Also, check out their FAQ page, where I found this bit of hilarity for my morning, emphasis mine:

Keep in mind we grade stupidity on a scale of 1 to 5. Someone might get a 1 or 2 for a comment that used no punctuation, whereas a comment consisting of nothing but text message abbreviations with a dash of LOLLLLL thrown in for good measure would probably rate a solid 4 or 5. There is a certain amount of subjectivity, and our software is aware of that; scoring will be normalized to eliminate excessively generous or harsh estimations of stupidity.