Also, you forgot to mention that beyond a certain distance it really becomes impractical.
While there is an eleven second delay between here and the moon, I can't see remotely manipulating anything much beyond that distance without a certain amount of autonomy on the part of our robot alter-egos. This requires a very high level of AI to do anything more useful than skittering about the landscape of faraway planets; the systems will either have to be extremely redundant, or have the ability to effect repairs on themselves when out of communication.
One of the best reasons to keep putting people in space, and maintaining and improving those skills and technologies, that no one has mentioned is as a hedge against future cataclysm. One day our sun will run out of fuel, or some other crisis, like a large meteor or galactic construction project, may make it desireable for the human race to translocate.
Of course, the Galactic Overlords, or their proxy, the Vogon Pan Galactic Construction Company Ltd. may have something to say about that...
So, by your argument our government shouldn't produce anything...
The government printing office should not print useful pamplets because this is competing with 'Kinkos' and other printers. Instead we should 'bid' out all government work. Fortunately, it doesn't work that way, and the public benefits from free or low cost resources from the government so that society as a whole, can benefit.
The Asian governments have decided that it is in the best interests of their society to provide a free and accessible computer operating system. So be it. This is a natural progression of Microsoft's own initiatives to 'commoditize' various aspects of software. Now it has come full circle (our asian brothers would say 'karma') and the operating system itself is in the process of being commoditized.
The cash cow has gotten smarter and has gone home. Microsoft needs to put their money where their mouth is and change, or as they like to say 'innovate', or they will just watch their fortunes dwindle. Of course, the only people this will hurt will be the Microsoftie rank and file; Gates, Balmer and the execs certainly already have massive golden parachutes they can float off unscathed on...
Will the boys from Redmond continue to act like spoiled children, or will they grow a pair and act like mature adults? Stay tuned...
If he did the so-called 'hack' just by changing proxy settings - I think the prosecution is going to have a hard time arguing that he 'broke' in.
If I have an http server sitting where anyone on the internet can touch it - and I expect no one to visit it, and I want to try to charge someone criminally who does, then I must be smoking crack.
If you don't want someone to have access to something, block all access to it (ports) from outside - or set up a proper VPN 'hole' so that access from outside to those critical systems is properly secured. Use a DMZ for those systems that must be accessed by the public.
It sounds like the network admins at the Times are the real criminals, by lying on thier resumes about thier abilities...
Modern RDBMSs already have the ability to store blobs. They can also store pointers to external files. Why not keep your meta data in the database, and point to the files in the file system? This could be fully automated in your browser, for example, so you would 'check-in' information and files you want to keep track of. On a very simple level, you could register random scribblings, categorizing and commenting on them in ways that are impossible with current file systems (objects having multiple categories associated with them, categories and sub category relations that are not strictly trees, etc..)
I think we already have the tools, we just need some smart people to build the applications to leverage it (ok smart people! get to work!)
Funny, I always thought School was a minimum security prison to keep children so Dad could go to work and be a 'productive' member of society, and Mom could get the housework done (or eat bon-bons and mourn the loss of her youth).
Everything really important I learned on my own through personal study and experimentation. However, having the resources available at school helped move that process along just a little faster than it otherwise would have.
A 'Technical' Highschool should provide extra opportunities. It should go above and beyond the vanilla Highschool that I think you are talking about. This school is supposed to be special; make it special - that is all I am saying.
My highschool opened its computer science lab in 1981. I was in the first class as a Junior, and we learned Fortran, and Basic on various PCs (I want to say NCR and Apple machines). We also had 2 terminals and a third printer/terminal connected to the county's minicomputer (which also housed student records:). For that time period, it was pretty advanced study in a Highschool.
Now, given that kids are taking more advanced classes than we took in the past, why not give them a solid foundation at a 'Technical' Highschool? That will give them a leg up when they enter college.
Again, you seem to be taking a 'minimalist' approach. Life is too damn short to be so cautious. In the realm of life, he who dares, wins.
So, you advocate maintaining a skillset that 'everyone' has...lets think about this for a second:
1. You go up for a job, and have to compete with 30,000 other 'Window-centric' technologists. You might get the job.
2. I go up for a job, and the hiring manager tells me "we have been looking for a guy with your talents for two years, and you are the first person we have seen who can do the job".
In my present position, I review resumes for new positions on my project. If the person doesn't have anything but Windows experience, they don't get the job - we need Computer Scientists, not Windows monkeys. We need people who have skillsets that allows them to interact with system administrators, network engineers, technical support tier 3 experts, and other developers in a knowledgeable and detailed manner in various operating systems, hardware and applications. You need to be able to understand the interactions between your application and all of these areas, and when something breaks and tier 3 support can't fix it, then they come to you as the expert in that area.
Perhaps the skills you advocate will be sufficient for the average person in the average job. However, who wants to be average? I am doing some very interesting things on the cutting edge of new technology - and getting paid to do it.
It is bad advice to give to budding computer scientists (or anyone in any field for that matter) to 'aim low'. My advice is to shoot for the stars. Know as much as you can about any and all technologies - and follow your dream, no matter how "impractical" others may say it is.
I sure hope they intend on having other operating systems in the school other than Windows. The key to having marketable IT skills is diversity.
From a hardware standpoint, know how computers work and all of the meta layers of state machines and computers (logic gates, microcode, registers, memory access, and functions of various CPUs, operating systems, applications, and how all of the above is programmed)
From a programming standpoint, know multiple languages and concepts (assembler vs. lisp vs. C vs. perl for example)
From an OS standpoint, know how to get around on any machine (Linux, OSX, BSD, Windows). Have emulators of other OS's that are not as popular.
From a project standpoint, know how to integrate any and all of the above.
The record industry will continue to contract. There will be the 'mating of dinosaurs' as some of the big boys merge. When it is all over, the recording industry will be mostly open source or low cost and spread among a few big guys, and a plethora of smaller open source and small labels.
The music will be better too - since crappy marketroids won't have their hands on it...
Why is it so difficult for people to actually use their brain for something other than a beer sponge? The Unix/Linux paradigm is building small tools to do specific jobs very well, and then building scripts or applications to leverage those tools. Instead of having to remember a string of commands that you use often, why not create a script to make it simple to run? People are so used to the DOS shell, that they don't really get the power of Unix/Linux shell programming.
Pretty does not equate to power. I value power more - so I choose Linux.
However, understand that Microsloth does not want us to have the choice, they want only one choice - Windows. That is wrong - plain and simple, and is why I will not buy Windows any more on moral grounds.
You can put money in the hands of an evil corporation, or you can really try to understand something that may be better than you are used to, when you really apply the right mindset.
We end up supporting ourselves anyway, so - how is that any different with Linux?
We own alot of licenses for software, and we don't get any support beyond what the public gets - so again, where is the advantage?
None. There is no advantage of running Windows over Linux. However, there are plenty of advantages of running Linux over Windows (sourcecode, responcive development communities, cost, stability etc...).
Ummm - how does this differ from just building class libraries for the redundant stuff, and instantiating objects? (or building subroutine libraries, and including and calling the functions from your programs?)
"Its the retailers that decide which models to carry" - gwernol
Actually its the customers who decide, by voting with their dollars. If sales for stripped down players skyrocketted, you can bet retailers would catch the trend and be on the bandwagon. There just is not a high demand (blame the clueless humanoids who scooped up the players with the FM Radios, toothbrush, and electric shavers...)
1. Architecture. If your network is misarchitectured, as I would argue cable's is, then you have too many points vying for a limited pipe back into the internet side. DSL does not have this problem because RTs were pushed out farther (therefore the fibre part of the network serves less customers than does cable's).
2. Grade of Service. If you want a guaranteed upload speed, providers want you to make it worth their while. Therefore, you will have to pay for it. If you want 1.5 Mbit per second symetric - then you will have to pay for it. Service providers run at a loss from regular residential customers (given the billions spent on the networks to date); they make their profit on businesses who require higher grade of service standards - as well as vertical services bundled as part of the contract. It is more dangerous to guarantee a high grade of service (5-9s uptime, and 1.5 Mbit per second, for example), because if the system hicups, and the fault is traced back to the provider, then the provider usually forfeits the contract revenue (still having to provide the service) for a given period of time. The rewards are great, but the risk is greater.
3. Litigation, legislation and regulation. We are a litigious society, and no more so than businesses. Litigation can draw large amounts of potential revenue away from the bottom line. Even the threat of litigation can hit revenue by renegotiation of contracts, or providing '6 months free' etc. service to keep a large contract. Legislation and Regulation also serves to slow down the advance of new technologies because service providers can see little reason to invest billions in new network infrastructure, if they are going to be hamstrung on recouping the investment.
P.S. an analog connection may have a broad bandwidth in terms of analog frequencies, however, those frequencies are limited (as we have seen with analog modem technology) in terms of transmitting data.
DSL uses high frequencies above 4 khz to transmit the data (human speech is mainly in the frequency range of 300 to 3,000 Hz). High frequencies also have the property of having wave forms that are smaller, thus more waves per second can pass between the stations. Utilizing multiplexing, these multiple bands of different frequencies can pass very large amounts of data (very soon we will see one Gigabit speeds on copper - sooner than you think).
Given that, it is a silly to make such an immaterial argument.
My DSL connection is considerably fatter and faster than my old 56 Kbit modem connection (which I never got better than 46 Kbit on).
The speed of all copper connections is very near the speed of light (since electrons travel near that speed on a copper wire), if you want to get really picky - so my old analog modem connection speed was just as fast as my current DSL (the speed of light - resistance over the wire).:p
What tangible costs are there, really, to building an application?
I already own the development boxes; I would anyway regardless of if I build apps or simply run prime number and SETI runs with them in a beowulf cluster. I spent some time; I would have been doing something on my computer anyway, as well. I probably would have built the software anyway, because most of my projects usually scratch some itch that I have that no one else has come up with a solution for. I am not shrink wrapping the apps or otherwise incurring costs as a result of marketing.
So, beyond the initial investment in my time, what am I missing out on, really? Should RedHat give me a cut of their business because I have an app in their distro? What about RedHat's investment in capital equipment to run their business and make a profit?
I don't need any additional income to survive - so I don't perceive a loss, as you do. Now if I had spent additional money to buy equipment, and paid programmers to build the application, and spent money on advertising and distribution - then I might think differently. However, why would I use a GPL business model if I expected a return on invested capital? I shouldn't, unless I have enough mass and resources to reach a mass market - like Redhat, IBM and others are doing successfully.
The really great thing about open source and free software is that both the small operation and the big guys can coexist; however, the return on investment is going to be different for each one. The little guy - in most cases only part of a larger group of part time hackers - is only going to be able to leverage so much business directly from a particular application; his specialization, while important, is only a small piece of the total suite of applications a customer uses, and thus his 'cut', as a result is only a percentage of the total.
The little guy needs to either make peace with that, or expand his capabilities to encompass other aspects - such as 'personalization', integration, or peripheral services which are desired by paying customers that the big guys don't provide. Just as in any market, if you intend on entering an established market and go up against a resource rich rival, you will lose (provided you attempt to do this alone). Again, if you want to specialize in one narrow aspect, you must assume your return on the investment will be minimal, particularly if the area you specialize in is not particularly mission critical, or filled with deep magic.
Flexibility is also critical. If a mass market errupts in an unknown area that you specialize in, you must move fast to fill the vacuume. This means you will need to hire staff, and spend large amounts of capital to meet the demand - impossible for a single person to do alone (although given that something is not on the big guy's radar possible to pull off with the right people beside you and liquid assets - still not a sure bet). From your thesis, however, you seem to want to go it alone, so this option doesn't really apply anyway.
A better bet is to be flexible enough to maintain a niche market(s) that is relatively profitable, yet not big enough for the big guys to bother with. Again, this comes down to specializing in something that is very rare, yet desired, or, diversifying into several not so rare, yet untapped smaller markets. Sometimes you can't pick exactly what you want to do. That is just the breaks. Some skills are in more demand than others. If you happened to pick skills that have a glut of IT workers, or skills that are not in demand (how many professional Pascal programmer positions have you seen in the papers lately?), then tough luck. If you don't want to learn new skills, then you better dang well be the best X there ever was to surmount the odds. Trying to find a solution to your situation is infinitely more useful than crying about something that will not change so you don't have to struggle.
Life is full of struggles to be overcome. We can refuse to deal with it, or we can approach it with a positive attitude, maturity, and be an example of grace under pressure. How do you want to be seen? How do you want to see yourself?
Hold on now - many programmers (myself included) don't have the time or inclination to provide service on a global basis; Red Hat does, and my hat is off to them for filling that niche that many of us can't or won't fill.
Time is precious, and programmers should be able to spend it how they like - without being required to maintain what they build, if they so choose.
I have known some pretty awsome musicians who played gigs on the weekend while pulling down a full time job. They not only played covers, but wrote their own music - and recorded it (actually I did alot of recording for them on my 8 track tascam reel to reel- then mastering onto digital audio or reel to reel, depending on what they wanted - using the same mixer I would use for gigs - and I used to play keyboards [Yamaha], and compose myself).
Equipment - how about top of the line Sennheiser mics with fully shielded din connectors, Bose, Infinity, or Cerwin Vega monitor speakers for stage or studio, Marshall Stacks, Mesa Boogie amps, in an anachoic foam insulated 'garage' recording studio with acoustic baffles and seperate configurable acoustically isolated 'rooms'. The recordings were as good as anything I heard on the radio before or since.
Don't assume non-professional means incompetent. (Part time music geek in my 20's - got rid of the equipment after I got married to pay some bills)
Currently learning guitar in my spare time (scale hell).
Just because it doesn't have the record label's stamp of approval doesn't mean its crud; conversely, that stamp does not obviate crud either, having listened to Britney Spears album lately...
I read the article. It is bozotic in its primal state (who is going to memorize 3 dimensional coordinates, for cryin' out loud)? I think it would work if you hid the coordinate system from the end user.
However, that begs the question, doesn't this just provide the ability to interconnect (relate) all objects in a given super-set randomly? Isn't that what we are really shooting for?
Human beings do not think linearly (as much as we pretend to ourselves that we do). We think randomly, and we are constantly assembling, and reassembling connections to our existing knowledge base, even as it is growing, and even as items stored in it are decaying over time.
Our solution (or at least its interface, apparent to the user) should imitate the way humans naturally think. In my mind this would make the solution more useable to people. The solution needs three things to make it work:
1. Information (thoughts, files, whatever) needs to be able to be brought in, categorized, and commented on (meta data).
2. Information already in the system needs to be able to have multiple new categories and new meta data assigned to it. Categories must be dynamic - able to have new categories created, and existing categories changed at any time.
3. Information must be able to decay from the system to make room for new information. With large enough storage, and fast enough search engines, this can be a very long time indeed. The user should be able to easily prune items as needed if reorganization and search results don't seem to be providing the right solutions.
I am sure someone has already thought of this, but thought I would voice it anyway.
Both at work and at home, I collect innumerable amounts of data that I end up needing at a later date.
The main problem is that the search capabilities inherent in basic file systems are not suitable for searching for binary type files. Similarly, the plethora of text files and the lack of suitable names in large populations of these files often precludes quickly finding what you need, and brute force greps over many files, while workable, is still time consuming when many of these files have similar words or phrases in them.
What we need is a meta layer of abstraction where we can put objects in multiple classes, as well as provide our own verbage about what that object means to us (which is unique from person to person). All of this meta data would be searchable - so you wouldn't have to remember where something was, just what it means to you.
This way, we don't have to remember, 14 months later, that we put the snippet about building a wiget parser in perl in the/home/lodragan/perl/examples/snippets/widgets/pars ing/ directory with the filename widet283745parser.pl (as opposed to widget83475parser.pl). We don't have to remember that our best picture of Grandma is located in \Windows\Desktop\My Pictures\Grandma\ under the filename 082103023984.jpg.
Who really wants (or can for that matter) keep tens of thousands of these abstract relationships in their heads? I can't; I fail at it miserably every day. Searches that should be instantaneous can take hours for particularly abstract information - all of that time wasted on searching.
I am working on a web based client/server application in Zope to address this issue. Some folks have suggested some windows applications already exist for doing this; but, I have not seen anything that would work on a large scale or software like this for GNU/Linux systems. I decided to go with a client/server model for several reasons:
1. Data backup and restoration is centralized - instead of spread across multiple workstations.
2. Sharing information between my family members is more easily accomplished; I intend on building 'public/private' sections so that a user can get the full benefit of the classification and search capabilities without compromizing privacy. Public areas would be available for searching by everyone.
3. Community building is enhanced. I dig the idea of virtual communities, and think this can serve as a central point for building such communities. One of the limitations I see in MUDs and some of the VR game worlds is the lack of a rich collection of tools for putting your mark on the world. There is no way to record and make available information, stories etc, in the game world other than 'word of mouth'. This seems like a particularly strange limitation, having to leave the game world (get out of character outside of the VR) in order to share information or record stories more permanently, given that lore and learning are a prime motivation (or should be) behind many of the role playing that goes into these games. Why not have the ability to build a library in your MUD? This tool could serve as the basis for that - with the right hooks built-in.
Why not get one of these , or, you could always use one of these ...either way you will always remember your passwords.
Also, you forgot to mention that beyond a certain distance it really becomes impractical.
While there is an eleven second delay between here and the moon, I can't see remotely manipulating anything much beyond that distance without a certain amount of autonomy on the part of our robot alter-egos. This requires a very high level of AI to do anything more useful than skittering about the landscape of faraway planets; the systems will either have to be extremely redundant, or have the ability to effect repairs on themselves when out of communication.
One of the best reasons to keep putting people in space, and maintaining and improving those skills and technologies, that no one has mentioned is as a hedge against future cataclysm. One day our sun will run out of fuel, or some other crisis, like a large meteor or galactic construction project, may make it desireable for the human race to translocate.
Of course, the Galactic Overlords, or their proxy, the Vogon Pan Galactic Construction Company Ltd. may have something to say about that...
So, by your argument our government shouldn't produce anything...
The government printing office should not print useful pamplets because this is competing with 'Kinkos' and other printers. Instead we should 'bid' out all government work. Fortunately, it doesn't work that way, and the public benefits from free or low cost resources from the government so that society as a whole, can benefit.
The Asian governments have decided that it is in the best interests of their society to provide a free and accessible computer operating system. So be it. This is a natural progression of Microsoft's own initiatives to 'commoditize' various aspects of software. Now it has come full circle (our asian brothers would say 'karma') and the operating system itself is in the process of being commoditized.
The cash cow has gotten smarter and has gone home. Microsoft needs to put their money where their mouth is and change, or as they like to say 'innovate', or they will just watch their fortunes dwindle. Of course, the only people this will hurt will be the Microsoftie rank and file; Gates, Balmer and the execs certainly already have massive golden parachutes they can float off unscathed on...
Will the boys from Redmond continue to act like spoiled children, or will they grow a pair and act like mature adults? Stay tuned...
If he did the so-called 'hack' just by changing proxy settings - I think the prosecution is going to have a hard time arguing that he 'broke' in.
If I have an http server sitting where anyone on the internet can touch it - and I expect no one to visit it, and I want to try to charge someone criminally who does, then I must be smoking crack.
If you don't want someone to have access to something, block all access to it (ports) from outside - or set up a proper VPN 'hole' so that access from outside to those critical systems is properly secured. Use a DMZ for those systems that must be accessed by the public.
It sounds like the network admins at the Times are the real criminals, by lying on thier resumes about thier abilities...
Modern RDBMSs already have the ability to store blobs. They can also store pointers to external files. Why not keep your meta data in the database, and point to the files in the file system? This could be fully automated in your browser, for example, so you would 'check-in' information and files you want to keep track of. On a very simple level, you could register random scribblings, categorizing and commenting on them in ways that are impossible with current file systems (objects having multiple categories associated with them, categories and sub category relations that are not strictly trees, etc..)
I think we already have the tools, we just need some smart people to build the applications to leverage it (ok smart people! get to work!)
Funny, I always thought School was a minimum security prison to keep children so Dad could go to work and be a 'productive' member of society, and Mom could get the housework done (or eat bon-bons and mourn the loss of her youth).
Everything really important I learned on my own through personal study and experimentation. However, having the resources available at school helped move that process along just a little faster than it otherwise would have.
A 'Technical' Highschool should provide extra opportunities. It should go above and beyond the vanilla Highschool that I think you are talking about. This school is supposed to be special; make it special - that is all I am saying.
My highschool opened its computer science lab in 1981. I was in the first class as a Junior, and we learned Fortran, and Basic on various PCs (I want to say NCR and Apple machines). We also had 2 terminals and a third printer/terminal connected to the county's minicomputer (which also housed student records :). For that time period, it was pretty advanced study in a Highschool.
Now, given that kids are taking more advanced classes than we took in the past, why not give them a solid foundation at a 'Technical' Highschool? That will give them a leg up when they enter college.
Again, you seem to be taking a 'minimalist' approach. Life is too damn short to be so cautious. In the realm of life, he who dares, wins.
So, you advocate maintaining a skillset that 'everyone' has...lets think about this for a second:
1. You go up for a job, and have to compete with 30,000 other 'Window-centric' technologists. You might get the job.
2. I go up for a job, and the hiring manager tells me "we have been looking for a guy with your talents for two years, and you are the first person we have seen who can do the job".
In my present position, I review resumes for new positions on my project. If the person doesn't have anything but Windows experience, they don't get the job - we need Computer Scientists, not Windows monkeys. We need people who have skillsets that allows them to interact with system administrators, network engineers, technical support tier 3 experts, and other developers in a knowledgeable and detailed manner in various operating systems, hardware and applications. You need to be able to understand the interactions between your application and all of these areas, and when something breaks and tier 3 support can't fix it, then they come to you as the expert in that area.
Perhaps the skills you advocate will be sufficient for the average person in the average job. However, who wants to be average? I am doing some very interesting things on the cutting edge of new technology - and getting paid to do it.
It is bad advice to give to budding computer scientists (or anyone in any field for that matter) to 'aim low'. My advice is to shoot for the stars. Know as much as you can about any and all technologies - and follow your dream, no matter how "impractical" others may say it is.
I sure hope they intend on having other operating systems in the school other than Windows. The key to having marketable IT skills is diversity.
From a hardware standpoint, know how computers work and all of the meta layers of state machines and computers (logic gates, microcode, registers, memory access, and functions of various CPUs, operating systems, applications, and how all of the above is programmed)
From a programming standpoint, know multiple languages and concepts (assembler vs. lisp vs. C vs. perl for example)
From an OS standpoint, know how to get around on any machine (Linux, OSX, BSD, Windows). Have emulators of other OS's that are not as popular.
From a project standpoint, know how to integrate any and all of the above.
Our future computer scientists deserve no less.
The record industry will continue to contract. There will be the 'mating of dinosaurs' as some of the big boys merge. When it is all over, the recording industry will be mostly open source or low cost and spread among a few big guys, and a plethora of smaller open source and small labels.
The music will be better too - since crappy marketroids won't have their hands on it...
Why is it so difficult for people to actually use their brain for something other than a beer sponge? The Unix/Linux paradigm is building small tools to do specific jobs very well, and then building scripts or applications to leverage those tools. Instead of having to remember a string of commands that you use often, why not create a script to make it simple to run? People are so used to the DOS shell, that they don't really get the power of Unix/Linux shell programming.
Pretty does not equate to power. I value power more - so I choose Linux.
However, understand that Microsloth does not want us to have the choice, they want only one choice - Windows. That is wrong - plain and simple, and is why I will not buy Windows any more on moral grounds.
You can put money in the hands of an evil corporation, or you can really try to understand something that may be better than you are used to, when you really apply the right mindset.
This is not off topic. If you follow that link, you will see that the idea of treating your customers like people is an idea that is not new...
Cretin...
Who gets 'support' from M$?
We end up supporting ourselves anyway, so - how is that any different with Linux?
We own alot of licenses for software, and we don't get any support beyond what the public gets - so again, where is the advantage?
None. There is no advantage of running Windows over Linux. However, there are plenty of advantages of running Linux over Windows (sourcecode, responcive development communities, cost, stability etc...).
Here is a blast from the past - the ClueTrain Manifesto
Enjoy the ride...
Share the love...
Someone gets it, or is doing a good job of pretending to, anyway.
Ummm - how does this differ from just building class libraries for the redundant stuff, and instantiating objects? (or building subroutine libraries, and including and calling the functions from your programs?)
Seems like 6 dozen of one, and 72 of another...
"Its the retailers that decide which models to carry" - gwernol
Actually its the customers who decide, by voting with their dollars. If sales for stripped down players skyrocketted, you can bet retailers would catch the trend and be on the bandwagon. There just is not a high demand (blame the clueless humanoids who scooped up the players with the FM Radios, toothbrush, and electric shavers...)
Asymmetry has to do with several issues:
1. Architecture. If your network is misarchitectured, as I would argue cable's is, then you have too many points vying for a limited pipe back into the internet side. DSL does not have this problem because RTs were pushed out farther (therefore the fibre part of the network serves less customers than does cable's).
2. Grade of Service. If you want a guaranteed upload speed, providers want you to make it worth their while. Therefore, you will have to pay for it. If you want 1.5 Mbit per second symetric - then you will have to pay for it. Service providers run at a loss from regular residential customers (given the billions spent on the networks to date); they make their profit on businesses who require higher grade of service standards - as well as vertical services bundled as part of the contract. It is more dangerous to guarantee a high grade of service (5-9s uptime, and 1.5 Mbit per second, for example), because if the system hicups, and the fault is traced back to the provider, then the provider usually forfeits the contract revenue (still having to provide the service) for a given period of time. The rewards are great, but the risk is greater.
3. Litigation, legislation and regulation. We are a litigious society, and no more so than businesses. Litigation can draw large amounts of potential revenue away from the bottom line. Even the threat of litigation can hit revenue by renegotiation of contracts, or providing '6 months free' etc. service to keep a large contract. Legislation and Regulation also serves to slow down the advance of new technologies because service providers can see little reason to invest billions in new network infrastructure, if they are going to be hamstrung on recouping the investment.
P.S. an analog connection may have a broad bandwidth in terms of analog frequencies, however, those frequencies are limited (as we have seen with analog modem technology) in terms of transmitting data.
DSL uses high frequencies above 4 khz to transmit the data (human speech is mainly in the frequency range of 300 to 3,000 Hz). High frequencies also have the property of having wave forms that are smaller, thus more waves per second can pass between the stations. Utilizing multiplexing, these multiple bands of different frequencies can pass very large amounts of data (very soon we will see one Gigabit speeds on copper - sooner than you think).
Given that, it is a silly to make such an immaterial argument.
Broad Bandwidth = Large Pipe = Fast Download
:p
My DSL connection is considerably fatter and faster than my old 56 Kbit modem connection (which I never got better than 46 Kbit on).
The speed of all copper connections is very near the speed of light (since electrons travel near that speed on a copper wire), if you want to get really picky - so my old analog modem connection speed was just as fast as my current DSL (the speed of light - resistance over the wire).
What tangible costs are there, really, to building an application?
I already own the development boxes; I would anyway regardless of if I build apps or simply run prime number and SETI runs with them in a beowulf cluster.
I spent some time; I would have been doing something on my computer anyway, as well. I probably would have built the software anyway, because most of my projects usually scratch some itch that I have that no one else has come up with a solution for.
I am not shrink wrapping the apps or otherwise incurring costs as a result of marketing.
So, beyond the initial investment in my time, what am I missing out on, really? Should RedHat give me a cut of their business because I have an app in their distro? What about RedHat's investment in capital equipment to run their business and make a profit?
I don't need any additional income to survive - so I don't perceive a loss, as you do. Now if I had spent additional money to buy equipment, and paid programmers to build the application, and spent money on advertising and distribution - then I might think differently. However, why would I use a GPL business model if I expected a return on invested capital? I shouldn't, unless I have enough mass and resources to reach a mass market - like Redhat, IBM and others are doing successfully.
The really great thing about open source and free software is that both the small operation and the big guys can coexist; however, the return on investment is going to be different for each one. The little guy - in most cases only part of a larger group of part time hackers - is only going to be able to leverage so much business directly from a particular application; his specialization, while important, is only a small piece of the total suite of applications a customer uses, and thus his 'cut', as a result is only a percentage of the total.
The little guy needs to either make peace with that, or expand his capabilities to encompass other aspects - such as 'personalization', integration, or peripheral services which are desired by paying customers that the big guys don't provide. Just as in any market, if you intend on entering an established market and go up against a resource rich rival, you will lose (provided you attempt to do this alone). Again, if you want to specialize in one narrow aspect, you must assume your return on the investment will be minimal, particularly if the area you specialize in is not particularly mission critical, or filled with deep magic.
Flexibility is also critical. If a mass market errupts in an unknown area that you specialize in, you must move fast to fill the vacuume. This means you will need to hire staff, and spend large amounts of capital to meet the demand - impossible for a single person to do alone (although given that something is not on the big guy's radar possible to pull off with the right people beside you and liquid assets - still not a sure bet). From your thesis, however, you seem to want to go it alone, so this option doesn't really apply anyway.
A better bet is to be flexible enough to maintain a niche market(s) that is relatively profitable, yet not big enough for the big guys to bother with. Again, this comes down to specializing in something that is very rare, yet desired, or, diversifying into several not so rare, yet untapped smaller markets. Sometimes you can't pick exactly what you want to do. That is just the breaks. Some skills are in more demand than others. If you happened to pick skills that have a glut of IT workers, or skills that are not in demand (how many professional Pascal programmer positions have you seen in the papers lately?), then tough luck. If you don't want to learn new skills, then you better dang well be the best X there ever was to surmount the odds. Trying to find a solution to your situation is infinitely more useful than crying about something that will not change so you don't have to struggle.
Life is full of struggles to be overcome. We can refuse to deal with it, or we can approach it with a positive attitude, maturity, and be an example of grace under pressure. How do you want to be seen? How do you want to see yourself?
Hold on now - many programmers (myself included) don't have the time or inclination to provide service on a global basis; Red Hat does, and my hat is off to them for filling that niche that many of us can't or won't fill.
Time is precious, and programmers should be able to spend it how they like - without being required to maintain what they build, if they so choose.
I have known some pretty awsome musicians who played gigs on the weekend while pulling down a full time job. They not only played covers, but wrote their own music - and recorded it (actually I did alot of recording for them on my 8 track tascam reel to reel- then mastering onto digital audio or reel to reel, depending on what they wanted - using the same mixer I would use for gigs - and I used to play keyboards [Yamaha], and compose myself).
/dev/null;
Equipment - how about top of the line Sennheiser mics with fully shielded din connectors, Bose, Infinity, or Cerwin Vega monitor speakers for stage or studio, Marshall Stacks, Mesa Boogie amps, in an anachoic foam insulated 'garage' recording studio with acoustic baffles and seperate configurable acoustically isolated 'rooms'. The recordings were as good as anything I heard on the radio before or since.
Don't assume non-professional means incompetent. (Part time music geek in my 20's - got rid of the equipment after I got married to pay some bills)
Currently learning guitar in my spare time (scale hell).
Just because it doesn't have the record label's stamp of approval doesn't mean its crud; conversely, that stamp does not obviate crud either, having listened to Britney Spears album lately...
mv "AC's Argument"
I read the article. It is bozotic in its primal state (who is going to memorize 3 dimensional coordinates, for cryin' out loud)? I think it would work if you hid the coordinate system from the end user.
However, that begs the question, doesn't this just provide the ability to interconnect (relate) all objects in a given super-set randomly? Isn't that what we are really shooting for?
Human beings do not think linearly (as much as we pretend to ourselves that we do). We think randomly, and we are constantly assembling, and reassembling connections to our existing knowledge base, even as it is growing, and even as items stored in it are decaying over time.
Our solution (or at least its interface, apparent to the user) should imitate the way humans naturally think. In my mind this would make the solution more useable to people. The solution needs three things to make it work:
1. Information (thoughts, files, whatever) needs to be able to be brought in, categorized, and commented on (meta data).
2. Information already in the system needs to be able to have multiple new categories and new meta data assigned to it. Categories must be dynamic - able to have new categories created, and existing categories changed at any time.
3. Information must be able to decay from the system to make room for new information. With large enough storage, and fast enough search engines, this can be a very long time indeed. The user should be able to easily prune items as needed if reorganization and search results don't seem to be providing the right solutions.
I am sure someone has already thought of this, but thought I would voice it anyway.
You have hit on a key problem that I have.
/home/lodragan/perl/examples/snippets/widgets/pars ing/ directory with the filename widet283745parser.pl (as opposed to widget83475parser.pl). We don't have to remember that our best picture of Grandma is located in \Windows\Desktop\My Pictures\Grandma\ under the filename 082103023984.jpg.
Both at work and at home, I collect innumerable amounts of data that I end up needing at a later date.
The main problem is that the search capabilities inherent in basic file systems are not suitable for searching for binary type files. Similarly, the plethora of text files and the lack of suitable names in large populations of these files often precludes quickly finding what you need, and brute force greps over many files, while workable, is still time consuming when many of these files have similar words or phrases in them.
What we need is a meta layer of abstraction where we can put objects in multiple classes, as well as provide our own verbage about what that object means to us (which is unique from person to person). All of this meta data would be searchable - so you wouldn't have to remember where something was, just what it means to you.
This way, we don't have to remember, 14 months later, that we put the snippet about building a wiget parser in perl in the
Who really wants (or can for that matter) keep tens of thousands of these abstract relationships in their heads? I can't; I fail at it miserably every day. Searches that should be instantaneous can take hours for particularly abstract information - all of that time wasted on searching.
I am working on a web based client/server application in Zope to address this issue. Some folks have suggested some windows applications already exist for doing this; but, I have not seen anything that would work on a large scale or software like this for GNU/Linux systems. I decided to go with a client/server model for several reasons:
1. Data backup and restoration is centralized - instead of spread across multiple workstations.
2. Sharing information between my family members is more easily accomplished; I intend on building 'public/private' sections so that a user can get the full benefit of the classification and search capabilities without compromizing privacy. Public areas would be available for searching by everyone.
3. Community building is enhanced. I dig the idea of virtual communities, and think this can serve as a central point for building such communities. One of the limitations I see in MUDs and some of the VR game worlds is the lack of a rich collection of tools for putting your mark on the world. There is no way to record and make available information, stories etc, in the game world other than 'word of mouth'. This seems like a particularly strange limitation, having to leave the game world (get out of character outside of the VR) in order to share information or record stories more permanently, given that lore and learning are a prime motivation (or should be) behind many of the role playing that goes into these games. Why not have the ability to build a library in your MUD? This tool could serve as the basis for that - with the right hooks built-in.