Alde’s Stuff

Being True to Yourself is the MOST important thing.

September 2nd, 2008

Hacking the SMC EZStream Internet Streaming Radio

A sales droid that managed the account at a past company gave my friends and I the EZStream media player as kinds of “spiffs” for doing business with them. Not that it did provide them any extra business, and the device was the 802.11b version, not the G.

So I finally have a use for the device; my wife likes to listen to country music to go to sleep to, yet the #1 radio format nation-wide has no stations in the New York City area. Hey, I’ll use the EZStream.

I hook it up to my clock radio with MP3 input (The Timex T307S) and power it up. After setting it up to use my DSL wireless with WEP (so old there’s no WPA-PSK), I try out the internet radio stations… There’s a whole whopping 50 stations. And the one country station doesn’t actually work.

I then ponder how to replace this damn thing. 802.11b is bad, 50 stations is worse…

I could buy a Roku SoundBridge M1000 System, but that’s 200 bucks…
Or I could get a Silm Devices Squeezebox, but since they sold out to Logitech, their prices are still wack.

Nope, I’m going to have to see what I need to do to get this thing to play the stations I want.

The mediaserver software that came with the device has an iRadio tab. So I put in some stations, turned on the server, however, all the stations get rejected by the device. It can’t play any of them.

What to do what to do….
So here’s what I did…

In the device’s network config, one can set a “Proxy”… So I set that to my Squid server. I then went to the Internet Radio config, and had that manually update, and I tcpdump’d the tcp stream.

The device calls home, to www.radiosmc.com. The URL has some other information in it, such as your device’s MAC address, software version, and the hardware version. So I went to radiosmc… It seems that for the luxury of programming your own preset stations, you have to pay a monthly fee. Joy of joys.

However, the file that returns to the device is of such simplicity, the key to it is redirecting the device’s get to a file of your own.

File Format:

It’s a simple XML file. There’s an XML Header:

<?xml version=”1.0″ encoding=”iso-8859-1″ standalone=”yes”?>

Followed by the main container, the station_db:

<station_db version=”2007-01-14T15:03:48Z” format_version=”2.0″ station_count=”48″>

The key things here are to always incrememnt the version number (kinda like DNS) and to make sure the station count is correct.

The next lines pertain to the database info:

<database_info>
<format_version>2.0</format_version>
<name>vTuner</name>

I’d keep this all the same.
Next is the URL the device goes to update it’s list:

<server_url>http://www.radiosmc.com/setupapp/smc1/asp/rsdb/update.asp</server_url>

Eventually you’ll want to change this so you no longer have to redirect in Squid (covered later).
Then the service level:

<service>BASIC</service>.</database_info>

I left this the same too. Don’t want to hurt it, just change the stations.

Now we get to the meat of the file, the station list:

<station_list>

Stations are 6 points of data:

  1. The Station ID (Unique Identifier)
  2. Station Name
    - What the short name listed in the chooser of the device
  3. Description
    - The Long name if you get info on the station (i.e. the Info button on the remote)
  4. Bandwidth of the station (kbps)
  5. URL of the station
  6. Mime_Type of the station

So, a standard station looks like this:

<station>
<id>4392</id>
<station_name>WBHM</station_name>
<description>classical music streaming to the Internet from Birmingham, Alabama with a touch of NPR here and there.</description>
<bw>56</bw>
<url>http://www.wbhm.org:8000/live</url>
<mime_type>m3u</mime_type>
</station>

So repeat this until you have the number of stations you want (Make sure to put the right number up in the station_db tag). When you’re done with stations, you close out the station_list tag and open a directory list tag:

</station_list>
<directory_list>

The Directory list is very important; it is how the stations are organized in the player. The format is based upon directories. For example, the first line:

<dir name=”Internet Radio” subdir_count=”3″ station_count=”0″ >

states that the name to display is “Internet Radio”, that there are 3 Subdirectories under this directory, and that there are 0 stations under this directory. The next tag is a “Genres” subdirectory, and under that is “Adult Contemporary”… Under that is “All stations”, of which there are two AC stations:

<dir name=”Genres” subdir_count=”28″ station_count=”0″ >
<dir name=”Adult Contemporary” subdir_count=”3″ station_count=”0″ >
<dir name=”All Stations” subdir_count=”0″ station_count=”2″ >
<station>8512</station>
<station>12049</station>
</dir>

Use the station tag to link back to the unique id in the ID tag for the station, and then close the directory.

The most annoying thing was the Country part, so with my file I just left all that out. Who cares if you’re listening to an AC station from Canada or Germany?

