Thursday, April 14, 2011

Dasterdly DRM

It's been about 10 years since the fall on Napster, and about the same since the plague of "DRM" (Digital Rights Management) befell the world of men.

I was stricken with a small infection this weekend when I deigned to entertain myself with a romp in the blight stricken world of Dragon Age: Origins, during the April 9th weekend.
Upon clicking "Load Game" I was presented with a screen that basically said "You can not play your game with legitimately bought Online Content [I got the DA:O Ultimate package for my birthday] until you log in with the account you bought it with."

Problem was, I was already logged in, and logging in again, didn't do the trick.
I had been waiting all week for my free weekend time to enjoy some DA:O, and now some bug with the Bioware's DRM servers was stopping me from playing my 100% legitimately bought game. D:<

Thankfully, after about a good hour of using my crazy computer-nerd skills, I bungled together a simple workaround to play my game. -- Log Off my BioWare account --. Apparently when Bioware's DRM servers are down and you're logged in, you can't play. However if you're logged off regardless of the server state, you can go ahead and play all you want.

I'm guessing pirated copies work by running in logged off mode, or by disabling all the "RequiresAuthorization" values in the "~/Documents/Bioware/Settings/addin.xml" file to "0". Which is what I found out many other legitimate owners of DA:O had to do this past weekend, after I read about it on Slashdot.org (DRM-Broke-Dragon-Age-Origins-For-Days). The less stubborn or unlucky DA:O (and even some DA2) players had to go 3 days without playing any Dragon Age, all because of a stupid mistake on Bioware's part. I've also read that BW couldn't even tell there was a major problem going on because there are already so many bugs and calls coming in for DA support, that there wasn't even a noticeable difference in bug reports or complaints!http://www.blogger.com/img/blank.gif

The outage has passed for now, and I'm not really blogging to whine about how bad or stupid this whole little episode was, I thought I"d take some time to discuss (or at least divulge lots of info) the rise and follies of DRM - Digital Rights Management.

On the other hand, since this is already kinda long, and everybody has short attention spans (especially me), I'm just gonna post links (and maybe summaries) to a bunch of articles proving my point. (Otherwise, this blog will never get finished by my procrastinating-self.)


1. Retailer 'Good Old Games' says DRM drives gamers to piracy:
"Independent retro games retailer Good Old Games has spoken out about digital rights management, saying that it can actually drive gamers to piracy, rather than acting as a deterrent. In an interview, a spokesperson for Good Old Games said that the effectiveness of DRM as a piracy-deterrent was "None, or close to none."

"What I will say isn’t popular in the gaming industry," says Kukawski, 'but in my opinion DRM drives people to pirate games rather than prevent them from doing that. Would you rather spend $50 on a game that requires installing malware on your system, or to stay online all the time and crashes every time the connection goes down, or would you rather download a cracked version without all that hassle?""



2. Stallman: eBooks-Are-Attacking-Our-Freedoms:
"Free software guru Richard Stallman claims consumers should reject eBooks until they 'respect our freedoms.' He highlights the DRM embedded in eBooks sold by Amazon as an example of such restrictions, citing the infamous case of Amazon wiping copies of George Orwell's 1984 from users' Kindles without permission. He also rails against Amazon for forcing people to identify themselves before buying eBooks. His suggested remedy? Distributing tax funds to authors based on their popularity, or 'designing players so users can send authors anonymous voluntary payments.'"



3. Russian-President-Time-To-Reform-Copyright:
"While most of the rest of the world keeps ratcheting up copyright laws by increasing enforcement and terms, Russian President Dmitry Medvedev appears to be going in the other direction. He's now proposing that Russia build Creative Commons-style open and free licenses directly into Russian copyright law. This comes just a few days after he also chided other G8 leaders for their antiquated views on copyright."



