In the 1980's my Dad got an Exabyte drive for his VMS cluster at work (ca. 1Gb back then, I think). The big selling point was the ease of getting media: standard 8mm video tapes. He tested various brands until settling on a couple that produced consistently good backups. He's been able to recover decade+ old backups from those video tapes, much older than the oldest 9mm backup tapes that still work.
Eventually I bought an Exabyte drive for the lab I sys-admined as a grad student.
Of course, manufacturers would love to FUD-you into buying their "data-grade" tape, but the video tape works just as well most of the time. I think Fuji and Maxell were good brands, but I'll have to check with Dad first. I've got Exabyte backups on video tapes; it's a very good system. Just remember that nothing is forever: re-tape your media regularly (which does not mean often, just regularly).
I organise my work by sub-projects. Each has a to do list, appointments related to sub-projects, I track my time, communications, contacts and I take notes that related to appointments and to do items.
I want a calendar that will not only keep an overall and individual project schedule, but which will keep a structured history database where I can take notes, then re-express the log and information as a LaTeX or HTML log book. That sort of log book is IMHO important not only for recording how I approached certain problems, but also as a record of what I was doing on a given day in case some dispute arises.
So in short:
Permit global and sub-project organisation of calendar entires.
Allow free-form notes related to unschedule "To Do" and scheduled events.
Ability to write global and project log books suitable for typesetting.
Ability to track time spent on sub-projects and record this in the log book.
Project summary in log books: goals, contacts made
Seamless linking with e-mail from a project, linking with relevant project documentation and web pages. Ideally also scanned notes, audio records, phone call logs via the ISDN or caller ID interfaces on my equipment.
Log books need to have date anchors so that they can be referred to in other projects.
As a general suggestion: the program authors need to study patterns of working behaviours. Take sets of individuals with varying degrees of personal organisation, and find out what functions in that personal organisational pattern can be usefully automated. Discover the commonalities in those patterns and then express them in a system. I'm probably not (quite) the most organised person on the planet, and have very definite working patterns that lend themselves to automation.
4.1.5. The storage and distribution of MP3
format files via the Company network is
prohibited.
The Company may take whatever steps necessary to provide its services, and to provide for the enjoyment of such services by all of the Company clients, and to ensure that certain clients do not utilize services to the detriment of other clients. Customers with Websites that do not comply with these simple rules, or who seek to
take advantage of the Company unlimited storage or traffic plan in any other way, will, at the discretion of the Company , have their sites canceled and/or removed from the servers and have service charges assessed at the discretion of the Company
Seems easy enough... these are not the folks your friend needs to be dealing with.
The net as we know it today (unlike the French Minitel of the 80's) doesn't encourage people to put up services. Articles like this; slow adoption of IPv6 by legacy O/S's; it's all part of a general disempowerment consumers are experiencing that favours plans like.Net and hotmail that centralise their information in other people's hands when they should be accessing it from their own machines. Why should I use.Net/hotmail when I can get at my own machine over a constant IPv6 address in a secure manner?
Economically "public" goods are those where my consumption does not stop your consumption, and consumption does not diminish the supply.
Economically "private" goods are those where consumption by me excludes your consuming the good, and diminishes the supply.
Information is a "public" good, software is therefore also such.
Money is a "private" good, as is your working time.
In selling software you hope to set up an artificial economic inefficiency (I take your of "private" goods, i.e. your money, if you use my "public" good i.e. software) in the hopes of leveraging your expenditure in "private" goods. You want more money for developing the software than someone gave you for doing the development.
It's hard to maintain that sort of inefficiency, especially against competitors who don't want "private" goods for distributing "public" goods (e.g. someone giving away similar software). Usually this inefficiency is maintained by preventing the recipient from understanding the software (e.g. providing an opaque, compiled form) and/or legal structures (licenses, legally enforced rules on behaviour).
Unfortunately, if everyone decides they want a piece of information, legal remedies will disappear, since these remedies are just agreements about what everybody wants. If someone also understands your code (decompiles it, gets the source), you are left without a defense of the economic inefficiency. Furthermore, since you cannot guarantee that the software does what you say it does, (that's an NP complete problem) you face the problem of trying to sell someone something but being unable to guarantee that they actually get what they believe they are buying.
Resolution?
If you program for a living, then don't program unless someone is paying you for it. Sell your time, not your information. You can enforce selling your time because you can withhold the goods if payment is not forthcoming. You cannot do so with software.
Remember, F=ma. You can't push a rope. Also laws of the universe...:-)
This is also why 95% of software is written by people being paid to do so.
I remember sitting around the computer science club at U Waterloo about 11 years ago and discussing these issues. I recall that the conclusion was that you could get your catalogue out to people easily on the net (useful if your catalogue changes a lot, like a stock exchange's ``catalogue'' of goods), take orders easily on the net, but that information would eventually become an economically public good, and that other than as a means of communication, the Internet provided no added value over other models of commerce in and of itself. If communicating better helped your business (as it often does) then the internet is a useful tool, like the telephone is a useful tool, but fundamental rules about making money and economics haven't changed just because it's easier to talk to people.
Pity my honest streak didn't allow my avarice to overcome understanding and rip people off with that pyramid scheme known as Internet stocks.
Economists have already discussed how the transmission of information (bandwidth) is becoming a public good (i.e. one which is in abundant supply and which, when you acquire it, does not prevent others from acquiring it), leaving telco's (hopefully democratically controlled IMHO) with revenue for the physical wire. Selling economically private goods (your time, your vegetables, your candles) on the web will make money if it gets you more customers; using the web to advertise and deliver services or contract agreements is a good model. But, in the end, just like copyright is dead (although those being lined up on the wall and shot by the old regime might have a moment's doubt), so is the idea that you can exchange any public goods (information) for private (money) and with it the idea that the net itself is actually a money maker any more than a telephone line makes money or a discussion on the street makes money.
If anyone is making money any other way it's because they are ripping ignorant people off (a manifestation of economic inefficiency).
Let's not forget the Motif User Interface Language. C and C++ just aren't built for describing GUI's. Things like the ability to put string definitions in a separate file in Motif UIL makes internationalisation much easier. The UIL allowed for a really thorough separation of the interface from the program; that's a Good Thing.
At work I'm getting some testing stuff going. It would be nice if the various toolkits could settle on a GUI UIL syntax that would let me find out about, and talk to the GUI without having to actually push a mouse around. A good UIL on these other toolkits would really help test automation.
In the 1980's my Dad got an Exabyte drive for his VMS cluster at work (ca. 1Gb back then, I think). The big selling point was the ease of getting media: standard 8mm video tapes. He tested various brands until settling on a couple that produced consistently good backups. He's been able to recover decade+ old backups from those video tapes, much older than the oldest 9mm backup tapes that still work.
Eventually I bought an Exabyte drive for the lab I sys-admined as a grad student.
Of course, manufacturers would love to FUD-you into buying their "data-grade" tape, but the video tape works just as well most of the time. I think Fuji and Maxell were good brands, but I'll have to check with Dad first. I've got Exabyte backups on video tapes; it's a very good system. Just remember that nothing is forever: re-tape your media regularly (which does not mean often, just regularly).
I organise my work by sub-projects. Each has a to do list, appointments related to sub-projects, I track my time, communications, contacts and I take notes that related to appointments and to do items.
I want a calendar that will not only keep an overall and individual project schedule, but which will keep a structured history database where I can take notes, then re-express the log and information as a LaTeX or HTML log book. That sort of log book is IMHO important not only for recording how I approached certain problems, but also as a record of what I was doing on a given day in case some dispute arises.
So in short:
As a general suggestion: the program authors need to study patterns of working behaviours. Take sets of individuals with varying degrees of personal organisation, and find out what functions in that personal organisational pattern can be usefully automated. Discover the commonalities in those patterns and then express them in a system. I'm probably not (quite) the most organised person on the planet, and have very definite working patterns that lend themselves to automation.
From their "Terms of Service"...
4.1.5. The storage and distribution of MP3 format files via the Company network is prohibited.
The Company may take whatever steps necessary to provide its services, and to provide for the enjoyment of such services by all of the Company clients, and to ensure that certain clients do not utilize services to the detriment of other clients. Customers with Websites that do not comply with these simple rules, or who seek to take advantage of the Company unlimited storage or traffic plan in any other way, will, at the discretion of the Company , have their sites canceled and/or removed from the servers and have service charges assessed at the discretion of the Company
Seems easy enough... these are not the folks your friend needs to be dealing with.
The net as we know it today (unlike the French Minitel of the 80's) doesn't encourage people to put up services. Articles like this; slow adoption of IPv6 by legacy O/S's; it's all part of a general disempowerment consumers are experiencing that favours plans like .Net and hotmail that centralise their information in other people's hands when they should be accessing it from their own machines. Why should I use .Net/hotmail when I can get at my own machine over a constant IPv6 address in a secure manner?
Not.
:-)
Economically "public" goods are those where my consumption does not stop your consumption, and consumption does not diminish the supply.
Economically "private" goods are those where consumption by me excludes your consuming the good, and diminishes the supply.
Information is a "public" good, software is therefore also such.
Money is a "private" good, as is your working time.
In selling software you hope to set up an artificial economic inefficiency (I take your of "private" goods, i.e. your money, if you use my "public" good i.e. software) in the hopes of leveraging your expenditure in "private" goods. You want more money for developing the software than someone gave you for doing the development.
It's hard to maintain that sort of inefficiency, especially against competitors who don't want "private" goods for distributing "public" goods (e.g. someone giving away similar software). Usually this inefficiency is maintained by preventing the recipient from understanding the software (e.g. providing an opaque, compiled form) and/or legal structures (licenses, legally enforced rules on behaviour).
Unfortunately, if everyone decides they want a piece of information, legal remedies will disappear, since these remedies are just agreements about what everybody wants. If someone also understands your code (decompiles it, gets the source), you are left without a defense of the economic inefficiency. Furthermore, since you cannot guarantee that the software does what you say it does, (that's an NP complete problem) you face the problem of trying to sell someone something but being unable to guarantee that they actually get what they believe they are buying.
Resolution?
If you program for a living, then don't program unless someone is paying you for it. Sell your time, not your information. You can enforce selling your time because you can withhold the goods if payment is not forthcoming. You cannot do so with software.
Remember, F=ma. You can't push a rope. Also laws of the universe...
This is also why 95% of software is written by people being paid to do so.
I remember sitting around the computer science club at U Waterloo about 11 years ago and discussing these issues. I recall that the conclusion was that you could get your catalogue out to people easily on the net (useful if your catalogue changes a lot, like a stock exchange's ``catalogue'' of goods), take orders easily on the net, but that information would eventually become an economically public good, and that other than as a means of communication, the Internet provided no added value over other models of commerce in and of itself. If communicating better helped your business (as it often does) then the internet is a useful tool, like the telephone is a useful tool, but fundamental rules about making money and economics haven't changed just because it's easier to talk to people.
Pity my honest streak didn't allow my avarice to overcome understanding and rip people off with that pyramid scheme known as Internet stocks.
Economists have already discussed how the transmission of information (bandwidth) is becoming a public good (i.e. one which is in abundant supply and which, when you acquire it, does not prevent others from acquiring it), leaving telco's (hopefully democratically controlled IMHO) with revenue for the physical wire. Selling economically private goods (your time, your vegetables, your candles) on the web will make money if it gets you more customers; using the web to advertise and deliver services or contract agreements is a good model. But, in the end, just like copyright is dead (although those being lined up on the wall and shot by the old regime might have a moment's doubt), so is the idea that you can exchange any public goods (information) for private (money) and with it the idea that the net itself is actually a money maker any more than a telephone line makes money or a discussion on the street makes money.
If anyone is making money any other way it's because they are ripping ignorant people off (a manifestation of economic inefficiency).
trying to climb through the dusty cobwebs on my stucco walls? :-)
Let's not forget the Motif User Interface Language. C and C++ just aren't built for describing GUI's. Things like the ability to put string definitions in a separate file in Motif UIL makes internationalisation much easier. The UIL allowed for a really thorough separation of the interface from the program; that's a Good Thing.
At work I'm getting some testing stuff going. It would be nice if the various toolkits could settle on a GUI UIL syntax that would let me find out about, and talk to the GUI without having to actually push a mouse around. A good UIL on these other toolkits would really help test automation.