Archive for June, 2008
The Conservative view on Bill C-61
I just thought I’d post this form letter I recieved from the local conservative MP:
Dear Mr. Laing,
Thank you for your recent e-mail which expressed your concerns regarding amendments to the Copyright Act.
After careful analysis of existing legislation and consultations with stakeholders, our government introduced Bill C-61 which will amend the current Copyright Act and bring it in line with advances in technology and current international standards.
These amendments were much needed and long overdue. It has been ten years since the last major reform of this important legislation. In that time we have seen nothing short of an Internet revolution and major advancements in technology.
In today’s technological environment, strong copyright law becomes even more important both to ensure the rights of those who hold copyright are protected and to ensure that users have access to copyrighted works. That is why our government has made every effort to ensure that the legislation strikes the right balance between creators, rights holders and consumers.
For creators and rights holders, people who work hard to use their talents and abilities to create things, the Copyright Act provides protection over the communication, reproduction and other uses of their work while ensuring they are fairly remunerated for their efforts.
For the average consumer, Bill C-61 means you will now be able to record television shows for later viewing(time shifting); copy legally acquired music onto other devices such as MP3 players or cellphones; and make backup copies of legally acquired books, newspapers, videocassettes and photographs onto devices you own(format shifting).
The Bill also provides exceptions for different categories of users by permitting teachers, schools, public libraries, archives and museums to make copies of copyrighted materials for educational purposes.
Should individuals find themselves in violation of copyright infringement, the Bill provides protection from massive lawsuits for individuals who find themselves in violation of copyright infringement for private, non-commercial use. In this regard, exposure to liability is limited to a fixed amount of $500 provided that the material is not protected by a technological measure(TM or digital lock).
Ensuring that artists, consumers and providers of digital technologies are protected and that copyright is respected will in the end promote creativity, innovation and competition in a digital, knowledge-based economy.
I understand your concerns and want to assure you that over the next several months our Government will continue to consult with Canadians to ensure the legislation balances the rights of all parties.
I look forward to a vibrant debate over the Bill’s provisions as it moves through the legislative process and I am confident that this debate will result in a stronger, distinctly Canadian approach to copyright law in Canada.
I appreciate you taking the time to share your thoughts and opinions with me. If you would like to discuss this or any other issue please feel free to e-mail or telephone me at any time.
Sincerely,
Ron Cannan, MP
Kelowna – Lake Country
(250) 470-5075 (Constituency Office)
(613) 992-7006 (Parliament Hill Office)
“Your Kelowna – Lake Country Voice in Ottawa”
www.cannan.ca
ron@cannan.ca
Each and every one of those claims are patently false. I am currently working on a series of essays on the different aspects that this Bill does not talk about, or does completely wrong.
I’ll also leave you with this:
4 commentsNew copyright ideas
Okay, so I’m finally getting in on the Bill C-61 bashing. Kind of. I’ve actually read the bill… and everything you’ve heard is true. A few wonders I found, in 45 minutes no less:
- It allows for one-time recording. Yes, thats right. One-time. All those VCRs, DVRs, TIVOs, and DVD Recorders would now be illegal. And of course, there is no taping allowed if there is a “Do not tape” flag on the content. Which adds to the complexity of the items, as well as confuses consumers when the product they bought to tape Canadian Idol doesn’t do what its supposed to!
- Librarians that send out any digital copyright data, say, a paper on the rates of Amazonian Killer Bee reproduction, that content must be deleted in some way in five days. Yes. Five days. Now, our overworked and underpaid librarians need to become lock masters.
- It also now allows moral rights to be signed away. Except I check wikipedia, and discover that it could be waived before, but it is now officially part of law.
- Only one “legal” copy of content per device. If you buy a CD, and rip it, you must now destroy the CD. If you bought some music, and burn it to CD, or put it on a thumb drive, you must delete it from your computer. Thats right.
- There are “rights” given in the bill… except if there is any form of technological lock or “do not copy” flag on it, you now have no rights. No rights to protecting your privacy, no rights to backup and protect what you legally bought, no rights to use as you see fit. There are provisions for encryption and virus research, privacy protection, and content backup… so long as none of the content is copyrighted. Or protected with a technological lock. And you can’t distribute any information ON circumventing technological locks, or any software. That makes my dvd-playing linux illegal!
- No fair use mentions. None. Nada. Zip. Zilch. Fair use is effectively abolished, which makes the several rulings on fair use, well, illegal.
Those are just a few points.
So, I’ve been thinking about this issue, and I’ve got quite a few thoughts,which I’ll post later.
References and helpful links:
- Bill C-61 in its entire tabled form
- Online Rights Canada
- Copyright for Canadians
- Michael Geist -Law Professor, and constant guardian of our rights and freedoms
Computer Science Papers
Yes, thats right. Those insufferably inscrutable blocks of rosetta code, about this esoteric subject of computer science. I really didn’t have an idea what I was getting into when I chose this major, but I’d still pick it. I just have a few beefs with computer science papers.
A bit of background first. On the first day of my research job, I was given three papers to read and research. All told, they constitute 70 pages. Yes. 70 pages. So you’d think there’d be some rather amazing, in-depth stuff there. Nope. Well, depends on your perspective.
Now, in reading them, I got to see a wide range of approaches, and an admittedly small cross-sample of writing styles. Except theres one problem.
They use one-letter variables. You know what I mean. They use things like S, to represent a function, and i, j, k, x, y, z for psuedo-code variables. FOR THE LOVE OF A GOD I DON’T BELIEVE IN, STOP DOING THIS. /rant. Seriously. Its like the researchers wrote up their papers, using full variables, then, did a search and replace… to make it harder.
Maybe it looks more impressive when your algorithm uses a series of single-letter variables. Its definitely harder to read. I don’t know why this is an accepted approach. And seemingly the only one.
Wait, I do. My even more unlucky co-worker, whom goes by the name khumba, has to work on convex equations in scilab. The source code was originally written by a student majoring in math… and minoring in GREEK. Well, thats what it looks like. Except its not just one student. But its a series of solely math students, asked to program in scilab for their professors. Every other line looks like something straight from The Daily WTF. I’ve seen it. And that, I realize, is where the computer science papers get it from. The mathematicians. When mathematicians branch out into new algebra systems, they inevitably fall into the computer science category, which then ends up inspiring the rest of the papers. Because its the “accepted” style. But its mathematicians using their daily variable calculus in code, which then seeped into the Computer Science discipline, since thats where most of the first papers came from, mathematicians. And it has been that way since.
Now, its done because everyone does it. And everyone does it, because thats the way its done. Which makes me want to hurt someone very badly.
So, if you’re going to write a computer science paper, don’t do this; I will shoot you if you do so.
(Not really. But one really should program and write code as if there will be a psychopath maintaining your code.)
2 commentsJava GUI frameworks
One of my duties as an undergraduate research student, is to build a Java front end for one of the tools my professor has.
I checked out a few of the choices available for a Java GUI, and I eventually settled on Swing.
People seem to either love or hate it, and I’m curious why.
I picked swing as it was the most familiar, logic-wise to me. I’ve been polluted by Tkinter, sorry. But Swing makes sense to me. LayoutManagers, Buttons, Panels, Containers, Components… it makes sense.
The only difference I see between Tkinter and Swing, is that Tkinter uses callbacks, and Swing uses Listeners. But even Listeners make sense, as it is after all an event-based architecture. I can do implement a Listener any way I want, in any customized component, or even separate classes.
Swing gives me flexibility without imposing massive layers of abstraction on me(unlike a few other culprits I’ve seen… *whistles*).
But I want to know what you like, or dislike about Swing, or any of the other Java GUIs.
4 commentsFunctional for the win
As part of my new job, as a research student, I have to process a lot of data. On the order of several hundreds of thousands of records. So, I turned to my favourite language, Python. Its what caused my earlier issues with memory management.
A few more lessons I’ve learned:
- sometimes theres a faster way to do stuff.
- make sure you aren’t putting repetitive data into a database
- verify the data format before you download 2-3 GB of it
Okay, so, faster way to do stuff. Python has both a performance advantage and disadvantage. The advantage is that it only takes one or two hours to code up something to process data. The disadvantage is that in an effort to be clear and simple, one can end up coding a task that takes 20-100x longer than it should. Like I did.
I had a lot of nested loops, python speed loops, involving lots of duplicate handling, inserting to a database, etc. It took five hours to go through only 14 sets of queries to clear out. I had a lot of duplicate rows that needed to be erased. For a query looking for rows with an id of 15, there are 25,607 records. Removing the duplicates yields… 807. Brilliant.
Today, I decided to take most of the loops, and replace them with their functional counterparts, map, lambda, and Google’s functional tools in python, goopy. In only two hours, it has gone through now, 160 ids. In less than half the time. Pretty amazing, eh?
Here’s a sample:
for row in all: curs=curs.execute('insert into elements2 values(?, ?, ?, ?, ?)', (row[0], row[1], str(row[2]), str(row[3]), ''))
replaced with:
map(lambda row: <code>conn.execute('insert into elements2 values(?, ?, ?, ?, ?)', (row[0], row[1], str(row[2]), str(row[3]), ''))</code>, all)
A little bit more difficult to read, yes, but, the speed improvements are well over 50 times faster…
All this work to clear out duplicate entries, and how intensive it can be to fix, is a perfect example of why the “Look Before You leap” programming paradigm works better than, “Ask for Forgiveness Not Permission”.
Now, once the processing is done, I’ll be able to go through all the data… and add a piece of information I forgot to process in the first place to each entry. Yay me!
Comments are off for this post