When you’re done with all your directories close the directory list, and the station db, and you’re done:

</dir>
</dir>
</dir>
</directory_list>
</station_db>

So, now you’ve got your xml file, how to get the device to fetch it? Its your friendly neighborhood Squid proxy to the rescue!

Squid (http://www.squid-cache.org/) has a nice feature called URL Redirection:

# TAG: redirect_program
# Specify the location of the executable for the URL redirector.
# Since they can perform almost any function there isn’t one included.
# See the FAQ (section 15) for information on how to write one.
# By default, a redirector is not used.
#
#Default:
# none

In your squid.conf file, you can use a simple program to redirect all URLs. What I did here was add a line of code to the conf:

# TAG: redirect_program
# Specify the location of the executable for the URL redirector.
# Since they can perform almost any function there isn’t one included.
# See the FAQ (section 15) for information on how to write one.
# By default, a redirector is not used.
#
#Default:
# none
redirect_program /usr/lib/squid/redir.pl

and then created a simple perl script to redirect the URL to my xml file:

redir.pl

#!/usr/bin/perl
$|=1;
while (<>) {
s@http://www.radiosmc.com/.*@http://example.com/mystations.xml@;
print;
}

Reload the config, and manually update the Internet Radio list, and boom, I’ve got all the stations you want.
Now, is this stealing? Well, ethically I look at it this way: I was given a device that had I bought it, would have been like buying an FM radio, but one without a tuner. Then I had to pay someone to program my preset buttons.
SMC does not provide any content; it’s not like XM or Sirius. They are not providing the network connection, they are not providing the Audio content, nor are they paying the streamers for that content. I’m sure there’s some sort of monetary exchange between staiton and RadioSMC, but I’m not sure in what direction. The device retails for about $110, and the service they sell on top of that is a $30 one time fee. Why not charge $140 for the device and allow the enhanced service for free? Poor customer service>

My Stationlist can be found at http://www.alde.com/mystations.xml

June 24th, 2008
December 18th, 2007

Sony’s Inability to Sweat the Small Stuff

Hurray! Firmware 2.10 is out… The PS3 supports DivX. Which is quite handy, seeing as DivX gave out free versions of it’s 6.8 software just recently.

But yet again, Sony misses the mark. It’s become increasingly frustrating, as the PS3 was targeted as a home theater entertainment hub, that an owner would use to “enjoy their digital entertainment content where they want to.” But Sony really doesn’t believe that.

Sure, you can use that big PC you have, only if you use a certain version of Windows, or some third party Universal Plug-and-Play software to share your files. It would be beyond Sony to support Samba, an open source file sharing software.

Sony added playlist support on firmware version 2.0, but it’s only for audio stored on the PS3 itself. Nevermind that Western Digital World Book that you ripped all your CDs to using 320kbps MP3 (Sony.. FLAC & OGG support please thanks.), you can’t use a playlist on that at all.

So, it’s beginning to feel the same with the DivX support. Guess what: It doesn’t work over shared UPNP services. You can’t even copy it to the PS3. So I took a MOV I shot with my Minolta Dimage camera, opened up DivX Convert. Dropped the MOV file onto convert, copied the resulting .divx file into my UPNP share, refreshed the share itself, and the movie shows up as “Unsupported Media”. I take that same file, copy it to a SD card, take it over to the PS3, Movies->SD Media… Then have to hit triangle to have the PS3 “Display All”.. And there it is, watchable.

I don’t understand, Sony. Why must you test my patience so.

Sony PlayStation 3 80GB Limited Edition MotorStorm

US $365.00 (2 Bids)
End Date: Friday Sep-05-2008 10:38:38 PDT
Bid now | Add to watch list

2 SNES CONTROLLER CONTROLLERS FOR SUPER NINTENDO NEW
US $9.99 (0 Bid)
End Date: Friday Sep-05-2008 10:38:59 PDT
Buy It Now for only: US $10.99
Bid now | Buy it now | Add to watch list

6FT 6 FT New HDMI Cable 1.3 Gold 24K for HDTV DVD 1080P
US $6.47
End Date: Friday Sep-05-2008 10:39:03 PDT
Buy It Now for only: US $6.47
Buy it now | Add to watch list

1 X MARIO KART PINK GT PRO 4 WHEEL NINTENDO WII FRE S/H
US $8.99 (0 Bid)
End Date: Friday Sep-05-2008 10:39:09 PDT
Buy It Now for only: US $9.99
Bid now | Buy it now | Add to watch list

NEW NDS CAR CHARGER FOR NINTENDO DS FREE SHIPPING!!
US $5.49 (0 Bid)
End Date: Friday Sep-05-2008 10:39:12 PDT
Buy It Now for only: US $5.99
Bid now | Buy it now | Add to watch list

November 5th, 2007

Top 11 Christmas Gifts

So, what do you think I would want for Christmas?

1) Infiniti G37 Sports Coupe
G37 Sports Coupe
Read the rest of this entry »

February 4th, 2007

Superbowl Best Ads

So, my top 5 Superbol ads were:

5) David Letterman and Oprah Winfrey - After all these years, Dave still has it.

4) Carlos Mencia & Bud Light

3) Taco Bell Lions

2) GM Robot

1) Blockbuster Mouse Click

February 3rd, 2007

Harry Potter and the Deathly Hallows

Seems its that time of year folks; early ordering for Harry Potter…

So, if you’re gonna order, I think Amazon has the cheapest prices compared to the other online bookstores.

Harry Potter and the Deathly Hallows (Book 7)

There’s also a Deluxe edition this time, just in time to finish off your collection:

Harry Potter and the Deathly Hallows (Book 7) (Deluxe Edition)

And if you don’t have them all in Hardcover (what kind of Harry Potter fan would have “paperbacks”):

Harry Potter Hardcover Box Set (Books 1-6)

January 28th, 2007

10 Years later, what will we be saying about today’s games?

I went over to my friend Scott’s house tonight for some ritualistic Playstation 3 2K7 Hockey. Now, we’ve been playing hockey together playstation style for over 6 years, and needless to say, we’ve got the one-timer down to a tee.

We both bought our PS2’s at about the same time in 2001, and there were quite many nights of drinking Guinness and hat tricks. Prior to the PS2, my friend Kyle and I would play lots of NHL99 EA hockey, amongst other things. Kyle was a master of the solder gun; he once modded two PSX’s flawlessly, after drinking a bottle of wine.

My love affair with console gaming Hockey goes back all the way to Nintendo Ice Hockey. You remember, the game with 4 players on the ice (3 + The Goalie), and you could have the three types of players, fast/weak shot, medium/medium, and slow/big shot. But no fighting. Then we got Blades of Steel (cue cheezy sampled voice). Fighting was great! Then I went to college and learned the beauty of Sega Hockey. So, hockey has been one of the cornerstone games that has always been in my games collection. (I don’t remember playing hockey on my Odyssey 2 or the Colecovision however…)

Tonight, as a lark, I brought over NHL99 (PSX) to play on the PS3… My how things have changed. Given the constraints of the CD format, there was the incredible opening movie (I can remember the first time I heard David Bowie’s Heroes play as the opening, a chill went down my spine) and then it all went downhill from there. A game I used to treasure (ok, until NHL2001 and the PS2 dethroned it) and the graphics looked blocky and jaggie, no player customization (Chris Simon had no long hair, Lindros and Jagr were the same size as Sergei Samsonov). Reading numbers was difficult; how do you know if that one timer you’re trying is going to Petr Bondra, or to Adam Oates?

That got me thinking… 10 years (or so) from now, in the rush of the Nth generation console, with SDHDMDPHD Televisions, will we be able to put in NHL 2K7, and marvel at how little things have changed, or will they have changed so dramatically by then the only reason we’ll play it at all is to remember the old lines of yore? Will 1080p be replaced by 2430 scan lines? Will players every facial feature be rendered in minute detail because of high definition facial scanning technology with trillions of polygons? Will the controllers of then be force feedback with the ability to feel the puck on the stick, the poke check of the goalie? Will your passes finally go to the correct player, instead of to the goalie?

I’ve been reading Heinlein’s “Expanded Universe”, where he marveled that in the 50 years since 1900 just how far technology had brought civilization, and in the compressed time of today’s technology, I wonder with the same curiosity as to what we will find in the next decades. When today’s high school freshmen have never known a world in which there wasn’t a Nintendo gaming system or Nintendo Ice Hockey, what will their nostalgic memories of console gaming be?

December 28th, 2006

The Death of the PS3 is Greatly Exaggerated

Anthony Perez over at Amped News writes an opinion piece that the “Death of the PS3″ is a “Hasty Conclusion.” I have to agree with him on that one.

From his article:

“Last year, at NotifyWire.com, we tracked several one thousand dollar Xbox 360 bundles which would sell out in less than two minutes after becoming available,” said Ian Drake, president of NotifyWire.com, an online retail tracker that sends out “In Stock” notices via e-mail and newsletters. “Just today, a one thousand dollar PS3 bundle was in stock at eToys.com for over 12 hours. This sort of thing didn’t happen with the Xbox 360 until well after Christmas.”

