Thursday, December 29, 2005 - 10:19

C# Express

So I've just installed the new Visual C# Express.

It wasn't as easy as you might think, since I first had to uninstall Beta 2. What they don't mention (although it's fairly logical, if I'd taken just 2 seconds to think about it) is that you should uninstall VS and SQL Server *before* uninstalling the framework. And if you do it the wrong way round, it's then a bad idea to try to just delete the rest of SQL Server manually. Trying to install the new SQL Express on top of this mess doesn't work - nor does reinstalling the old framework and SQL Server! Eventually I did a search on google and found a tool to clean up a SQL Server installation, ran that, reinstalled the old version (which still came up with errors, but luckily nothing that would stop me uninstalling it), uninstalled the old SQL Server, uninstalled the old framework, then reinstalled the new framework, C# Express, and SQL Express.

So after all that, I haven't really had much time to use C# Express, although I did open one of my small VS2005Beta2 solutions and it compiled fine. I have noticed a couple of things, though:
  • SQL Server Express (on the Ready Launch CD, and on the C# Express CD) is just the server. You have to download the equivalent of Enterprise Manager/Query Analyzer (called Microsoft SQL Server Management Studio Express, or something like that) separately, which about another 30Mb :-(
I know that Visual C# Express is a cut-down version of VS2005 "for students and hobbyists", but I didn't (and still don't) know what that really means. Is the IDE a subset of the VS2005 IDE, or is the language/compiler not complete? Visual Studio started the process of confusing the distinction between the language and the IDE - unfortunately the express editions are just making it even worse. I haven't really had time to investigate the language/compiler features (and seeing as 2.0 is new to me, it might be really hard to do that even if I had VS2005 installed to compare to), nor I have I played with the IDE much, but here are a couple of IDE things I noticed right away:
  • fewer customizations options; for example, I can't set whether or not I want to see the start page (as opposed to a blank solution, or my last solution) when I start VS. You can set a lot of visual options (colours, indenting and other formatting), but no project or solution options (such as your default project folder) or international settings. Some of the more advanced compiler options are missing as well.
  • There doesn't seem to be support for source control.
  • You don't seem to be able to attach to a running process.
  • There doesn't seem to be an add-in manager - does this mean that you can't install things like testdriven.net, or compuware's devpartner profiler?
I'm sure there's a lot more missing as well. Quite possibly these are things that a hobbyist or student doesn't need, so I'm not necessarily criticising their absence. But for someone like me who uses the full edition at work, but wants to be able to code their own projects at home using C# Express, it's important to know the differences between them. If only to know the lack of which features will drive you insane :-)

Update:
I've just installed testdriven.net, so I can confirm that it does work with C# Express. Yay! And they've added some cool looking features, like ad-hoc tests (just right-click on a method to test it!).

Update:
I haven't really used C# Express much since I installed it, but lately I've been doing some coding. I can't really comment on .NET 2.0, but from an IDE point of view, I'm ambivalent about C# Express. For one thing, I can't get the colours quite right, but that's just me. I really don't like that you can't edit a file while debugging; sure, there's edit and continue, but you can only do that while execution is paused. What I often do is notice a problem, and leave the program running while I make a quick edit to the source. I don't mind that it will only take effect after I stop execution and recompile; the important thing to me is to get the change made while I remember what I need to change. So that's one thing that bugs me.

The rest of it's okay - better than VS 2003, but worse than VS2003 + resharper. Refactoring really doesn't work well, and there are a bunch of little things that just don't feel quite right. If it weren't for the new features of .NET, I wouldn't bother to upgrade the IDE.

Labels:

Tuesday, December 20, 2005 - 21:14

Why DRM is Bad

With all the publicity over Sony's rootkit lately, there's been a lot of discussion about DRM - whether it's always bad, or sometimes justified, and how far it should go (especially with the advent of things like Trusted Computing). While most people seem to agree that Sony's tactics were terr ibly, horribly wrong, regardless of their opinion of rightness of the DRM, I'm worriedthat the focus might shift from "DRM is wrong" to "rootkits are wrong", and that DRM that doesn't make use of rootkits will somehow become acceptable simply because they are better by comparison.

So I decided to write this article about why DRM is bad, regardless of the particular mechanisms used to enforce it. I think that we can all agree that badly implemented DRM, installed whether or not you click 'cancel', that leaves your machine open to malicious attacks is bad; what I want to get across here is that well implemented, polite DRM is still bad. I'm trying to focus on definitive statements rather than general vague anti- (or pro-) DRM opinions; and while DRM and piracy are obviously closely connected, I'm not going into piracy issues. Musicians, production companies, and everyone else involved in making a CD (down to the company that prints the artwork) all deserve compensation for their work; the relative proportions and the resulting overall costs are something that I'm not qualified to judge. All I can say is that a different business is clearly needed, and I don't think that slapping DRM onto the existing business model is the way to go.

Note that most (if not all) of these ideas are not mine; I've culled them from various sources, mostly Bruce Schneier's blog. I've tried to include individual attributions, but note that these may be paraphrased. Feel free to mail me if you feel that I've misquoted anyone, and I'll do my best to correct it. The bits in italics are me.




DRM is ineffective:

Any DRM scheme is inherently circumventable, since there is always "analog hole" (Ian Woollard, amongst others [1]). What this means is that you can always capture the analog output when you play the media using the DRM-enabled player, either using software like FreeCorder, or by simply recording the output using an external device (like people who record a cinema movie on a digital camcorder). Obviously this is time consuming, and quality may be lost in the process, but this can be minimized.

This point is reiterated by another poster: the real purpose of DRM is not to prevent piracy. There is always the analog hole. All it takes is for ONE competent person with good audio equipment to make the conversion and it can spread throughout the world in minutes. It's the spreading that needs to be stopped in order to prevent the piracy. DRM does nothing to stop the spreading. (Lyle [1])

The economically significant piracy cannot be stopped by any sort of DRM for which there has been any public knowledge. It's done in large modern plants in remote corners of the world which can turn out thousands of copies of optical media an hour. No DRM measure to date has even slowed them down. (WW [1])

Now analyst house Gartner has discovered that the technology can be easily defeated simply by applying a fingernail-sized piece of opaque tape to the outer edge of the disc. This renders session two — which contains the self-loading DRM software — unreadable. "The PC then treats the CD as an ordinary single-session music CD, and the commonly used CD 'rip' programs continue to work as usual. Moreover, even without the tape, common CD-copying programs readily duplicate the copy-protected disc in its entirety," Gartner (which is at pains to say it doesn't endorse the use of rip technology) explains. So Sony's DRM technology is not going to prevent tech-savvy home users - much less pirates - from copying CDs to their heart's content even though it loads "stealth" software onto the PCs of the less informed. "After more than five years of trying, the recording industry has not yet demonstrated a workable DRM scheme for music CDs," Gartner concludes. [2] Again, it's just harming or inconveniencing your average Joe on the street, the legitimate user who actually pays for his music, and not stopping the even vaguely technically savvy pirate.

Tech-savvy fans won't go to the trouble of buying a strings-attached record when they can get a better version free. Less Net-knowledgeable fans (those who don't know the simple tricks to get around the copy-protection software or don't use peer-to-peer networks) are punished by discs that often won't load onto their MP3 players (the copy-protection programs are incompatible with Apple's iPods, for example) and sometimes won't even play in their computers.
Conscientious fans, who buy music legally because it's the right thing to do, just get insulted. They've made the choice not to steal their music, and the labels thank them by giving them an inferior product hampered by software that's at best a nuisance, and at worst a security threat.
As for musicians, we are left to wonder how many more people could be listening to our music if it weren't such a hassle, and how many more iPods might have our albums on them if our labels hadn't sabotaged our releases with cumbersome software. (Damien Kulash [6])

DRM violates fair use and fair dealing:
Music, movies, and software are the most common consumer IP purchases so I will use those as examples. When you purchase one of these products, you have the right to make personal backups. You have the right to let friends listen to or view the content you purchased. You have the right to let friends use your software on your computer. You also have the right to use this IP on any make or model of hardware that is capable of accessing the content you purchased. DRM can and is being used to remove some of these rights from consumers and it is for this reason that DRM on IP is a bad thing. (Jimmy Palmer [3])

DRM kills fair use (time shifting, quoting, etc...) and kills the right of re-sale (NathanB [1])

The real purpose of DRM is to circumvent the existing laws which allow personal recordings. To stop you from making a copy of your best friends CD - something that is legal in most countries, I believe. (Lyle [1])

More legally significant may be that, to the limited extent they work at all (preventing misuse as defined by the suits and attorneys), these DRM measures forcibly interfere, on a programmed and inflexible basis, with existing rights. Fair use allows for personal copies for backup purposes, for transfer to other media of the purchased content (ie, to an 8-track for playback in the car), and so on. No DRM thus far recognizes any of this. (WW [1])

A fair-use argument for DRM:
Regardless of your politics on the matter, the fact remains that content owners have, under US and International law, the right to control the distribution of intellectual property which they own. What is needed is a way for content owners to control how many times their content can be backed up and how they can allow fair use while at the same time disallowing the rampant piracy that happens today. Microsoft’s DRM technology facilitates all of this as does that being touted by its competitors. (Dave [1])

Counter-Argument:
Fair Use isn't codified into law. So "what is considered" is REALLLLL different depending on who you ask. Perhaps not surprisingly, Sony consideres it a lot more tightly than I do.
I would also make a comment along the lines of "This Sony saga shows that DRM software is inherently untrustable, and means that you have to install software with unknown functionality and reporting techniques" - but then that's true of any closed-source software that you install, not least your operating system. (Don [1])


DRM takes away your control:
Many people will argue that their DRM scheme is fair and they can do whatever they want with the content they purchased. Their DRM agreement allows them to burn X copies to CD and they can authorize X computers for use. What most of these people do not know is that their DRM agreement also says that any or all of these rights can be revoked at any time. Another thing that most of these people do not know is
that they do not actually own the digital copy for which they just payed 99 cents they are being allowed to use this content so long as the IP owners allow. (Jimmy Palmer [3])

Microsoft is not a content owner. I expect my operating system vendor to be looking out for my best interests, and not for the best interests of content owners. Or do you really not mind if the company who sells you a lock for your home door also gives a copy of the key to media companies, so they can more easily control the distribution of their intellectual property? (Bruce Schneier [1])

A very senior Microsoft employee has given a statement to the press disavowing Sony's use of technology that takes control away from users:
"A personal computer is called a personal computer because it's yours," said Andrew Moss, Microsoft's senior director of technical policy. "Anything that runs on that computer, you should have control over."
I could not agree more! Unfortunately, Microsoft's whole current business model is built around systems that take control away from users (See, for example, EFF's Seth Schoen's excellent four-part report on Microsoft's new trusted computing/rights management program, which treats the computer's owner as an attacker and works to shut her out of her own system).
I wonder if this is Microsoft's new official policy -- will they include owner override (a proposal to let computer owners override trusted computing) in their trusted computing plans? (Cory Doctorow [5])

DRM reduces your choices:
Piracy is a smokescreen for the real reasons for DRM: vendor lock-in (once you've bought a bunch of DRMed iTunes songs, you're not likely to buy anything else but Apple hardware that uses that DRM.) (NathanB [1])

This exposes one of the things about DRM that most people miss: it doesn't really matter what permissions a given DRM grants or prohibits (as fun as it might be to point out the absurdity of a DRM that keeps you from listening to your own music). The important thing about DRM is that it gives the company or consortium that controls the DRM control over who can use the DRM.
So Apple can make an iPod and shut Real and Microsoft and Sony out of it. Napster can make a subscription music service and shut Apple out of it. And so on. (Cory Doctorow [7])

If you don't like the conditions a vendor puts on the his/her product, nobody is forcing you to buy it. (Dave [1]) Well, that's true *if* there are other options. But where a specific artist is locked into a specific label, which uses a specific DRM - well, you don't have anywhere else to buy it from, do you? And yes, in theory you could just do without it, but it make for a very boring world. Again, in theory, if no-one bought DRMed products, economic pressure would force them to sell non-DRM products, but I don't see that happening - if only because, DMCA or no DMCA, people will buy DRM products and unDRM them themselves .

There's a whole article on backwards compatibility on the DRM Blog - it's well worth reading in it's entirety, but here's my favourite paragraph: "Content owners want us to buy DRM'ed music not just because they think that the DRM protects their assets. They want DRM on their content because it forces consumers into a Walmart-style brand of consumerism in which we truly consume the product; we use it a few times and we throw it away, because it's cheaper just to buy a new one than to actually buy the higher quality, longer lasting item."(Ginger Cox [4]).




This is just a small sampling of what I've come across on the subject, and that in turn is a small subset of what's out there. If you're at all interested, I recommend you do some more searching on the subject, because it's just getting Unauthorized lyrics sites are being threatened - a lot of activities that were okay when it was done by hand are now somehow not okay because it can be done large-scale over the net. Which is why I say that the business model has to change. There is even talk about closing the analog hole
by forcing "devices (consumer electronics, computers, software) manufactured after a certain date respond to a copy-protection signal or watermark in a digital video stream, and pass along that signal when converting the video to analog. The same goes for analog video streams, to pass on the protection to the digital video outputs" (via BoingBoing) This article ("RIAA Bans Telling Friends About Songs") is currently a joke - but it doesn't seem too unlikely.
The world is changing, and we need to help shape it into one where fans aren't treated like thieves and everyone is compensated for their work and everyone lives happily ever after :P




[1] http://www.schneier.com/blog/archives/2005/11/sonys_drm_rootk.html#comments
[2] http://www.theregister.co.uk/2005/11/21/gaffer_tape_trips_up_sony_drm/
[3] http://www.drmblog.com/index.php?/archives/79_ERM_Follow-Up.html
[4] http://www.drmblog.com/index.php?/archives/75_DRM_and_Tech_Mortality_Rate.html
[5] http://www.boingboing.net/2005/11/21/microsoft_trusted_co.html
[6] http://www.boingboing.net/2005/12/06/musician_drm_screws_.html
[7] http://www.boingboing.net/2005/12/05/sony_rootkit_ripped_.html

Labels:

Monday, December 19, 2005 - 09:17

Festive Google

So apparently Google's hidden some Christmas easter eggs - by searching for certain terms, you get a christmas-decorated page.

If you're in the US, that is.

If you're not, apparently you don't celebrate Christmas and don't rate the decorations.

Using google.co.za, I don't get any decorations. Using google.com, I still don't get any decorations.

Which means that even though I'm using google.com, google is still tracking my location and 'customizing' the search results for me.

This is not what I want. If I'm searching from google.co.za, then it might be okay. But surely google.com should be the same for everyone? Localization can be a great tool, but it can also be an exclusionary tool.

As I mentioned in an earlier post, I used to be very pro-Google, but now not so much. And I see that they've further compromised their integrity via their deal with AOL - "Google, which prides itself on the purity of its search results, agreed to give favored placement to content from AOL throughout its site, something it has never done before," reports the New York Times. (via The Register).

Labels:

Saturday, December 17, 2005 - 10:38

GMail Mobile!

Finally GMail has launched GMail Mobile, so that you can access your gmail account from a cellphone.

I've been using gmail lite to do this, but I've never been really happy with it - I wasn't sure of the security, given that it's going through a 3rd party app, and I could never figure out how to actually read my email. I could see my inbox, and see who the emails were from, but not the subject line or the contents.

GMail Mobile solves all this - you can read, star/unstar, archive and read archived mail (all or by label); you can send new emails, you can do pretty much everything you can do via web gmail except (as far as I can tell) apply labels to emails, and send out invites.

The only problem I have with it is as much a problem with my phone (a Motorola v300) as with gmail. The url is http://m.gmail.com, but you get redirected before ending up on the login page, and at this point the url is really long and has an even longer query string attached to it. Now on my phone, there are 3 ways to store a url: set it as the default page to go to when you open your browser; enter it in the "go to url" field - next time you choose "go to url", it'll remember the last url you went to, although of course if you then change the url you'll lose the previous one; and bookmark it by holding down the menu key when you're on the page.

Method 1 is okay, but not great, since it doesn't appear in my list of links. Method 2 is pretty crummy, since I'll lose the url if I want to enter another one. Method 3 would be the best, and is the way I normally do it, but the phone only supports urls up to a specific length, and of course by the time I get to the login page the url is now too long.

So the phone is at fault, for not letting me manually enter a url into my web shortcuts list. But gmail is also kinda at fault for munging the url so much before you even get to the login screen, given that it is supposed to be a mobile service.

But other than that, gmail mobile is exactly what I've been looking for since I realised I could use gprs on my cellphone :-) Now if only msn would create msn messenger mobile, and I could get away from using a 3rd party app for that too.....

Labels:

Friday, December 16, 2005 - 21:14

Officially off to London

It's been a while since my last post, but that's just because I've been really busy.

For one thing, I've been working on an article about Why DRM Is Bad, which I'll hopefully post sometime over the weekend. I've also addded Trackback support, via HaloScan - which taught me a lesson about how important it is to have a local backup of your blogger template :-(.

For another, I've been going through my old Winnie The Pooh site, which I don't really maintain any longer, removing dead external links (or rather, replacing them with links to a page explaining that I'm not maintaining the site any more). This is a major mission, since I have to manually edit each one of the many, many pages in the site - the very reason that I'm not maintaining the site any more! My new post-processing template page generator approach that I'm using for my new site should avoid a lot of these issues in the future; more details here and here if you're interested. My solution works for me; but I'm sure that this is a really common problem and big sites must have a way to deal with it - imagine if Amazon had to manually update (or even via a script) every single page when they change their standard header! But then again, I guess it could be done fairly easily in something like asp.net, if you have a host that can handle that.

But a big reason that I haven't posted much lately is that there's been a lot going on that I didn't want to mention in public - but I have now officially resigned from my job, so it's okay to talk about it here! (Wouldn't want my boss to read about my plans here before I told him in person - that would be, at best, rather rude :P)

I resigned a bit early, but it's a bad time of year to try and get hold of people. My last month will be January, and I decided that I'll take February off to get things organised, and then I leave for London on 8 March! I plan to go for about a year; I'll come back earlier if I'm not happy there, or stay longer if I love it. There's a lot to get done - millions of change of address notifications (luckily I can just reroute everything to my parents' house); I need to sort out my financial planning stuff (I don't want to be paying a fortune on, for example, life assurance policies that won't pay out if I'm out of the country); and I have so much *stuff* that I need to throw away, give away, sell, put into storage, lend out to family until I get back ... it's daunting just thinking of it all. My lease on my flat ends at the end of Feb (and that's another saga that I was just too busy to post about), so I need to get everything cleared by then; I'll spend the last week at my parents' house, and then I'm off.

The amount of stuff to do is daunting - and that's just the stuff on this side, never mind the amount of stuff to do when I get there, like find a job and a place to stay (although I'm staying with a friend when I get there, so at least I won't be lost when I get off the plane :-) and open a bank account and register for tax and all the other stuff I haven't even begun to think about yet! But I'm starting to get excited about it now - resigning has lifted a huge weight off my shoulders, and I couldn't really look forward to going until I'd got that out the way. And sure I'll miss my family here, and I know that they'll miss me, but still, it's exciting :-)

Labels:

Friday, December 02, 2005 - 22:26

Weird Electronics Problem

Something freaky is happening at my house.

Tuesday evening I was watching TV. Later, I switched the TV off, and switched on my laptop on AC power - it just didn't even see that the ac adapter was plugged in. So I carried on until my battery ran down, and Wednesday I phoned Dell for a replacement. But also on Tuesday night, my cellphone, which was plugged into my laptop, went screwy - the external lcd display got all jumbled up, and it rebooted itself.

Wednesday evening, my TV wouldn't work. Each channel was really snowy, as if it was badly tuned. Later, totally bored, I switched on my laptop, fiddled with the power cable (figuring that maybe there was a break in the cable), and tada! it worked.

Thursday Dell delivered a new ac adapter, and in the evening the laptop charged fine. The TV was fine too.

Friday, TV was off-station again, and my laptop wouldn't see the ac adapter again! Running on battery, with the ac adapter plugged in, and with my cellphone plugged into the laptop - and my cellphone's lcd display went screwy again.

Plugged a bunny-ears aerial into the tv (it was plugged into the complex communal aerial), and the picture got much better but not 100%.

This is really weird. It could be coincidence, but it seems as though someone got some new electronic equipment or something that emits some kind of electrical/electromagnetic field that's disrupting my electronics. That seems far-fetched, and it's odd that my laptop is working fine apart from the ac adaptor, but I can't think of anything else that explains everything. Apart from a really odd set of coincidences :-( Question is, what on earth can I do? I can't go on with a tv and laptop that sometimes work and sometimes don't!

Update: As you might expect, it was just a weird series of coincidences. The TV problem was because the communal aerial cable comes into my neighbour's roof and then splits off from there; he didn't know this, and was yanking cables left, right and center :-( The laptop charging problem seems to be that the ac adapter socket on the motherboard is loose (Dell's sending a tech out tomorrow - their service is pretty good, but for a 6 month old Latitude D510 it's not exactly a good advert for the quality of their laptops). I suspect that the cellphone display issue was linked to the charger - I think it only happened when the cellphone was plugged into the laptop, and if the socket was making intermittent contact it may have cause a power spike or something to the cell. So there's a perfectly mundane explanation; but I still think the timing of it all was strange!

Labels: