Digital Restrictions Management2006-07-26 Normally, when you have a piece of media, you can do whatever you want with it except for make copies and distribute them as per copyright law. You can make copies for archival and backup purposes. You can time-shift so you can watch something later than when it was first made available and format-shift so you can listen to an audio CD from a portable MP3 player. You can have a book electronically read if you are visually impaired. All of this falls under fair use. Digital Restrictions Management (DRM) adds extra restrictions to this. Sometimes it is called "Digital Rights Management", but this is a misnomer because it has nothing to do with your rights. Instead, it declares that all of these actions are not rights, but privileges and tries to take them away. To make matters worse, in the United States of America, a law was passed to enforce DRM called the Digital Millenium Copyright Act (DMCA). There are many instances of DRM in our lives currently. DVDs contain region codes that prevent people from playing discs from other regions. This means that your DVD player can arbitrarily decide not to play a disc despite that you have legally purchased it. DVDs also contain the Content Scramble System (CSS), which attempts to obfuscate the contents of the disc. Some audio CDs contain extra programs that make the computer read gibberish instead of the data from the disc making it unplayable which prevents it from easily being copied to a portable MP3 player. Books that use the Adobe eBook format can prevent you from using "read aloud" and other accessibility funtions. So, what's wrong with DRM?
One of the reasons I am so strongly opposed to DRM is because I had to deal with a particularly virulent form of it. The worst of it would most appropriately be called vigilante software. Specifically, my friend's fianceé got a Sony CD with XCP. When inserted, this CD installs a rootkit and a driver filter of the CD drive. The rootkit hides the presence of the filter. The filter makes everything you read from the CD gibberish. Of course, if Microsoft Windows had proper security measures, it would not be possible for an infected disc to install either of these. To remove it, I had to delete all of the drivers for the CD drive and then reinstall it. Installing corrupted device driver filters is malicious. An audio CD shouldn't install anything at all. To summarize, DRM:
Time inconsistencies2006-06-18 Months are not a unit of time, but for some reason people treat them as if they are. How many seconds are in a month? Months used to be related to the lunar cycle, but they have been padded out since then and no longer seem to correspond to anything. The months are different lengths, and despite being sequential only some have simple numerical names. To make matters worse, the names are 2 less than the index of that month because 2 additional months were inserted. For example, with November nov=9, but it is the 11th month. Timezones are also unnecessary. The concept of a numerical value of time is useful for coordination. Timezones make coordination over boundaries more difficult. You must remember to convert between the timezones. Having times roughly correspond to the time of day is a good idea because it allows you to make a quick estimate of what time it is by just looking towards the sun. However, devising a whole system where different places will say that it is different times is useless. It is just as easy to say that the sun rises at 5 o'clock as it is to say that it rises at 11 o'clock. Each area would quickly get used to this schedule. It is not the time that varies between areas, but when the sun appears to rise and set. Months are not the only thing that come in strange quantities. How many seconds are in a minute? Thanks to leap seconds, some minutes have 61 seconds, while most others have 60 seconds. A minute should be a fixed amount of time. Its length should not vary depending on when it is. Autodetecting webpages2006-06-17 The web has gotten increasing complex. Some pages now require Macromedia Flash, a PDF viewer, or a specific media player. While this can certainly be a nice addition to a page, often these pages try to use bizarre and convoluted JavaScript to determine which version of each program you have. What's even worse is that usually the conclusion reached by the JavaScript is incorrect. It will decide that you are incapable of viewing PDFs when you have 3 separate PDF viewers installed. It will decide that you can't view a movie dispite that, if it would just give you the movie file, you could. I find it funny that people have made grease monkey scripts and browser extensions just to make the direct links easier to get to to get around this problem. There is a much simpler and more effective approach. Instead of having all of this autodetection code, just put a simple link. If they have the plugin, it will automatically handle the file. If they don't they can download it to try it after installing the appropriate software or to give it to a friend so they can try it. Without direct links, you have to dig through a bunch of JavaScript or use a network analyzer or modified browser to find where the link actually goes to. Please just put a directly link and it will work if they have the appropriate software installed. Note that this also covers site that claim to only work with a particular browser. Instead of only displaying that message, have the webpage as normal below. It very well might work dispite what the server thinks of its user-agent string. If it doesn't work, the user can see that warning message and have a hint as to what went wrong. Unnecessary dependencies in webpages2006-06-17 Many pages make use of JavaScript and Macromedia Flash, but it is not necessary to the function of the page. Not everyone has these installed or even can install them. If these are not available the page should continue to work. This is what is called "graceful degredation". For example, if cookies aren't available, you can put the session identifier into the URL as a parameter. If you use Flash for navigation, you should also provide regular HTML links for navigation. If you are going to require some extra feature, please be sure to mark it clearly on your page so when it doesn't work, the visitor can see a hint as to why. Also, you should ask yourself if you really do need that feature. As a side note, I find it useful to test my webpages in the web browser Links. It lacks most of these features and you can see whether the page still works or not. Also, try using the W3C's validator to make sure that you webpage is syntactically correct. Chicago street names2006-10-29 Chicago's streets form a large grid. Every location has an X and a Y coordinate. Places are named by a number followed by a street name. For example, the Illinois Institute of Technology has a building at 3241 South Federal Street. Each increment of 100 is a block. This means that it is to the south of the origin in block 32. However, is this to the west or east? How are you supposed to find a place if you only know 1 coordinate? Some fiddling with Google Maps, and I can figure out that it is 100 west of the origin. So, this means that the location could more usefully be represented as (100 west, 3241 south). With this, as long as you were oriented, you could find it just by following the numbers on the buildings. While the trivial street names do give you the other coordinate, the mapping is not obvious. Nor, is this mapping explicitly listed anywhere I can easily find. (Does anyone know where to find such a listing?) So, many people in Chicago memorize the coordinates of the streets that they commonly come across. This still does not make addresses useful, because given a new address, they will not know usually the coordinate for the street's name. Also, for the smaller streets, many people do not know their names, even if they are just a few blocks away from it. (I found this out the hard way when asking several people for directions looking for a friend's house.) So, I do not believe that many people even know most of the mapping. Thus, the street names are not useful. Just calling them the number of the block that they are on would make navigation considerably simpler and remove an unnecessary level of indirection. It would alleviate the need to memorize an arbitrary mapping. It would make it that you would easily know where you are and the coordinates for where you were going. |