While I don't support a law like this, and really don't like what it would do to my favourite addiction, the effects could be interesting in push technology forward in a way that sorts of a lot of related legal problems (including responsibility, copyright, etc).
I have long thought that web forums were a step backwards. They are often slow, the interface is limited, and in general you have little control over the forum's functionality. Compare this to Usenet or BBS-style mail and forums, where your client provides the functionality needed.
The first step we need to take is to a distributed usenet-type system. Instead of web-interfaced forums, we have a lot of different news servers, which are not connected in a hierarchy. NNTP is also suitable as it is, although the servers would need some work to make the groups and articles more manageable, and allow a system for ratings.
The second step is to get away from centralised storage. A host site has an initial article and a storage index, which is a collection of links to a whole lot of other sites -- one per poster in fact. The poster's client posts the article to their "home" server, and notifies the host site about the relationship of that article to the discussion.
Now the host is merely publishing a short comment, and linking to a huge amount of discussion on that comment, where each part of the discussion resides with its owner. The responsibility for their contribution, as well as copyright, is far more clear in this situation.
Well, that's my 2c. Damn, I wish I could get Slashdot in QNX...
What we need (IMNSHO) is a distributed usenet-type system
Don't forget that the NSA has special preference when it comes to patents. They can keep their discovery or invention secret for an unlimited amount of time, and when it is "discovered", published or patented by the private sector they can assert ownership of the patent for a further 17 or 25 years.
This is the best comment I've seen so far. While turning down the customer, "making them understand" the need for design, or "pick to of the usual" are nice in theory, it comes down to earning an income, and sometimes you have to compromise.
Having been in similar situations for various reasons, I can offer some pointers.
First, realise that design, even a little bit of it, improves your speed of delivery. If this is not the case, you're either a genius or don't have sufficient design skills. Design allows you to forge ahead with development without doing unnecessary work, or rework because of mistakes. It also allows you to reduce testing if you have to.
Gather some requirements. This may sound obvious, but it is often neglected when time is tight. You don't need a detailed requirements engineering process -- a page of important functions or descriptions of how the user should experience the software is enough.
Exercise the requirements a little: role-play through a simulated interaction with the user. Did you remember access control and error handling when the luser is being stupid?
Use CRC cards to design and plan your project simultaneously.
Start by identifying the significant components in your system, and write each one on a card. In conjunction with exercising the requirements, flesh out each card with the component's responsibilities, the data is has, the data is needs, and make a note of which other components it interacts with.
You now have a collection of components to be developed, along with a description of each one. If any components are particularly large/complex it is best to split them into logically cohesive sub-components if possible (for the purposes of planning, even if they will be implemented as one component).
Work to a project plan by going over each card and estimating the amount of time it will take to develop the component.
Flesh out the design before implementation. No, really. Define the APIs to your components, and try your hardest to avoid changing them. If necessary add additional API methods, but try not to change the existing ones (this prevents rework). At worst, change the implementation of an existing method to call a new, improved method.
Now comes the trick of fitting the development into the timeframe. The first course of action is to go over the CRC cards again and cross out any non-essential functionality. Your priority is to delivery a functional system conforming to the minimum requirements.
As suggested in the parent comment, try to break delivery into phases. Even if the customer does not agree to a phased delivery, plan for it anyway! If you're going to overrun your schedule, at least have something ready on time - it is a strong negotiating tool.
Don't underestimate the usefulness of hiring a few extra hands. If you're expecting trouble getting payment out of the customer for late delivery, and you really can't afford to drop the contract altogether, consider getting an extra developer to assist you. You could offer a salary, contract, or profit sharing, and if you've used the methods I outlined above the plan the project, its easy to farm out components to developers.
Reduce your testing burden by getting it right first time. I know this is not as easy as it sounds, especially with web development, but using techniques like Design By Contract (or at the very least asserts with documented parameter ranges) you can avoid a LOT of common programming errors.
By doing a bit of design and planning, and being careful to use bug-avoidance techniques during implementation, you can significantly reduce your development lifecycle in order to meet a tight deadline.
Jabber is normally thought of as yet another IM system, but "Jabber is an open XML protocol for the real-time exchange of messages and presence between any two points on the Internet" (from the Jabber site). Its first application has been IM, but it is by no means limited to IM. Jabber is a protocol specification, and there are several open and closed source implementations of clients and servers.
xmlBlaster is a more traditional MOM offering, under LGPL. It supports numerous protocols and bindings into a number of languages.
While I intensely dislike a Copyright duration of 70 years, it isn't entirely unfair. Copyright owned by natural persons is at minimum life + 50 years, which is quite often in excess of 70 years... therefore corporate Copyrights (which arguably have a lot more resources put into them) need to have a similar duration of protection.
I would like to see fairness plus a reasonable Copyright duration. Life + 15 or 25 years (corporate) is fair and not unreasonable. Better still, I would like this term to cover the original work, but have the rights to create derived works expire (say) 10 to 20 years from first publication.
In any event, perpetual extension of Copyright is a bad thing in ANY country, and with the US and the EU setting a precedent, the world is sure to follow:(
By the way... there is at least one current international convention on Copyright (Berne) and one international organisation to protect intellectual property owners (WIPO). Are there conventions and organisations representing consumer and public domain / creative commons rights?
The upshot of this is that no work produced in the United States since the 1920s will ever pass out of Copyright... in the United States. Many of these movies, books and songs are already in the public domain in other nations, even those who are party to the Berne Convention (which mandates a minimum term of 50 years for most works).
When sites offer stuff I am willing to pay for, I will pay for it
Which is precisely the case for micropayments instead of subscriptions: you may want a tiny amount of content from a site you don't often visit. But there is an underlying issue here: "willing to pay for" involves your perception of the value of the content.
$2 isn't a lot of money... if you're in the US. But the web is an international medium, and many vendors don't fully recognise that. Take a country where an IT/CS graduate with 2 years experience can expect to earn (after exchange conversion, tax, health and pension) $600 a month, and $2 is suddenly a lot more.
Charging for access (in any form) could destroy the potential of the Internet to bridge the information/knowledge disparities around the world (which have resulted from economic differences). True capatalists won't give a shit, but most of the world feels that a socio-economic approach to globalism is better than a purely economic one.
In my own defense;p "Accuring" (s/ur/ru/) is a typo, "baulk" is the British spelling of balk (see dictionary.com), and "privlidges" is one of those words that I was never privileged enough to remember how to spell correctly (so yes, a common misspelling).
For some reason technical people tend to ignore many years of experience of similar problems in other domains. Quite simply, there are several effective mechanisms for preventing this type of abuse, but very few people which sufficient know-how to implement them.
The business rules for prevention of white collar crime are division of responsibilities, and cross checking (or auditing). The rules do not change just because you are working with computers.
The first thing to realise is that on most "enterprise" operating systems other than standard unix, the system administrator is NOT god. On NT, 2000, Novell and Trusted Solaris (amongst others) there is provision for delegating administrative privlidges and locking out the original administrator in an irrevocable manner. On most other Unix systems you can use "sudo" (or an equivalent) to selectively grant privlidges, and lock down root logon or "su" to the console only. Coupled with dual-key physical access control, this prevents any single person from becoming god ((s)he can't even modify hardware or reinstall because of physical controls). This scenario presumes procedures/rules (never leave just one admin in the room, watch and verify all operations, etc).
Many admins baulk at this idea, but if you're serious about security, there has to be a physical barrier preventing complete power over the system. In the absence of computer systems designed for dual authentication for privledged operations, physical controls (and associated procedures) must be used.
When responsibilities are divided, there needs to be an analysis of which privledges can interoperate, and which should not (because they could cause a security risk). The privledge of clearing log files should be limited to "god" - i.e. physical access to the console, which requires two people. Backups should be encrypted, if possible in such a manner that the key for recovery is split between two people (there is software to handle this sort of thing).
Auditing is also essential. Every so often, external experts should be brought in and allowed to inspect the system, under the supervision of one or more of the administrators. It is likewise important that administrators be forced to take time off (instead of infinitely accuring annual leave) -- this is when fraudulent activity is usually stumbled upon.
Does this offer complete protection? No. It won't work in organisations where there is only one admin (unless another technically savvy person can hold the second key for physical access), and it breaks down when two admins cooperate in the fraud. But it provides a whole lot more protection than the current practices, and in time can be improved (by drawing on other business and accounting practices).
Excellent advise. I was never diagnosed ADHD (never taken to a psychologist) but had all the symptoms. My parents convinced school teachers in lower grades to give me extra projects that would interest me.
ADHD kids are normally bright (which is why they get bored). ADHD can't be "cured"; children may or may not "grow out of it" as they develop. For those that don't, it is essential to develop a coping strategy. For me that has been to apply myself fully to a particular task for a short period of time, then switch to something else that needs to be done, lather, rinse, repeat.
For example, read Slashdot, read The Register, read BBSpot, read The Onion, read Slashdot...
I know several other attention deficit people who cope in much the same way. One alternative which I am told is quite successful is to force yourself to learn concentrating -- that can be done in children using positive reinforcement; reward them for concentrating. This is probably a dangerous course though - ADHD children don't really like you fooling with their heads, and they tend to know what you're up to.
Another personal example: my parents used to punish me by taking away favourite toys, television privledges, etc. If they took something away for a week, I would voluntarily ignore the toy or privledge for a further week. Extremely effective, trained the parents in no time at all.
On the plus side, allowing an AD child to be bored is not a bad thing in and of itself. If you can cope with the hyperactivity, the child will learn to cope with the attention defecit. ADHD children are often highly imaginative / creative, and will find and use this to deal with their boredom. Personally I would try introducing a child to simple role-playing games, but that's not ever parent's idea of a good passtime.
Dealing with school work is more of a problem. All ADHD or near ADHD children/friends I've met were very bright, and breezed through school until the higher grades, when they suddenly had to work; at which point they don't know how to. To my knowledge the only resolution is to challange the child in extra-curricular activities so that (s)he is forced to learn learning skills. If possible get the teacher to help, so that it seems to be school work. Any projects involving research are good candidates -- things involving memory tend not to be!
From personal experience, I would say that parents should be careful to notice when an ADHD child is concentrating on something, and not to disturb them. This helps build attention span -- even if only in certain areas of interest initially.
For me the most important characteristics of good SciFi are an epic plot, forethough (and planning) on the part of the creator, strong lead roles, and detail. At the end of it, good SciFi "says" something to me; touches me in some way, and makes me reevaluate what I think of the real world. Of course good writing/presenting style and/or dialog are essential.
Babylon 5 and Dune achieve both of these admirably. Star Wars sacrifices some forethough and detail, while Star Trek has little in the form of an enduring plotline, poor details and consistency, and weak characters. Of course I still enjoy them;)
Babylon 5 weaves a web of intrigue which is underpinned by an epic saga and several prophecies. Consistency across the entire series is high, as is detail. Small seemingly throw-away comments in some of the first episodes have significant three seasons later. The acting and dialog is evocative, and it is easy to relate to all of the characters, even the "bad guys". The are at least several monologues that I would like to see again just to copy down and put up on my wall (and some other dialog besides). Characters come and go and when they do there is a profound sense of loss.
Dune presents a far different universe. During the series the focus expands from a single character to several, to the political balance of the known universe, and beyond. His attention to details is magnificent, and he draws on a wealth of knowledge to flesh out the behaviour of the characters. He too presents a saga which is a turning point in history, and encourages the reader to relate to the characters. While many disagree with me, I personally enjoy Herbert's writing style and find it captivating.
Perhaps the most significant part of these two settings compared to other SciFi is that they are SciFi-Fantasy. Babylon 5 is based far more in reality than Dune (concerning itself with physics and scientific possibility in many instances), but both present fantasy aspects which transgress the realm of the strictly possible, and add a level of interest which is difficult to attain in any real (or future-real) world setting.
You're comparing apples and !apples. The "source code" for a book would be the author's notes, including the plot outline, characters sketches, additional details about the settings, and so on. For music, getting the "source" would be access to the individual tracks (voice, lead guitar, drums,...), a description of when and how effects are applied to them, and how they are mixed together.
What is more, the author has drastically underestimated the importance of architecture and design as contributors to the intellectual property value of software. The larger and more complex a piece of software, the more significant the value in design; to the point that a good design with a naive implementation can outperform a bad design hand-optimised in assmebler.
Yes, I've seen a comparison of two data analysis programs where the one that used a bubblesort was faster than the one that used a quicksort... go figure.
I'm not too familiar with the South African intellectual property laws other than Copyright. But I know we do have a separate law which covers designs (logos, architecture, etc), which are not covered by copyright. Other designs will come under patent law rather than copyright. You would most like have to argue that a particular design is art rather than functional to claim copyright instead of a patent.
If you're interested, the full text of our Copyright Act (with amendments) is available online.
At the time I wrote this I made the mistake of referring to local (South African in this case) law; it deals very prominently with the concept of licenses. US law doesn't, now that I look, and its effect is therefore somewhat different.
(3) to distribute copies or phonorecords of the copyrighted work to the public by sale or other transfer of ownership, or by rental, lease, or lending;
Title 17, Chapter 1, Paragraph 106
This is the most significant of the rights reservations given by copyright law. Does the Doctrine of First Sale trump it? No. How do we know? Because disposal is explicitly permitted in recognition of this doctrine (i.e. considering is given under US law for this doctrine):
109 (a) Notwithstanding the provisions of section 106(3), the owner of a particular copy or phonorecord lawfully made under this title, or any person authorized by such owner, is entitled, without the authority of the copyright owner, to sell or otherwise dispose of the possession of that copy or phonorecord
While "dispose" is not defined by the act, the remainder of paragraph 109 implies that the right to lease in included. HOWEVER: 109(b)(1)(A) prevents any letting of phonorecords (any musical recording) or computer software for direct or indirect commercial gain. So loaning (to friends, for free) is acceptable; bookclubs are most likely acceptible because they don't tend to be for commercial gain; but letting/renting would not be acceptable.
US law does seem to centre around the concept of a "copy" being some unit in which a copyright holder can work. South African law, by comparison, doesn't -- in fact it hardly uses the word "copy", preferring "license". My mistake for not having read through the US law before responding.
Given the number of computers involved I am assuming you are using switches. One option you have is to configure VLANS - I'm not very clued up on these, but iirc you should be able to construct a logical separate LAN from a group or port or MAC addresses. Then you need a gateway between the Windows VLAN and the Mac VLAN, with a firewall which can protect them from each other.
This can be a bit nasty to manage though. If its a port-based VLAN you have to make sure the boxes are plugged into the right network sockets, or they'll be on the wrong VLAN. If believe MAC-based VLANs are possible (but I could be wrong); in which case you have to have a list of MACs and whether they are Windows or Mac machines, and assign them... tedious.
A simpler solution could be to insist that all Windows boxes use DHCP, and assign them addresses in a particular subnet. If you want the Mac boxes to use DHCP too, you'll have to do MAC reservations for the Windows network cards to make sure they go onto the right subnet. Then have a gateway/firewall. This doesn't protect against lusers who give their computer a static IP on the logical Mac subnet... but it gives you some ability to manage the situation.
To detect troublecausers, you could automate a security scanning tool to check the Mac network for computers which appear to be Windows boxes.
I'm glad to see there had been a predent of this nature:) Unfortunately, this precent is very old. While that in itself is not a problem, the Copyright Act has changed since this ruling, with revisions in 1909 (a year after this case) and again in 1976, and several subsequent amendments.
(3) to distribute copies or phonorecords of the copyrighted work to the public by sale or other transfer of ownership, or by rental, lease, or lending;
The original ruling deals with a clause in copyright law which reserved the right of vending for the copyright holder. The clause is mostly the same, as (3) talks about the right of sale. This is a Good Thing, as in all liklihood the precedent will apply.
Unfortunately, I live in South Africa, and our Copyright Act does not contain a reference to sale. All rights of reproduction, publication, etc are reserved; the holder must grant a license for use, and there is no indication of the requirement for or form that such license must take.
The only thing that permits you to enjoy the copyright holder's rights, under copyright law, is a license granted to you by the copyright holder. In copyright law the concept of sale deals exclusively with the sale of copyright (i.e. transfer to another copyright holder); the only alternative to this, in which the original holder retains his/her copyright, is a license.
When you purchase any items in which copyright subsists, you gain an implicit license to use the copyright content. That license and its extent is governed by common law, and is generally taken to mean that you have a limited set of rights over a particular copy of the content.
This is distinct to owning the content, or licensing the content. In the former case, you would enjoy a number of additional rights, including that of letting (see below). In the latter, the supplier would have to supply you with the content in alternative formats at cost, replace damaged media at cost, etc. Neither of there happen.
You are explicitly wrong about loaning out the item you purchased. This is one of the reversed rights under copyright law, the same as reproduction, publication, broadcast, etc. You cannot let any copyright work without permission. Most countries have blanket exclusions for public libraries and certain cinemographic works, but that's it.
Bullshit. Read the history of Copyright, and you'll find that the name is a complete misnomer, and doesn't represent the rights nor the intended rights of the law.
Copyright is intended to reserve to the holder the rights of publication. That's it. It was also formulated to apply to written works, which is why it dealt specifically with publication. The act of publication combines reproduction and distribution, and usually commerce. The intent was to allow the copyright holder control over the more powerful groups which were able to publish.
The question of copying was never intended to be part of copyright law. Copying does not hurt anyone in the chain so long as there is no associated distribution. A million CDs in your basement doesn't hurt the musician until you attempt to distribute those CDs.
The whole issue is whether or not you buy anything. When you "buy" software, have you really bought it? Current legal opinion says no - you are restricted by the license, because those are the terms on which the copyright holder is prepared to grant you permission to enjoy his/her rights. Can you transfer the rights you are granted under that license? Yes, unless the license forbids it, in which case no.
So what makes software any different from musical or literary works? Is there anything which stops a musician or author placing a restrictive license on their work? In all likelihood, no. Copyright law does not say they have to sell a license; it doesn't even say they have to grant licenses.
IF they choose to grant licenses, they may grant any combination of their rights they please, and they may subject you to a legally binding contract. A sale, for your information, is a legally binding contract. So is a service contract which permits limited repetition or limited duration use of a work.
So tell me, when you buy a CD, what rights do you acquire? Well common law says that you can do whatever you want with the physical media, because ownership has transferred to you. But intellectual property rights still apply irrespective of the physical media. Common law will then say that any fair use of the CD is game.
Since the intended use of a CD is arguably to be played so you can listen to music, its safe to assume your purchase gives you that right. Resale? Maybe. Copyright provides that any non-exclusive license granted by the holder may be revoked at any time (scary huh?), which raises some interesting legal problems: the holder's responsibility if (s)he revokes the license is to refund any amount you paid, possibly less pro-rata use of the content, since this is a common law approach to recalled products. Note that the responsibility is to YOU. If you have sold your CD to a third party, the contract (and license) is not necessarily transferred to the third party (in the same way that warranties normally only apply to the first owner). While you can sell a second hand washing machine without passing on the warranty, you can't sell a second hand CD without passing on the content.
In a simple world, you could buy a CD, and it would be yours. We don't live in a simple world.
I don't believe the Doctrine of First Sale has ever been properly tested with respect to Copyright law. The central question is: why "purchasing" a copyrighted product, are you purchasing a license, or merely paying a license fee? An important concept which must also be brought up is that of a "sale", which is usually read to means a transfer of ownership.
In the former case, the license is a right to use the copyrighted content and associated media, while the copyright holder reserves all other rights. The copyright holder in this case has created a (potentially unlimited) number of discrete licenses, all of which are offered for sale. After purchase, The Doctrine of First Sale says that the copyright holder has benefitted from the sale, and that you can then sell that license to someone else. Of course, that sale is a transfer of ownership, so you no longer have the license and the rights to use the copyright content.
In the latter case, there is no sale. You pay a fee for a service or more specifically a right - the limited right to use some copyrighted content subject to a bunch of restrictions. There is no transfer of ownership, only a temporary grant of permission (temporary may extend to your natural lifetime, but who's counting?).
So I believe the question is: does Copyright law permit a license fee model, or does it require the sale of discrete licenses? Is there any other applicable law which forces one of these models; or which causes Copyright to not apply if one of these models is employed?
Being NAL (not a lawyer), I can't answer these questions. However, I do have some comments on South African law (which may not be similar to US law in this regard): the law recognises that Copyright allows the holder to reserve the rights of reproduction, publication (including transmission, boardcast and performance), and letting; it explicitly permits fear dealing for personal use with regard to literary and musical works; and makes no assumptions about the manner in which licenses are granted. It does however use the phrase "a license" extensively, which could be taken to mean a discrete license, rather than a permission.
Something I find very frustrating about Windows and many *nix windows managers, is the propoensity to waste screen real estate on useless items and pleasantries.
Take a full-screen window (such as IE) under Windows. At the top you have a title bar, then a menu, then a row or two of toolbars, then your actual application space, then a status bar, then the start bar. All in all, more than a fifth of my vertical space is wasted.
Windows has one (poor) solution: auto-hide the start bar; but this also hides some useful indicators on your tray. IE (specifically) has a nice full-screen mode (F11) but again you lose your master menu system, tray icons, and still have a useless bunch of pictures at the top of the screen.
I have long believed that a windowing GUI is an outmoded idea. Provide an "OS interaction" screen (full screen) with a menuing system, access to OS configuration, some monitoring/info, and a list of running applications. Each application runs full screen, with a single global hot-key to change back to the OS screen. There is some provision for a floating menu button and status icons (tray icons) over every application, or called up by a hotkey.
While this moves back to a DOS/menu or Desqview view of the world, I have found that most users are more comfortable with a clear menu system in which there is only one way to do something, and with applications which seem to take over the computer instead of sharing it.
Another feature I have found useful to myself and end users is visual presentation of options and immediate feedback. I am thinking particular of a DOS editor called PC-Write; there were several other programs at the time (including the Borland IDEs) which did similar things. At the bottom (or top) of the screen was a bar with 10 segments, representing the actions for the F1-F10 keys. It was easy to tell at a glance what pushing a particular key would do for you. What if more, if you pressed ctrl, alt, shift or any combination, the bar changed immediately to display the meta-F actions.
Most software today expects you to use a toolbar (point & click), navigate a menu using several keystrokes (or point & click), or discover deep in some forgotten help file the special key or key sequence you need for a particular task. This makes improving productivity (by reducing mouse dependancy) extremely difficult.
But if "foo" means more than that, then "<ital>foo</ital>," actually loses that meaning.
No, it only "loses" that meaning if you want to parse it. While that may be useful for certain computer applications, or if you need to reformat the text into another style, ultimately the message conveyed (visually) to the reader is the same.
Computers (or more generally IT) is a broad playground these days. Its simply not possible to do everything anymore, much less to do it well. The answer is to specialise, even if only a little.
Your history suggests a good deal of experience with embedded systems. This is a good field to be in right now - there are plenty of opportunities, from special-purposes devices to cell phones and PDAs.
If you want to stay in mainstream development, you probably need to skill yourself up in C++, C# and/or Java. For the former you're going to have to be familiar with the operating system under which you are developing; for the latter two, you're going to have to be familiar with the language and the platform, especially when it comes to enterprise systems.
If you want to move away from development, you have at least three choices: networking, design and management.
Networking moves you in between development and users -- you use, but you still have the skill;) These is a lot of opportunity in network security in the future.
Design is a step "above" development, in which you're going to have to learn about formal methodologies, OO and patterns; how to control a development team effectively; and how to manage customer requirements.
Management is, well, management. Enough said.
My advice would be to decide what you want to do, and then investigate further to determine what skills you need.
Ecnomically it isn't viable for an artist to sell songs one at a time at a low cost. Even the best bands have a high percentage of work that doesn't appeal to the majority of their audience (at least not enough for that audience to buy it), so they would have to structure the price such that buying all the songs individually would be far more expensive than buying the album.
This also isn't very consumer friendly, strange as it may seem. Your average consumer (who is not a/.er) doesn't want to buy songs like this -- its just too much hastle! New bands stand the best change of attacting an audience through compilation albums.
Besides that, there is still a significant amount of the population which listens to music but doesn't have the skills or facilities to get music off the Internet, or to put it onto a convenient medium.
But I believe the Internet can new bands a lot. New bands could put (some of) their tracks on a site where anyone can download it for free. The bands categorise their music, and band members and the Internet public can rate the music.
Highly rated bands in any category have access to forums where they can pool their resources into the creation of a compilation album. A single album will give 3 to 14 bands a chance to publish 1 to 4 tracks each, and have a profit-sharing arrangement on the compilation.
This sort of thing is quite common in the industry at the moment, with bands making use of the ease of printing CDs ($1500 for 1000 CDs plus art, insets and jewel cases) to form their own labels. The problem is finding enough good music in your genre to expose yourself.
While I don't support a law like this, and really don't like what it would do to my favourite addiction, the effects could be interesting in push technology forward in a way that sorts of a lot of related legal problems (including responsibility, copyright, etc).
I have long thought that web forums were a step backwards. They are often slow, the interface is limited, and in general you have little control over the forum's functionality. Compare this to Usenet or BBS-style mail and forums, where your client provides the functionality needed.
The first step we need to take is to a distributed usenet-type system. Instead of web-interfaced forums, we have a lot of different news servers, which are not connected in a hierarchy. NNTP is also suitable as it is, although the servers would need some work to make the groups and articles more manageable, and allow a system for ratings.
The second step is to get away from centralised storage. A host site has an initial article and a storage index, which is a collection of links to a whole lot of other sites -- one per poster in fact. The poster's client posts the article to their "home" server, and notifies the host site about the relationship of that article to the discussion.
Now the host is merely publishing a short comment, and linking to a huge amount of discussion on that comment, where each part of the discussion resides with its owner. The responsibility for their contribution, as well as copyright, is far more clear in this situation.
Well, that's my 2c. Damn, I wish I could get Slashdot in QNX ...
What we need (IMNSHO) is a distributed usenet-type systemDon't forget that the NSA has special preference when it comes to patents. They can keep their discovery or invention secret for an unlimited amount of time, and when it is "discovered", published or patented by the private sector they can assert ownership of the patent for a further 17 or 25 years.
This is the best comment I've seen so far. While turning down the customer, "making them understand" the need for design, or "pick to of the usual" are nice in theory, it comes down to earning an income, and sometimes you have to compromise.
Having been in similar situations for various reasons, I can offer some pointers.
Start by identifying the significant components in your system, and write each one on a card. In conjunction with exercising the requirements, flesh out each card with the component's responsibilities, the data is has, the data is needs, and make a note of which other components it interacts with.
You now have a collection of components to be developed, along with a description of each one. If any components are particularly large/complex it is best to split them into logically cohesive sub-components if possible (for the purposes of planning, even if they will be implemented as one component).
Work to a project plan by going over each card and estimating the amount of time it will take to develop the component.
As suggested in the parent comment, try to break delivery into phases. Even if the customer does not agree to a phased delivery, plan for it anyway! If you're going to overrun your schedule, at least have something ready on time - it is a strong negotiating tool.
By doing a bit of design and planning, and being careful to use bug-avoidance techniques during implementation, you can significantly reduce your development lifecycle in order to meet a tight deadline.
Jabber is normally thought of as yet another IM system, but "Jabber is an open XML protocol for the real-time exchange of messages and presence between any two points on the Internet" (from the Jabber site). Its first application has been IM, but it is by no means limited to IM. Jabber is a protocol specification, and there are several open and closed source implementations of clients and servers.
xmlBlaster is a more traditional MOM offering, under LGPL. It supports numerous protocols and bindings into a number of languages.
As usual, Google offers a lot of advice on the topic of 'mom middleware "open source"', including a list of MOM implementations which tells us that JORAM is also open source, and an article entitle Open Source in Middleware.
While I intensely dislike a Copyright duration of 70 years, it isn't entirely unfair. Copyright owned by natural persons is at minimum life + 50 years, which is quite often in excess of 70 years ... therefore corporate Copyrights (which arguably have a lot more resources put into them) need to have a similar duration of protection.
I would like to see fairness plus a reasonable Copyright duration. Life + 15 or 25 years (corporate) is fair and not unreasonable. Better still, I would like this term to cover the original work, but have the rights to create derived works expire (say) 10 to 20 years from first publication.
In any event, perpetual extension of Copyright is a bad thing in ANY country, and with the US and the EU setting a precedent, the world is sure to follow :(
By the way ... there is at least one current international convention on Copyright (Berne) and one international organisation to protect intellectual property owners (WIPO). Are there conventions and organisations representing consumer and public domain / creative commons rights?
The upshot of this is that no work produced in the United States since the 1920s will ever pass out of Copyright ... in the United States. Many of these movies, books and songs are already in the public domain in other nations, even those who are party to the Berne Convention (which mandates a minimum term of 50 years for most works).
Which is precisely the case for micropayments instead of subscriptions: you may want a tiny amount of content from a site you don't often visit. But there is an underlying issue here: "willing to pay for" involves your perception of the value of the content.
$2 isn't a lot of money ... if you're in the US. But the web is an international medium, and many vendors don't fully recognise that. Take a country where an IT/CS graduate with 2 years experience can expect to earn (after exchange conversion, tax, health and pension) $600 a month, and $2 is suddenly a lot more.
Charging for access (in any form) could destroy the potential of the Internet to bridge the information/knowledge disparities around the world (which have resulted from economic differences). True capatalists won't give a shit, but most of the world feels that a socio-economic approach to globalism is better than a purely economic one.
In my own defense ;p "Accuring" (s/ur/ru/) is a typo, "baulk" is the British spelling of balk (see dictionary.com), and "privlidges" is one of those words that I was never privileged enough to remember how to spell correctly (so yes, a common misspelling).
Would you care to state your disagreement?
For some reason technical people tend to ignore many years of experience of similar problems in other domains. Quite simply, there are several effective mechanisms for preventing this type of abuse, but very few people which sufficient know-how to implement them.
The business rules for prevention of white collar crime are division of responsibilities, and cross checking (or auditing). The rules do not change just because you are working with computers.
The first thing to realise is that on most "enterprise" operating systems other than standard unix, the system administrator is NOT god. On NT, 2000, Novell and Trusted Solaris (amongst others) there is provision for delegating administrative privlidges and locking out the original administrator in an irrevocable manner. On most other Unix systems you can use "sudo" (or an equivalent) to selectively grant privlidges, and lock down root logon or "su" to the console only. Coupled with dual-key physical access control, this prevents any single person from becoming god ((s)he can't even modify hardware or reinstall because of physical controls). This scenario presumes procedures/rules (never leave just one admin in the room, watch and verify all operations, etc).
Many admins baulk at this idea, but if you're serious about security, there has to be a physical barrier preventing complete power over the system. In the absence of computer systems designed for dual authentication for privledged operations, physical controls (and associated procedures) must be used.
When responsibilities are divided, there needs to be an analysis of which privledges can interoperate, and which should not (because they could cause a security risk). The privledge of clearing log files should be limited to "god" - i.e. physical access to the console, which requires two people. Backups should be encrypted, if possible in such a manner that the key for recovery is split between two people (there is software to handle this sort of thing).
Auditing is also essential. Every so often, external experts should be brought in and allowed to inspect the system, under the supervision of one or more of the administrators. It is likewise important that administrators be forced to take time off (instead of infinitely accuring annual leave) -- this is when fraudulent activity is usually stumbled upon.
Does this offer complete protection? No. It won't work in organisations where there is only one admin (unless another technically savvy person can hold the second key for physical access), and it breaks down when two admins cooperate in the fraud. But it provides a whole lot more protection than the current practices, and in time can be improved (by drawing on other business and accounting practices).
Excellent advise. I was never diagnosed ADHD (never taken to a psychologist) but had all the symptoms. My parents convinced school teachers in lower grades to give me extra projects that would interest me.
ADHD kids are normally bright (which is why they get bored). ADHD can't be "cured"; children may or may not "grow out of it" as they develop. For those that don't, it is essential to develop a coping strategy. For me that has been to apply myself fully to a particular task for a short period of time, then switch to something else that needs to be done, lather, rinse, repeat.
For example, read Slashdot, read The Register, read BBSpot, read The Onion, read Slashdot ...
I know several other attention deficit people who cope in much the same way. One alternative which I am told is quite successful is to force yourself to learn concentrating -- that can be done in children using positive reinforcement; reward them for concentrating. This is probably a dangerous course though - ADHD children don't really like you fooling with their heads, and they tend to know what you're up to.
Another personal example: my parents used to punish me by taking away favourite toys, television privledges, etc. If they took something away for a week, I would voluntarily ignore the toy or privledge for a further week. Extremely effective, trained the parents in no time at all.
On the plus side, allowing an AD child to be bored is not a bad thing in and of itself. If you can cope with the hyperactivity, the child will learn to cope with the attention defecit. ADHD children are often highly imaginative / creative, and will find and use this to deal with their boredom. Personally I would try introducing a child to simple role-playing games, but that's not ever parent's idea of a good passtime.
Dealing with school work is more of a problem. All ADHD or near ADHD children/friends I've met were very bright, and breezed through school until the higher grades, when they suddenly had to work; at which point they don't know how to. To my knowledge the only resolution is to challange the child in extra-curricular activities so that (s)he is forced to learn learning skills. If possible get the teacher to help, so that it seems to be school work. Any projects involving research are good candidates -- things involving memory tend not to be!
From personal experience, I would say that parents should be careful to notice when an ADHD child is concentrating on something, and not to disturb them. This helps build attention span -- even if only in certain areas of interest initially.
Well, that's my $1.95. The bill is in the post.
For me the most important characteristics of good SciFi are an epic plot, forethough (and planning) on the part of the creator, strong lead roles, and detail. At the end of it, good SciFi "says" something to me; touches me in some way, and makes me reevaluate what I think of the real world. Of course good writing/presenting style and/or dialog are essential.
Babylon 5 and Dune achieve both of these admirably. Star Wars sacrifices some forethough and detail, while Star Trek has little in the form of an enduring plotline, poor details and consistency, and weak characters. Of course I still enjoy them ;)
Babylon 5 weaves a web of intrigue which is underpinned by an epic saga and several prophecies. Consistency across the entire series is high, as is detail. Small seemingly throw-away comments in some of the first episodes have significant three seasons later. The acting and dialog is evocative, and it is easy to relate to all of the characters, even the "bad guys". The are at least several monologues that I would like to see again just to copy down and put up on my wall (and some other dialog besides). Characters come and go and when they do there is a profound sense of loss.
Dune presents a far different universe. During the series the focus expands from a single character to several, to the political balance of the known universe, and beyond. His attention to details is magnificent, and he draws on a wealth of knowledge to flesh out the behaviour of the characters. He too presents a saga which is a turning point in history, and encourages the reader to relate to the characters. While many disagree with me, I personally enjoy Herbert's writing style and find it captivating.
Perhaps the most significant part of these two settings compared to other SciFi is that they are SciFi-Fantasy. Babylon 5 is based far more in reality than Dune (concerning itself with physics and scientific possibility in many instances), but both present fantasy aspects which transgress the realm of the strictly possible, and add a level of interest which is difficult to attain in any real (or future-real) world setting.
"reveal codes"
You're comparing apples and !apples. The "source code" for a book would be the author's notes, including the plot outline, characters sketches, additional details about the settings, and so on. For music, getting the "source" would be access to the individual tracks (voice, lead guitar, drums, ...), a description of when and how effects are applied to them, and how they are mixed together.
What is more, the author has drastically underestimated the importance of architecture and design as contributors to the intellectual property value of software. The larger and more complex a piece of software, the more significant the value in design; to the point that a good design with a naive implementation can outperform a bad design hand-optimised in assmebler.
Yes, I've seen a comparison of two data analysis programs where the one that used a bubblesort was faster than the one that used a quicksort... go figure.
I'm not too familiar with the South African intellectual property laws other than Copyright. But I know we do have a separate law which covers designs (logos, architecture, etc), which are not covered by copyright. Other designs will come under patent law rather than copyright. You would most like have to argue that a particular design is art rather than functional to claim copyright instead of a patent.
If you're interested, the full text of our Copyright Act (with amendments) is available online.
At the time I wrote this I made the mistake of referring to local (South African in this case) law; it deals very prominently with the concept of licenses. US law doesn't, now that I look, and its effect is therefore somewhat different.
Title 17, Chapter 1, Paragraph 106
This is the most significant of the rights reservations given by copyright law. Does the Doctrine of First Sale trump it? No. How do we know? Because disposal is explicitly permitted in recognition of this doctrine (i.e. considering is given under US law for this doctrine):
While "dispose" is not defined by the act, the remainder of paragraph 109 implies that the right to lease in included. HOWEVER: 109(b)(1)(A) prevents any letting of phonorecords (any musical recording) or computer software for direct or indirect commercial gain. So loaning (to friends, for free) is acceptable; bookclubs are most likely acceptible because they don't tend to be for commercial gain; but letting/renting would not be acceptable.
US law does seem to centre around the concept of a "copy" being some unit in which a copyright holder can work. South African law, by comparison, doesn't -- in fact it hardly uses the word "copy", preferring "license". My mistake for not having read through the US law before responding.
Given the number of computers involved I am assuming you are using switches. One option you have is to configure VLANS - I'm not very clued up on these, but iirc you should be able to construct a logical separate LAN from a group or port or MAC addresses. Then you need a gateway between the Windows VLAN and the Mac VLAN, with a firewall which can protect them from each other.
This can be a bit nasty to manage though. If its a port-based VLAN you have to make sure the boxes are plugged into the right network sockets, or they'll be on the wrong VLAN. If believe MAC-based VLANs are possible (but I could be wrong); in which case you have to have a list of MACs and whether they are Windows or Mac machines, and assign them ... tedious.
A simpler solution could be to insist that all Windows boxes use DHCP, and assign them addresses in a particular subnet. If you want the Mac boxes to use DHCP too, you'll have to do MAC reservations for the Windows network cards to make sure they go onto the right subnet. Then have a gateway/firewall. This doesn't protect against lusers who give their computer a static IP on the logical Mac subnet ... but it gives you some ability to manage the situation.
To detect troublecausers, you could automate a security scanning tool to check the Mac network for computers which appear to be Windows boxes.
I'm glad to see there had been a predent of this nature :) Unfortunately, this precent is very old. While that in itself is not a problem, the Copyright Act has changed since this ruling, with revisions in 1909 (a year after this case) and again in 1976, and several subsequent amendments.
The original ruling deals with a clause in copyright law which reserved the right of vending for the copyright holder. The clause is mostly the same, as (3) talks about the right of sale. This is a Good Thing, as in all liklihood the precedent will apply.
Unfortunately, I live in South Africa, and our Copyright Act does not contain a reference to sale. All rights of reproduction, publication, etc are reserved; the holder must grant a license for use, and there is no indication of the requirement for or form that such license must take.
The only thing that permits you to enjoy the copyright holder's rights, under copyright law, is a license granted to you by the copyright holder. In copyright law the concept of sale deals exclusively with the sale of copyright (i.e. transfer to another copyright holder); the only alternative to this, in which the original holder retains his/her copyright, is a license.
When you purchase any items in which copyright subsists, you gain an implicit license to use the copyright content. That license and its extent is governed by common law, and is generally taken to mean that you have a limited set of rights over a particular copy of the content.
This is distinct to owning the content, or licensing the content. In the former case, you would enjoy a number of additional rights, including that of letting (see below). In the latter, the supplier would have to supply you with the content in alternative formats at cost, replace damaged media at cost, etc. Neither of there happen.
You are explicitly wrong about loaning out the item you purchased. This is one of the reversed rights under copyright law, the same as reproduction, publication, broadcast, etc. You cannot let any copyright work without permission. Most countries have blanket exclusions for public libraries and certain cinemographic works, but that's it.
Bullshit. Read the history of Copyright, and you'll find that the name is a complete misnomer, and doesn't represent the rights nor the intended rights of the law.
Copyright is intended to reserve to the holder the rights of publication. That's it. It was also formulated to apply to written works, which is why it dealt specifically with publication. The act of publication combines reproduction and distribution, and usually commerce. The intent was to allow the copyright holder control over the more powerful groups which were able to publish.
The question of copying was never intended to be part of copyright law. Copying does not hurt anyone in the chain so long as there is no associated distribution. A million CDs in your basement doesn't hurt the musician until you attempt to distribute those CDs.
The whole issue is whether or not you buy anything. When you "buy" software, have you really bought it? Current legal opinion says no - you are restricted by the license, because those are the terms on which the copyright holder is prepared to grant you permission to enjoy his/her rights. Can you transfer the rights you are granted under that license? Yes, unless the license forbids it, in which case no.
So what makes software any different from musical or literary works? Is there anything which stops a musician or author placing a restrictive license on their work? In all likelihood, no. Copyright law does not say they have to sell a license; it doesn't even say they have to grant licenses.
IF they choose to grant licenses, they may grant any combination of their rights they please, and they may subject you to a legally binding contract. A sale, for your information, is a legally binding contract. So is a service contract which permits limited repetition or limited duration use of a work.
So tell me, when you buy a CD, what rights do you acquire? Well common law says that you can do whatever you want with the physical media, because ownership has transferred to you. But intellectual property rights still apply irrespective of the physical media. Common law will then say that any fair use of the CD is game.
Since the intended use of a CD is arguably to be played so you can listen to music, its safe to assume your purchase gives you that right. Resale? Maybe. Copyright provides that any non-exclusive license granted by the holder may be revoked at any time (scary huh?), which raises some interesting legal problems: the holder's responsibility if (s)he revokes the license is to refund any amount you paid, possibly less pro-rata use of the content, since this is a common law approach to recalled products. Note that the responsibility is to YOU. If you have sold your CD to a third party, the contract (and license) is not necessarily transferred to the third party (in the same way that warranties normally only apply to the first owner). While you can sell a second hand washing machine without passing on the warranty, you can't sell a second hand CD without passing on the content.
In a simple world, you could buy a CD, and it would be yours. We don't live in a simple world.
I don't believe the Doctrine of First Sale has ever been properly tested with respect to Copyright law. The central question is: why "purchasing" a copyrighted product, are you purchasing a license, or merely paying a license fee? An important concept which must also be brought up is that of a "sale", which is usually read to means a transfer of ownership.
In the former case, the license is a right to use the copyrighted content and associated media, while the copyright holder reserves all other rights. The copyright holder in this case has created a (potentially unlimited) number of discrete licenses, all of which are offered for sale. After purchase, The Doctrine of First Sale says that the copyright holder has benefitted from the sale, and that you can then sell that license to someone else. Of course, that sale is a transfer of ownership, so you no longer have the license and the rights to use the copyright content.
In the latter case, there is no sale. You pay a fee for a service or more specifically a right - the limited right to use some copyrighted content subject to a bunch of restrictions. There is no transfer of ownership, only a temporary grant of permission (temporary may extend to your natural lifetime, but who's counting?).
So I believe the question is: does Copyright law permit a license fee model, or does it require the sale of discrete licenses? Is there any other applicable law which forces one of these models; or which causes Copyright to not apply if one of these models is employed?
Being NAL (not a lawyer), I can't answer these questions. However, I do have some comments on South African law (which may not be similar to US law in this regard): the law recognises that Copyright allows the holder to reserve the rights of reproduction, publication (including transmission, boardcast and performance), and letting; it explicitly permits fear dealing for personal use with regard to literary and musical works; and makes no assumptions about the manner in which licenses are granted. It does however use the phrase "a license" extensively, which could be taken to mean a discrete license, rather than a permission.
Something I find very frustrating about Windows and many *nix windows managers, is the propoensity to waste screen real estate on useless items and pleasantries.
Take a full-screen window (such as IE) under Windows. At the top you have a title bar, then a menu, then a row or two of toolbars, then your actual application space, then a status bar, then the start bar. All in all, more than a fifth of my vertical space is wasted.
Windows has one (poor) solution: auto-hide the start bar; but this also hides some useful indicators on your tray. IE (specifically) has a nice full-screen mode (F11) but again you lose your master menu system, tray icons, and still have a useless bunch of pictures at the top of the screen.
I have long believed that a windowing GUI is an outmoded idea. Provide an "OS interaction" screen (full screen) with a menuing system, access to OS configuration, some monitoring/info, and a list of running applications. Each application runs full screen, with a single global hot-key to change back to the OS screen. There is some provision for a floating menu button and status icons (tray icons) over every application, or called up by a hotkey.
While this moves back to a DOS/menu or Desqview view of the world, I have found that most users are more comfortable with a clear menu system in which there is only one way to do something, and with applications which seem to take over the computer instead of sharing it.
Another feature I have found useful to myself and end users is visual presentation of options and immediate feedback. I am thinking particular of a DOS editor called PC-Write; there were several other programs at the time (including the Borland IDEs) which did similar things. At the bottom (or top) of the screen was a bar with 10 segments, representing the actions for the F1-F10 keys. It was easy to tell at a glance what pushing a particular key would do for you. What if more, if you pressed ctrl, alt, shift or any combination, the bar changed immediately to display the meta-F actions.
Most software today expects you to use a toolbar (point & click), navigate a menu using several keystrokes (or point & click), or discover deep in some forgotten help file the special key or key sequence you need for a particular task. This makes improving productivity (by reducing mouse dependancy) extremely difficult.
No, it only "loses" that meaning if you want to parse it. While that may be useful for certain computer applications, or if you need to reformat the text into another style, ultimately the message conveyed (visually) to the reader is the same.
Computers (or more generally IT) is a broad playground these days. Its simply not possible to do everything anymore, much less to do it well. The answer is to specialise, even if only a little.
Your history suggests a good deal of experience with embedded systems. This is a good field to be in right now - there are plenty of opportunities, from special-purposes devices to cell phones and PDAs.
If you want to stay in mainstream development, you probably need to skill yourself up in C++, C# and/or Java. For the former you're going to have to be familiar with the operating system under which you are developing; for the latter two, you're going to have to be familiar with the language and the platform, especially when it comes to enterprise systems.
If you want to move away from development, you have at least three choices: networking, design and management.
Networking moves you in between development and users -- you use, but you still have the skill ;) These is a lot of opportunity in network security in the future.
Design is a step "above" development, in which you're going to have to learn about formal methodologies, OO and patterns; how to control a development team effectively; and how to manage customer requirements.
Management is, well, management. Enough said.
My advice would be to decide what you want to do, and then investigate further to determine what skills you need.
Ecnomically it isn't viable for an artist to sell songs one at a time at a low cost. Even the best bands have a high percentage of work that doesn't appeal to the majority of their audience (at least not enough for that audience to buy it), so they would have to structure the price such that buying all the songs individually would be far more expensive than buying the album.
This also isn't very consumer friendly, strange as it may seem. Your average consumer (who is not a /.er) doesn't want to buy songs like this -- its just too much hastle! New bands stand the best change of attacting an audience through compilation albums.
Besides that, there is still a significant amount of the population which listens to music but doesn't have the skills or facilities to get music off the Internet, or to put it onto a convenient medium.
But I believe the Internet can new bands a lot. New bands could put (some of) their tracks on a site where anyone can download it for free. The bands categorise their music, and band members and the Internet public can rate the music.
Highly rated bands in any category have access to forums where they can pool their resources into the creation of a compilation album. A single album will give 3 to 14 bands a chance to publish 1 to 4 tracks each, and have a profit-sharing arrangement on the compilation.
This sort of thing is quite common in the industry at the moment, with bands making use of the ease of printing CDs ($1500 for 1000 CDs plus art, insets and jewel cases) to form their own labels. The problem is finding enough good music in your genre to expose yourself.