4. Copyright-Law-Is-Killing-Science:
"Whereas copyright tends to focus on protecting artists' ability to make money from their work, scientists don't use similar incentives. And yet, her work is often kept within the gates of the ivory tower, reserved for those whose universities or institutions have purchased access, often at high costs. And for science in the age of the internet, which wants ideas to spread as widely as possible to encourage more creativity and development, this isn't just bad: it's immoral."



5. Patch-For-The-Witcher-2-Removes-DRM-Shortly-After-Release
"A little over a week after its release, The Witcher 2 is getting its first patch, and with it all versions of the game will now be DRM free. 'Our approach to countering piracy is to incorporate superior value in the legal version,' explained development director Adam Badowski. 'This means it has to be superior in every respect: less troublesome to use and install, with full support, and with access to additional content and services. So, we felt keeping the DRM would mainly hurt our legitimate users. This is completely in line with what we said before the release of The Witcher 2. We felt DRM was necessary to prevent the game being pirated and leaked before release.'"



6. Apple-Camera-Patent-Lets-External-Transmitters-Disable-Features:
sticks_us writes with news of an Apple patent application, recently published by the USPTO, for an on-board camera system that would include circuitry for processing external infrared signals. The data received from these signals could then be used to present information to the user of the device, or even to modify the device's operation.
"For example, an infrared emitter could be located in areas where picture or video capture is prohibited, and the emitter could generate infrared signals with encoded data that includes commands to disable the recording functions of devices. An electronic device could then receive the infrared signals, decode the data and temporarily disable the device's recording function based on the command. ... In some embodiments, a device may apply a watermark to detected images as an alternative to completely disabling a recording function."




We're in one of the those times (or even an "Era of Digital Revolution" as the historians may one day call it), where the waters are churning and new things are being churned out and old things getting sucked under faster than most people can keep up with. Even Weird Al can't make covers fast enough anymore these days, well, when he isn't bogged down be lhttp://www.blogger.com/img/blank.gificensing issues that is. While most of us are embracing the wondrous new http://www.blogger.com/img/blank.gifchanhttp://www.blogger.com/img/blank.gifges coming into this world, many can't keep up, let alone fathom what to make of it all, and are quite afraid and fearful of it all.

History and evolution has shown that those who can quickly adapt to change will survive and grow stronger, but those that can't, are left on the side, clinging to old fossilized structures that were once Anchors of Safety, but are now rusting away and falling apart, getting sucked down into the bleeding profit margin's of a raging whirlpool's dreaded depths. (yay analogies =p)[Anchor = DRM; Whirlpool = The Fail Zone; old fossils = old fossils;]

The winds of change are blowing and netizens such as ourselves now hold more power and access to vast reaches of the influential tides of the people of the world, and even the few yet wild radicals [read: LulzS3c; Anon] who know how to make explosive use of (some of the) powers available are actually only beginning to exert their influence, and make known, their positions and goals, to the weary dinosaurs that thought them naught but flies or paupers ripe for picking.

I believe that the many, the downtrodden, and even the forgotten, have long since grown tired of being held http://www.blogger.com/img/blank.gifhostaghttp://www.blogger.com/img/blank.gife by the few, the "deaf, blind and mute", but only recently have they learned of the capabilities of these new "tools" (combined with the will of the many, and not just the individual), that are now evermore available and accessible to us. However, it's not just those that are faraway, or unknown to us, that are making use of these "winds of change", but even recently. many of you and even me, signed a petition (via facebook or email) that actually made a difference, and stopped (for the time being) a thing like "Usage-based-billing" (i.e. excessive over charging to service providers and consumers alike for a service that's 25 times cheaper to provide for the supplier, to pay for a problem that could easily be fixed with only a fraction of investment.), which was something I didn't believe we could do until it happened.

