Posted in Uncategorized by Thomas Themel on April 30, 2005.
Today was spent with the special combination of free time and low mental energy that probably powers most of the demand for an entertainment industry.
Remember the AACS rant? Well, it seems that me and them are not destined to be friends. The first thing I ran across was that my up-to-now favourite provider of electronic music, eMusic, is probably trying to sell its customer data – which probably means they’re going down soon. Even in lieu of any great new releases, I’ve stayed on the eMusic boat, but now I’m slowly running out of stuff to download – most of the classical music I’d like to have isn’t available there, and even though their supply of underground hip-hop was what initially got me there, the new releases in that area are also a down to a trickle. With the data sale thing, I was once again out to look for another music store.
I found a link to Sony’s Connect store, but that quickly confirmed my worst fears from the AACS rant – it won’t even let non-IE users in, all we get is a graceful link telling us we need to download IE. Come on guys, don’t you know basic browser courtesy? Anyone not using IE is pretty likely to have made that choice consciously, and thus feel insulted by the insinuation that they need a link to download the latest IE. Even if you fake your way past the incredibly lame lock-out page, you are informed that you’ll need a proprietary client app to buy music from them – just great.
Which brings us back to ye olde iTunes. Bored as I was, my craving for a complete recording of "Also sprach Zarathustra" managed to override my known objections, and I resolved to try out SharpMusique. Installation was pretty much a breeze (under an hour, just had to find Debian packages for Mono 1.1.6 and Gtk#, then get all the required dependencies for libvlc). When I had confirmed that they had a number of recordings, I tried to buy one of those, and promptly crashed SharpMusique -
Object reference not set to an instance of an object
in <0x0004d> System.Text.RegularExpressions.Regex:Replace (System.String input, System.Text.RegularExpressions.MatchEvaluator evaluator, Int32 count, Int32 startat)
in <0x00076> System.Text.RegularExpressions.Regex:Replace (System.String input, System.String replacement, Int32 count, Int32 startat)
in <0x0004c> System.Text.RegularExpressions.Regex:Replace (System.String input, System.String replacement)
in <0x00038> System.Text.RegularExpressions.Regex:Replace (System.String input, System.String pattern, System.String replacement, RegexOptions options)
in <0x00012> System.Text.RegularExpressions.Regex:Replace (System.String input, System.String pattern, System.String replacement)
in <0x004ab> Utility:MarkupSanitize (System.String text)
in <0x00013> PurchaseDialog:set_Title (System.String value)
in <0x00228> SharpMusique:OnPurchase (System.Object o, System.EventArgs args)
in (wrapper delegate-invoke) System.MulticastDelegate:invoke_void_object_EventArgs (object,System.EventArgs)
in <0x00096> GLib.Signal:voidObjectCallback (IntPtr handle, IntPtr gch)
in (wrapper native-to-managed) GLib.Signal:voidObjectCallback (intptr,intptr)
in <0x00000>
in (wrapper managed-to-native) Gtk.Application:gtk_main ()
in <0x00007> Gtk.Application:Run ()
in <0x00903> SharpMusique:.ctor (System.String[] args)
in <0x00043> SharpMusique:Main (System.String[] args)
Muhaha. Fixing this was rather trivial, but it left me with a foul taste for the way SharpMusique was grafted onto the iTMS’s architure, and there’s two other albums I wanted to buy but couldn’t because of this misfit phenomenon – I’ve emailed Jon with my patch and some sample data of non-working albums, perhaps something’ll come of it. There’s still the annoyance of converting the three albums I downloaded today into MP3s or something equally useful. amaroK and the MP4 plugin for XMMS don’t support the M4A metadata – in fact, I haven’t yet found a Linux tool to handle M4A metadata at all. At the moment, the best choice seems to be converting these files to MP3 and retagging them by hand, but that’s not really satisfactory – one of my requirement for a pay-music solution is that it ‘just works’, and honestly, we had that down pretty well when there was only MP3 to pirate from Napster…
The next alternative I’m considering is allofmp3.com, but their classical catalog seems less impressive than what’s on iTunes, and I’m not sure how to value their rather shaky legal position, either.
Ah, if only I felt like doing something useful… I might even have gotten around to buying food for the weekend instead of trying to cultivate a taste for Chinese opera.
Posted in Personal by Thomas Themel on April 28, 2005.
Today, I was pleasantly surprised by Austria’s Ministry of Finance [DE] – only two weeks after filing two tax return forms, I found about EUR 1500 of income tax reimbursements in my bank account.
Initial estimates by both me and the guy I submitted the forms to were more in the range of two to three months for processing. I’m definitely impressed – might all the money that is thrown at "eGovernment" actually show some results?
Posted in Uncategorized by Thomas Themel on April 18, 2005.
Today, when updating my personal accounting, I tried to import my bank account data using the Perl client I built in part 1, and found it couldn’t login any more.
Upon further examination, it turns out that some helpful soul has renamed the fields in the login form from ‘verfueger’ and ‘pin’ to ‘yzbks’ and ‘jlkwd’, respectively. I’m really curious as to the purpose behind this. I don’t think it’s meant to discourage scripting, since that’s ultimately a futile exercise anyway, and they would probably have tried a bit harder if that’s what they had in mind, anyway. Also, I can’t imagine what added security this change would provide – if I wrote a piece of malware to pick up bank login data, I’d probably vacuum all content from https:// forms with password-type fields anyway, no matter whether the fields are called ‘pin’ or ‘jlkwd’.
I’m waiting to see if these names stay until tomorrow (I can envision a really lame scripting protection attempt that picks these field names based on the current date or something – if that’s what they do, I guess I’ll try the dual strategy of reverse engineering their algorithm and logging support requests for my failed logins every midnight :)) before uploading an updated version of the BACH client, the patch is rather trivial, anyway:
--- Finance/Bank/BACA/Client.pm 2005-01-08 23:25:44.000000000 +0100
+++ ../Finance/Bank/BACA/Client.pm 2005-04-18 22:16:48.000000000 +0200
@@ -48,8 +48,8 @@
JSBROWSER => "Mozilla",
JSOS => "Linux",
JSRESOLUTION => "1024x768",
- verfueger => $args{disposer},
- pin => $args{pin},
+ yzbks => $args{disposer},
+ jklwd => $args{pin},
timestamp => time,
) ;
Another issue that bit me when importing my credit card statement for March: their CSV export uses XML entities to encode period titles, and so the CSV field value for “März” is “März” – ouch. I reported this two weeks ago and got an acknowledgment the next day – I hope they get this fixed until next January…
Posted in Uncategorized by Thomas Themel on April 17, 2005.
Here is Eric Rescorla on AACS, the proposed new encryption scheme for DVDs.
It looks crazy to me. A separate encryption key for each player (instance, not manufacturer)? Serial numbers on each disc (instance, not release)? This will make both players and discs more expensive. I doubt it’s going to prevent piracy – if anything, it’s going to become a bit more professionalized since you might need to hack a hardware player or rip from your digital monitor’s feed or something. Whatever the plan, there’s no economically feasible way to watermark mass-produced pre-recorded media in this, and so there’s still no way to find out which player/disc was used to pirate a certain movie (which still wouldn’t help deter movie rippers, since they probably won’t require personal identification to sell a DVD). Even if there’s a way to find out which player (instance, mind you) was used to make a pirated copy, they’re hardly going to disable all instances of that particular product, since that’s going to massively piss off all the other people whose DVD player suddenly won’t play new movies just because someone in South Korea used the same model to rip a movie to the Internet. And if only that particular player is disabled, it’s probably trivial to repeat the hack on another instance – profits from pirated DVDs should be sufficient to invest the EUR 49 or something it costs to get a player for each movie released.
To me, this seems like a massive effort by the tech/content industry to shoot themselves in the foot. One of the major features of this is that it makes it harder to create unauthorized players – which helps the companies who make up this stuff, but probably hurts the overall market – I am pretty sure that the availability of cheap unlicensed DVD players generates more revenue through extra DVD rentals/sales than the licensing fees for authorized players would. Of course that’s different parties profiting, but I suspect that the reason behind the design is not a fairer sharing of profits, but rather control.
And this is where I think they’re stubbornly resisting market realities. Why the hell do these people insist on creating a heavily segmented market with region coding and differential release dates? Look, guys, like most of your customers these days, I’m on the Internet. I follow all the hype that you generate around a movie release or TV series when it hits the US. And then, I’m supposed to sit out the (sometimes month-long) wait until you see fit to release the same content for Europe? Plus I need to go to the cinema where there’s a per-head cost, no way to pause or rewind anything or choose the audio language, or watch it on ad-ridden television? Yeah, sure, sounds like a concept that’s worth sustaining your 50-60% profit margin.
I, for one, am a convenience junkie. If downloading a torrent is two minutes’ work while getting a legitimate copy involves either leaving my apartment or waiting a week for the Amazon package, I’m highly tempted to do the first. Money isn’t so much of an issue, though adjusting prices to obvious realities (serving me a torrent file isn’t going to cost as much as producing a plastic disc, packaging it and shipping it to me) would definitely help to get me in on the movie iTunes thing. However, I haven’t set my hopes too high – if the AACS mind set is any indication, I guess Sony’s idea of online movie business will include ridiculous DRM (can’t copy movie to laptop, can’t compress or burn to DVD), a proprietary client (Windows only, perhaps a Mac version) and prices and release dates much the same as for hardcopy DVDs (for a nice example of getting things (almost) right, look at EMusic – uncrippled MP3s, free re-downloading if you lose anything, very moderate pricing, fun-to-reverse-engineer proprietary download manager :)).
Another point: I’m not quite sure HD-DVD is going to be such a big hit. The DVD format is undeniably a huge success, but I see the reason mostly in some critical differences it provides over its predecessors. Major innovations from a user perspective include constant quality through digital reproduction, switchable audio languages and a hugely improved user interface for seeking through chapters/episodes. So far, HD-DVD looks to me like a higher-capacity version of a DVD, with no user-noticeable differences except perhaps better audio quality and video resolution. I suspect that this isn’t enough of an incentive to get most people to update their equipment or accept any more harassment (like the stupid can’t-skip-copyright-blather-and-ads stuff that authorized DVD players nowadays force on you), or another price hike.
Anyway, enough ranting, it’s not like I’m going to change the course of the copyright wars through it, and we’ll all see soon enough how things turn out. The most I can expect is that one day I can look back and point at this rather non-original analysis and say "See, I told y’all so!", or derive some humility from my total misappreciation of the situation.
Posted in Link Spam by Thomas Themel on April 13, 2005.
BulletML is the Bullet Markup Language. BulletML can describe the barrage of bullets in shooting games. (The storm of Progear, Psyvariar, Gigawing2, G DARIUS, XEVIOUS, …) There are many advantages for using BulletML.
Posted in Link Spam, Technology by Thomas Themel on April 11, 2005.
Believe it or not, until today I had a bookmarks folder titled "Blogs" that I checked regularly. Its contents weren’t that huge (3 sites), but it was still a bit annoying to go there regularly and check for updates.
Then, I stumbled across this post on the Sage mailing list mentioning RSSxl, which basically turns any URL into an RSS feed according to certain split criteria. It’s surely not perfect (I couldn’t figure out how to configure the permalinks, so on gmiatlich.net the <link> item is always for the poster’s profile instead of the entry’s permalink, for example), but I can finally get the vanilla blogs via RSS, too. See: gmiatlich.net RSS, esa://start RSS.
Now, if only people would keep their pages in proper XHTML and this thing was based on XPath instead of string splits…
Posted in Uncategorized by Thomas Themel on April 10, 2005.
Here is the one movie I’ve been waiting for, and you guys screw it up.
Guess I’ll just have to read the books again.