An overpriced bundle not selling out for 12 hours, how SLOW… The only reason the companies come out with these bundles is to keep the Ebayers from flipping the boxes. Very few people want to pay over $1000 for a 60gig PS3 with 5 Games of which they may only want one. Yes, you can return all the games to the store, that is, if the store allows you to only return the games, or only return the bundle.

Also, keep in mind that the Xbox360 was selling to an empty market; there was no other “Next Generation” console game system out there. PS3 has to compete not only with the Xbox360, but with the Wii. And, uh, the Wii goes for $250 retail. No where does anyone EVER (until I read the Toronto Star article cited below) mention the price differential between the products. When the anti-ebay Wii bundle is $550, guess which one the non-traditional gamer is going to buy first.
Also limiting them is the, well, lack of hardware. The Times of London states:

“The big challenge for Sony is that PS3s are so hard to get,” said Baker. “To a large degree, many people are buying something else. Sony is going to have to battle to retain the market share that they’ve had historically. They’ve given a two Christmas advantage to Microsoft, and a one Christmas advantage to Nintendo.”

Sony also dug themselves a big hole with no real premier launch title out there. But then again, Sony didn’t do well with the PS2 either. PS2, I was amped for NHL2001 & SSX, but it wasn’t until March that I got it with Gran Turismo 3. And I remember even then having to sit and hit reload on Amazon.com over and over again. I still think it will be that way in March. People like me sitting on the sidelines waiting for Gran Turismo HD, or Final Fantasy XIII. And because of the price, we’re all more than willing to wait, too. Especially with Final Fantasy XII just recently out for the PS2.

The Toronto star says:

While holiday sales totals are the subject of much speculation on the web, the research firm NDP Group estimated that Wii’s sales figures for November were more than double those of its technologically beefier competition. According to the firm, Wii sold 476,000 units, while the PS3’s figures were put at 197,000.

“I think the Wii still has not proven that (the motion-sensitive controller) is anything beyond a gimmick,” Crecente said.

“The PS3 still has a lot of work ahead of it. It still has to make a game that’s not derivative of what’s already out there, or a sequel of something that’s already been produced.”

Indeed, it will be interesting. And also mind you this is going on with a background that Intel/AMD/NVidia/ATI are pushing the PC gaming envelope even further.

December 8th, 2006

Wii and its violent controller

Check out the site Wii Damage which has set itself out to document the problems that the Wii controller has done in the name of fun and games.



People have broken windows, pint glasses, LCD TVs, even PDAs. Please make sure you have a firm grip on the controller when you’re playing Tennis…

December 4th, 2006

Playstation 3 Cracking Encryption

The folk over at Distributed.net, have been working on a preliminary client for the PS3, and since they’ve sorta semi-publicly acknowledged this (I have inside information I was sitting on), I’ll describe what they’ve gotten themselves into.

The client is currently being worked on, and have an assembly-optimized RC5-72 SPE cores that are running at approximately 24 Million Keys per Second.

Now, according to their Speed Database, an Athlon 64 4000+ gets appx 10Mkps, while a Core2Duo 2.6Ghz get appx 9.6Mkps.

Now, I’m sure you’ve read my post about PS3 datacenters, especially the point where I state they have 6 user-available SPEs. That 24 million kps is per SPE, so 6 * 24 = 144Mkps on the SPE’s alone. I’d be afraid to see what this thing will do with DES. Or for matter of fact, Triple-DES. I’ll remind you that normal Triple-DES encryption uses only 2 keys, not 3. Triple-DES encrypts the plaintext with key #1, decrypts the cryptotext with key #2, then re-encrypts that output with key #1. Therefore you can easily put the two DES keys into the 128 bit registers… Voooom….

There’s still some issues to solve, and an optimized PPE core must be written, since the current PowerPC cores on the PPE is very abysmal. Also, the client is written for PS3 Linux, and that a native PS3 port would require a PS3 dev kit that is currently unavailable to the dev team. And the lead on the project lives in a country where the PS3’s currently cost $3000 US.

So, if you’d like to donate one or know someone at Sony that could help as well, Distributed.net’s donation page is http://www.distributed.net/donation.php.

There’s no Xbox 360 client under development, well, mainly, because Microsoft doesn’t want Linux on the box (though Free60 is trying their best), so conversely, if you know someone who’d be willing to donate a Xbox360 development kit, that link above works just as well.