I'm not much of a vocal activist, so I'm not going to tell you what to do. Just read and learn what you can, because there is so much you can do with even a little information, and then maybe you can add your own gust into the "winds of change".
And if my selected articles seem biased or one-sided, feel free to mention others in the comments section (I may even include it up here, if it's solid material).

So go forth and set sail, yet be wary of history and learn from it (unlike the music/tv industry did with recordable cassette tapes and VCRs a few decades a go), because it oft repeats itself. The foolish will folly and flounder many times, but the clever and keen will continue to flourish and fly free over the churning waters of the sea.

Friday, August 14, 2009

SQL says it doesn't like to be 'Squeezed'.

I just had my first experience installing SQL Server 2005 yesterday at my current "volunteer" job, and again at home. I had initially thought that after first installing Visual Studio 2008, that it would have already been fully installed along with it, but apparently VS 2008 can't see it's own locally run SQL Server, when I tried adding a database connection within the Server Explorer side tab.


After researching several help files and Microsoft MSDN pages, they all said I should download and install SQL Server 2005 (Express edition being the smallest and easiest). So I went and downloaded the "SQL Server 2005 Express Edition SP3" (the newest '05 express version I could find), and ran the easy to follow wizard.


However, on my home PC (both work and Home are XP 32-bit machines, just the work one is an old P4 w/ HT, and barely 512MB ram and 20GB HD. Home one is an Intel Quad-core Q6600, 4GB ram, over 1TB HD, with both XP pro 32 and 64-bit. ), I got an error when trying the installation wizard tried starting up the SQL Server service. The error message said check the Event Viewer's System log for details, but that was just a copy of the same message. Thankfully, the Application Error log gave me an answer saying that:
"The SQL Server service failed to start because the file: [~long SQL file name and address~] is compressed even though it is listed as uncompressed. This file must be deccompressed."
I compress my files often at home, so I guess the SQL files got flagged for compression by some errouneous scan in my daily disk cleanup, and squeezed down when they weren't supposed to be. It was easy to fix this, by just copy pasting the folder address (without the filename), highlight all the compressed files in the folder (in case they all needed to be decompressed), goto properties, click the "Advanced" button beside the "read-only" and "hidden" check boxes, and uncheck the "Compress files to save disk space" checkbox, and you're done.


To be thorough and safe, I also decompressed all the other files in the nearby SQL folders since there were only a handful of them, and the folders were flagged as un-compressed even though the files in them weren't, just as the error message had warned me they'd be.


After that, the SQL service was successfully started and the installation completed. I also didn't have to exit the install wizard while doing this either. There is a "re-run" button on the wizard page where I got stuck, so I wasn't required to start the installaion all over again.
Now going back into Visual Studio 2008, when clicking on the Server name tab while trying to add a database connection, my SQL Express server was finally listed (as "[computername]\[servername]"), and I was able to add the Server to my database connection list, even though I have yet to actually create any database files, diagrams, schemas, tables and whatever in the new database.


With that done now, I'll be off to design and create a database or two for this application that I'm working on, which I'll describe later. (A new project just for work, and the continuation of an old one at home.) Although now I'll probably have an awkward fear of compressing files on my PCs for quite some time....blahg... it's the birth of a new PC superstition. >_<

Friday, February 15, 2008

The Way of the Coder

Have you ever wished your code would just tell you how to fix it?
Perhaps in the future, they'll have debugging AI's that could talk to you and tell you just what your doing wrong with your code. Then again, witty programmers just might make them come up with new ways to declare your stupidity to the world every time you crash your program.

Well since it's still the bug-ridden present, I've been spending time, doing what programmers do the most: debugging.
Mostly integrating a debugging log, sensible exception catching, and editing out possible fault-points within my code. Of course, it all started out with just trying to figure out this one bug, but now that I've past that one, with a few new bugs, I'm exercising more caution to catch them before they can add to my woes.

Just thinking about all these preemptive safety measures, makes me wonder if I should also do some kind of exercises so I don't get carpul tunnel...*crack*...
or slow it down at least.

release version 0.3?.? (I'm not sure what to number a release made with just easy-to-read code and nice debugging messages.)
Custicon@andrew.raynier

Sunday, February 3, 2008

New platform for Open Source?

The past few days, I've been happily enjoying the pleasures of a gadget that has become quite hard to find in stores over the past couple of months. With the help of a local "gadget" vendor that sets up shop in the York Cafeteria, I've landed myself a brand new Nintendo DS. But this post isn't about high scores or fun games, because after doing some research on these "homebrew" applications and firmware, I found that along with software for storing and playing music, videos and text files (like e-Books), some of these "homebrewers" have enabled the use of the Opera web browser on the DS.

Now you could also order the official "Nintendo DS Opera Browser" online, but where's the Open Source in that?
From what I've read about this "Team Cyclops" developer crew, they managed this by using firmware that utilizes both of the game cartridge slots (each with slots within the cartridges to insert mini/micro SD memory cards multiple gigabyte capacity), to get enough room to install and run the browser with the memory-eating firmware running at the same time.

More specifically, the memory card expansion slots (that can take either any MicroSD or MiniSD camera memory card) that allow (so far) anywhere from 1GB to 32GB of memory to be stuck into a DS, opens up the possibility of getting Firefox and other Mozilla applications to run on another very popular (and relatively cheap) handheld system. Some of you are probably perfectly happy with your Blackberry handhelds and whatnot, but for "economically challenged" people and students, this may be the shining answer we've been looking for to satisfy our need for more affordable portable Open Source computing entertainment.

Number wise, a DS costs about $130, and depending on the homebrew developer, a cartridge with firmware costs about $50 on average. Then if even paying for the firmware is too much, one group of developers (albeit the unpopular ones) have made their firmware code Open Source. Unfortunately, the other homebrew teams (that' I'm aware of so far) are still relying on the funds from selling their firmware, to pay off their own "economical challenges". In comparison, your average Blackberry lists at over $300 with 2-year service plans going for about $150 (if anybody knows much cheaper prices that still let Firefox work, please tell me), which doesn't look friendly at all to Open Source wallets.

I won't even bother with going into laptop prices, if only to spare myself from another "large-digit" induced depression.

Looking back on the optimistic side of things, wouldn't it be wonderful if we could spread the development of Firefox and Open Source in general, to the millions of young (or young at heart) minds that spend their usually unproductive hours, tapping away at their handheld games? With already versatile features such as WiFi connectivity and text reading and writing (through homebrew apps), I will be dreaming pleasantly of the day when I can connect with people not just with games, but with my own extensions (or other Open Source software) on one little versatile handheld device.

...Now if only I could find those watches that can do video calls. (futuristic Dick Tracy watches anybody?)

--View Andrew's project work at: OSD700-> Favicon Extension

Friday, December 14, 2007

Something a little better

Just for convenience's sake, I'm putting a link up here for my extension that now actually installs properly.
(Yeah I know, I should've fixed that a while ago. But at least it's better late than never.)

Custicon@andrew.raynier.xpi

The code's improved too, although I can't seem to find a workable solution to get images to load in both Firefox 2 and 3. The new Favicon Service for FF3 is still be worked on (The API isn't finalized yet, and there's a lot more of it undocumented).

Tuesday, December 11, 2007

Contributions

So earlier this week, I contributed to Simon Jung's project by sending him a list of extensions and their Id's for him to use in testing out his Metrics Server Collection. I think Simon's done quite well with such a large component to dig through and test.
You can check his project out over here if you're interested.

Simon was also very helpful to me in contributing to my project by giving me a lovely package of Favicon images (*.ico files) to use in testing out and as an addition to my extension file bundle. Although what I really appreciated from him, was a link to Cathy's extension files to use in contributing to her project, from his blog. Mainly because I had been looking to contribute to it, but her blog, wiki page, and even the project description don't have any links or real information on the canvas3d project.

Well anyways, I managed to download the canvas3d.xpi for minefield, but unfortunately it only works with specific version of Minefield(3.0b1), and mine wasn't one of them (3.0a9pre?). So I went and downloaded and built myself a 3.0b1 version of Minefield (took about 2 hours on the open lab PC), and got the xpi to install. Lucky for me, Simon also noted in his blog the simple images I needed to use to test out this extension.

....after struggling with several failed attempts to get the images to show, only know as I type this, do I realize (after reading through extension errors) that I needed to compile the build as a Gecko project, and not a Browser one.... alright then... back to the salt mines... (ugh, I wonder how many more hours that'll take to compile).

However, assuming I do get all this actually working... there aren't any instructions on what to do with the extension once I do get it working, or a project page I can list my contribution on.
Oh well, I guess as long as I post about it here for Chris to read, that will hopefully be enough.

Sunday, December 9, 2007

OSD600 Course Classroom discussion

During our class discussion about this course and the CPA program, I was really intrigued to learn how others felt about the way they were taught, what they had been taught, and the things they still wanted to learn about.

After reflecting a little on what was discussed, I grew curious about what every body's high school (or pre-Seneca) Computer Programming lessons/experience was like. Namely because I think my own previous classes seemed to give me some additional insight and view of the outlook on how most of the classes at Seneca fit in to what we would need to work as a programmer.

I was lucky enough to have a few real computer programming classes when I was in high school. I got to learn how to program in Turing, VB, and Java. Although that's not all I was taught. One thing i wish we did at Seneca, is have little interactive class programming sessions in a lab, where the teacher gives coding challenge to the students (ex. do operation in this many lines; or how do you do operation with only this/these functions?), and lets them hack at it for a part of the class. Then after the allotted amount of time, the teacher writes his answer/version up for everyone to see, and they compare and explain what the students did and how it works.

That was one of the interesting and apparently unique things that I got to do in my High School (Thornlea S.S.), but I also liked learning how to write pseudo code to plan out programs and algorithms on paper, so I could code programs an the like.

I wish Seneca would've had lessons like that in CPA, cause I've met so many students who always seem so lost or frustrated when trying to program. Learning how to program with or without pre-made code (although with specifications for the structure should be used with at least 1st years, if not 2nd) and knowing the difference between good and bad code (as well as how to make it) should be essential foundations for Student's programming knowledge at Seneca.

...and that's my little addition to CPA program discussion.

Saturday, November 17, 2007

Favicon Extension Release v0.2 (skeleton)

It seems that the farther I get with this extension, the harder it gets to stop it from crashing and run the way I want it to.

Unfortunately, the current stage of progress I'm at, is not one that leaves me with a working extension.

I'm currently working on an overlay to create some anonymous content within the tabContextMenu (The menu that pops up when you right-click on a tab), but the code for that stops everything else from working.

So I've commented that part out for now (in the firefoxoverlay.xul file), and I've managed to just get the command in the Tools menu and the contentContextArea menu (web page right-click menu) to go back to showing an alert when clicked.

Getting XBL bindings to work with prompt and Favicon services has got me up against a very hard and big wall, at the moment.

Hopefully a new tutorial site I've found (xulplanet.com) will help me to incorporate these two parts of FireFox properly.

For now, my files are uploaded onto the wiki at : http://zenit.senecac.on.ca/wiki/index.php/Image:Custicon.xpi

P.S.: I also wasn't able to properly build the xpi, since my current work environment doesn't want to run bash scripts, so it won't install automatically. However, all my extension files are there to look at.

Wednesday, November 14, 2007

Hackergotchi - test

Well after getting some advice and tips from a graphics design student, I've been able to create my own Hackergotchi. I inserted the link into the blog feed back on zenit, so now I just have to see if it will show up when I post a blog. (it hasn't shown up on my old posts on the blog planet.)

Maybe this will be one of the those super-rare instances when something will run just right after the first time you "build" it. :)

...or not. Maybe Chris has to update the feed himself?

Friday, October 12, 2007

Lab Crunch time (makefile lab)

During the past few weeks, I had been too engrossed in getting my Mozilla build working (and all the SDK software) working on my Windows 2003 Server system. Sine I've finally gotten myself through all that now, I've gone into Crunch mode to get all the subsequent labs (which I postponed for my build) done.

Well, technically I was supposed to do the makefile lab before the build, but it didn't seem as essential to the course at the time. But now that I'm doing the lab, I've noticed that I couldn't find any blogs on this one at all (I'm pretty sure I went through 98% of the individual blogs listed on the planet). The resources listed in the lab were useful in getting a makefile created though, but I appear to be having a very unexpected problem doing this on a lab PC.

The MSVC8.bat build environment doesn't recognize the 'cc' command!

Not knowing any other c compilers to use in that environ, I switched to running make using just the command prompt. Unfortunately, it didn't recognize 'cc' either. However, using $(CC) in my makefile instead of 'cc', it brings up the default compiler for the environment, which is Borland C++ for command prompt. Frustratingly, Borland went looking for .cpp source files to compile instead of nled's .c source files. Another brick to the head.

Switching back to the labs suggested build environ, now using the $(CC) command in my file instead, somehow still calls 'cc' for a compiler, even though I still get the error: "make: cc: Command not found"

Looking through the makefile examples I've found online, I'm fairly convinced that my makefile would work if not for this "command not found" error.

So for now I'm off to fill my depraved stomach, and then try out the other labs, until I can find an answer to this problem.

- Andrew R. (JM)

P.S.: Does anybody know how (or someone who does) to create a Hackergotchi in Photoshop (or some other lab default image editor program) instead of the strange one that is used in the link which Chris's "Hackergotchi how to" blog points us to?

Thursday, September 27, 2007

Build Errors

After over a week of just trying to get Visual Studio 2005 installed (due to a faulty CD), I've finally been able to get down to one of the last steps in making my build. This time I've been stopped by the build error "C compiler cannot create executables.", which hits me a few seconds after running the command "make -f client.mk build MOZ_CO_PROJECT=browser".

I found the error listed in the Mozilla Build FAQ, and it says to run vcvars32.bat to get the PATH variable set up, because I need to have all the necessary directories listed in the PATH var for this build to work. Unfortunately it doesn't say what all the necessary directories are. :(
Or why my build still doesn't work after running the vcvars32.bat file.

Does anybody happen to know a solution for my problem, or maybe someone who might?

update: Thanks to some classmates, I found out Visual Studio 2008 doesn't have the kind of C compiler that mozilla looks for. But quick download of Textpad (my old favourite text editor), fixed that and statisfied mozilla to successfully complete the build.

Now all I have to do is all those labs. >.<

--(running out of time) Andrew R.

Wednesday, September 19, 2007

Revolution OS

Watching this documentary helped explain a lot of things to me about Linux and Gnu since I've never really touched anything but Windows. I finally learned what the relation between Gnu and Linux is, and even heard the proper pronunciation of "Linux" from the mouth of the creator himself.

One thing I don't think I'll be likely to forget anytime soon, is the unique ending to this documentary..... A group of hackers singer and playing a song about Open Source.
I can't say they were actually bad, but you sure won't see that song on my play list...hopefully ever.

- The Cathedral and The Bazaar

Although reading this article took a while longer than watching the movie, I found myself constantly agreeing, disagreeing, and reanalyzing Eric's points over several times. For the most part, I agree with the "Bazaar"'s approach and method of constantly sending out code and getting feedback on it, to be an effective way to get things to work the way people want them too.

On the other hand, from a scientific viewpoint I find it hard to believe that Eric Raymond's "Fetchmail Project" qualifies as a proper and thorough testing of Linus Torvald's approach for programming Linux with the hacker community. Granted that it would be nearly impossible to duplicate the creation of an Open source OS, since the need for one and the community has already been mostly taken up by Linux, I don't think that just working on one mail forwarding program with an open source community (even if it did become a niche filler) is what one can call "thorough testing and experimentation" for proving the effectiveness of programming with an Open Source community.