p.s. I've not bothered to read anybody else's, so I apologise in advance for any duplication. Here goes.
First thought: 2012 as a year is as imaginary as 1984. But don't worry.
Smart devices that talk to each other without human intervention, store merchandise that rings itself up for purchase and machines that finally understand the spoken word are just some of the new technologies awaiting us in the year 2012.
Minimal intervention---not no intervention. That simple, subtle difference is all that is required to keep humans in control.
I've borrowed many ideas from these three deep thinkers, but the predictions that follow are mine -- so I deserve all the blame for anything that looks silly 10 years from now.
No blame. All you're doing is exploring what could be, and thinking about it so that those of us concerned about the present don't have to (all that much...)
So here are my five big ideas for how technology will reshape our daily routines in 2012: The Internet is everywhere -- and nowhere.
One word. Pervasive. An important word to understand.
Almost every object we own that uses electricity will be connected to the Internet in 2012, yet we will rarely be aware of this near-universal connectivity, because so much of the conversation will be machine-to-machine communication.
Yep. Laziness is good. Leave what can be left to machines to machines, and leave the proper thinking to the humans.
You'll no longer be surprised to get a call from the repair center at Sears or Maytag saying your washing machine is using too much hot water and needs adjustment -- information the washing machine has sent through the Net, without any action of your part, back to the factory where it was built.
I wouldn't be suprised if it happened today.
All present and accounted for -- always. Instant messaging is popular, in part, because IM software tells you which of your friends are online waiting to chat. This concept, formally known as ``presence,'' will be extended to all forms of electronic communication.
Already on its way. This is perfectly natural, and has, of course, happened with every medium of communicaition that I can think of. (Basically, people learn to get the most mileage out of any communication medium that they are offered)
Family, friends and co-workers will be able to instantly see where you are, thanks to wireless phones even tinier than what's available today and other devices with built-in GPS locators.
Keep in mind the importance of being able to switch these things off. Privacy must always have its place.
You'll be able to specify how you wish to be reached: by text if you're busy, by voice or video if you're free. Between now and 2012, expect major controversy on whether employers, schools and advertisers should have access to your ``presence.''
Yep.
Walk now, pay later.
Stores without doors will rely on RFID, or radio-frequency identification, tags to keep track of inventory and payment. These tiny semiconductors communicate a small amount of information, such as a product serial number, when queried by inexpensive transmitter/receivers. Only recently selling for several dollars, RFID chips should cost only a few cents next year and will be smaller than a grain of rice.
In 2012, RFID chips will sell for less than a penny and be printed onto packaging and price tags -- the beginning of the end for cash registers. You walk into a store, put what you want in a bag and walk out the door. An RFID transmitter/receiver in the entryway instantly totals up your purchases and makes a deduction from the RFID credit card in your wallet. If nothing else, RFID could have spared Winona Ryder her recent and very embarrassing shoplifting arrest.
But it made great fun for the tabloid journalists:-) And she is, by her profession, there to entertain us;-)
Prime time is your time.
Every cable and satellite television receiver will include a hard disk for recording shows, and those disks will have a minimum capacity of one terabyte, or 1,000 gigabytes, enough to store hundreds of hours of high-definition programming.
Except for special events such as the Super Bowl and the Academy Awards, no one will watch TV shows at the time they are transmitted, and conventional 30-second commercials will be rare because advertisers won't pay when most viewers can hit the fast-forward button. Major broadcast networks and traditional prime-time programming will be fading, with most entertainment sold through either a monthly subscription or a pay-per-view fee.
Don't bet on that. Letting the rest of the world decide what you want to watch has its uses (it saves you the effort of having to decide...)
Finally, we can talk to our computers.
Don't we do that already... (e.g. You F*****G piece of S**T!!? Why don't you F*****G well work?)
The argument that Minna Karai seems to be
trying to put across (and this is a hard
one to pin down, let alone argue properly)
is that X puts its 'abstraction layer(s)'
in the wrong place.
If this is a flaw
of X, then (without moving to another platform)
no amount of building toolkits, etc. can
fix the problem (merely work around it
accumulating a lot of cruft a la Windows/CDE/etc.)
The thing, as I see it, is that the GUI abstractions laid down by the use of the X protocol (if you use X you must work around its protocol for obvious resions) are, in some sense, 'in the wrong place' for the construction of modern GUI systems.
This same flaw is
(as noted) true of other mainstream GUI systems,
and they (e.g. M$ and Apple) have other solutions
for the common case (pulling rank within their
respecive corporations, using peer pressure
etc. outside) in order to keep things consistent.
The GUI/family-of-GUI's built upon X has nothing
comparable in strength to keep things in line.
The same can be said if we restrict our attention to just the GUI's running on Linux under X.
I believe Minna's point is that we need to
(re)consider how the GUI of an application is
abstracted from the underlying 'engine'. I
most certainly concur with this point, but
it is a difficult problem to pin down,
let alone decide on a solution for.
It's not possible to release a software product into the public domain such that modified versions of the product must also be public domain.
One of the main purposes of the GPL is to effectively prevent further restrictions being added by a third party.
For example, I write program A and release it as public domain. Somebody else does something fancy-but-simple with it to get program B, most of which is still the same as (my) program A. He is able to release his product B under a license that requires that program B cannot be copied freely (unlike program A) cannot be modified or reverse engineered (unlike program A) etc.
Given the current position with what copyright controls and how rules about derivative works work etc. GPL is a pretty good approximation to the situation where copyright doesn't exist, but Stallman's ideal situation where everything can be copied freely cannot be approximated in the current climate.
Trouble is, so many quick and easy calculations, especially the day to day ones can be done in ones head quicker than it takes to press the keys. Also, not being able to handle simple calculations leads to 'blind trust' of whatever the calculator happens to spew out.
The idea (neither new nor common) is that binary code cannot be executed in any way by the system until it has been verified to be safe for the system to execute. Effectively, user-writable areas of memory are partitioned from machine-execuable areas of memory, and only trusted bits of code can write data into the machine-executable area.
As others have pointed out, n is the size of the input, i.e. the number of bits representing the number. A number that requires e.g. 20 bits to write (i.e. has a 1 in the 20th place) would then be between 2^19 and 2^20 (if we start counting at 1, so the 20th place corresponds to 2^19). Thus the input for p has size approx. lg2 p and so the for loop requres sqrt(p) ~ sqrt(2^n) = 2^(0.5 n) steps. This is exponential time.
You must always be careful not to confuse the size of the input with what it represents.
Whilst its place wouldn't really be inside KDE, some kind of standard central `hardware/os events daemon' to which process can attach themselves is a must. What is required is the ability to be able to say `watch the CD; tell me when it is inserted/removed/whatever', 'tell me if this folder gets modified', etc. Yes I know this can be done via various approaches/workarounds, but for each and every application author to do this is rather wasteful.
As an immediate thought, allowing a user configurable constant multiplier for the ticks-per-second variable in the MNG header would be possible and (hopefully) rather straightforward. Allowing the ticks-per-second to be uniformly set or bounded could lead to silly differences in speeds between animations.
Quick question: what's the US army's current recruitment budget (i.e. money for advertising etc. for recruits). Then look at this is a part of that budget, and ask whether it's worth it. Certainly there's a lot worse one can do with $7.5m so far as recruitment advertising goes.
Whilst I can see the point about Sim Mess Duty and Sim Blister, the one about Sim Invade Iraq etc. shouldn't be put down in quite the same way.
The fact is, war's are not (usually) started by soldiers, and not (usually) started because soldiers want to fight them. So far as the western world and many other countries besides are concerned, wars are started by politicians. International support for wars is built up and lost by politicians. And yes, many politicians will like the idea of war if it gives them good ratings (though hopefully won't go so far as starting one for those reasons).
In short, the last of the 'joke' names was aimed at politicians rather more than soldiers, and politicians certainly deserve less respect.
My biggest gripe about the current state of the KDE UI design is clutter. This is something that loading fancy eye-candy from kde-look.org cannot easily fix.
Load, e.g. KWord, and then pause for a moment to reflect on how many toolbar buttons there are, and how much one can accomplish with them. And last time I checked, it wasn't easy to rearrange things to get rid of the things you use least.
My take on the use of toolbars comes from the common (RISC era) maxim: optimise the common case. Commonly used operations should go on the toolbar. More transient widgets should be used for less common things (e.g. menus, context specific sidebars, etc.), and it should be possible for someone to, with a few clicks in the right place, pick up a button, or grab a shortcut to something and place it on a toolbar themselves.
A second comment regarding clutter is palettes for this and that. I'd personally like to see them used a little more, and there needs to be some standard (i.e. already written, well integrated, etc.) way for an application to create palettes for various operations, and have them organised. Note that this sort of thing presents problems in the face of the big fat invisible line drawn between window management and an applications widgets.
p.s. One should take note of that flat button on MacOS X, allowing one to show and hide all toobars with the click of a mouse.
Funny. Whilst the instructions warn me that it doesn't work with W2K, it works fine on my (W2K) box.
That said, sometimes the soundtrack gets a little confused (with some of the sound effects being dropped), and the very occasional crash (i.e. W:BC disappears, sending me back to the desktop, much like with dodgy full-screen software under *NIX).
Alternative consideration of similar problem
on
Abusing the GPL?
·
· Score: 1
Suppose that I write a proprietary compiler for a wierd language that will link with the library (possibly auto-generating some C to stick through GCC on the way). The compiler is not covered by the GPL, and, by having the source be a wierd, 'strict syntax' encoded language that -IS- in the preferred form, but requires a proprietary editor to effectively manipulate that 'preferred form', then the source is effectively useless.
This does, however, give a reasonably legitimate reason for GPL'd tools to reverse engineer binaries and pull obfuscated source to bits (i.e. why their purpose is not mainly for copyright violation etc.). (Note that the GPL effectively prevents someone putting a 'you cannot reverse engineer etc.' clause into a license agreement, regardless of whether such clauses are enforceable in a given country).
A certain degree of 'collective responsibilty' together with individual 'carrot/stick' is what is needed. Have 'good' ISP's marked as such, and 'bad' ISP's marked as such. Then, when a certain region causes problems on the scale we're seeing, ban the region, except for the 'good' ISP's. And ban a 'bad' ISP regardless of where it is in the world. This would probably present a good incentive for good ethical practice, since it would make the ISP attractive to genuine emailers.
If only 70%, say, of their customers wanted Windows, them MS's contracts and discounts etc. make it cost effective to pay for MS Windows licences for every PC they sell, and whatever other terms. Otherwise, that 70% of customers that want Windows will go elsewhere. Basically the agreements amount to a 'sign this or go out of business' ultimatum, as others have pointed out.
Since the publisher isn't getting paid for any of those copies, why should they bother publishing any more?
That's rather hollow. Without such a strong system as copyright, it would still be worth it for many companies to publish stuff. All that is required, in the copyright sense, is the ability to prevent someone besides the publisher mass-producing copies. So that for individuals to copy the stuff around takes time and effort, and may indeed exceed the value of the book. Prices would then stabilise in a different shape to what we have now. But there would still be too much money in the area for everybody to refuse to try.
One other point. It is very hard to "steal" a copy of a book that is anywhere near as nice as the original. This is another big difference with digital media. The ability to make perfect copies. Personally, I don't think any model of commerce from the 19th century and before can handle it, and we certainly don't have things figured out yet.
Something some people seem to have missed is that, whilst there may be many cases where a machine such as this will NOT work, there are many cases where it will. And it is quicker to manufacture such a machine, once the R&D has been done, than to train up more bomb disposal people. This means that the 'easier' mine disposal operations can be done by machine, leaving the humans free for other ones, overall improving mine disposal prospects. Obviously this is the optimistic view, but having seen the pessimistic view, I thought it should be put.
30 metres is probably what it was supposed to be. A large heavy hammer at 60mph. 300 metres per second would take an explosion to reach the right speed. They could mean something like a pneumatic hammer (with very long throw).
Hitting a mine with a hammer at 3 ms^-1 (approx. 6 mph, 10kmh) is (very) roughly equivalent to someone stepping on it. Taking the hammer off is roughly like someone setting it off. Seems to me that the mine would just blow up if that was the case. p.s. this much isn't physics so much as common sense. p.p.s. The penetration of a bullet is to do with concentration of force (i.e. apply a large force to a small area, hence the idea of lightweight bullet-proof vests that spread the impact area out again).
Not to mention that there is a lot of concern as to how far and wide Enron's lobbying and influence got before it crashed. Part of the point is that Enron wasn't the only one.
First thought: 2012 as a year is as imaginary as 1984. But don't worry.
Minimal intervention---not no intervention. That simple, subtle difference is all that is required to keep humans in control.
No blame. All you're doing is exploring what could be, and thinking about it so that those of us concerned about the present don't have to (all that much...)
One word. Pervasive. An important word to understand.
Yep. Laziness is good. Leave what can be left to machines to machines, and leave the proper thinking to the humans.
I wouldn't be suprised if it happened today.
Already on its way. This is perfectly natural, and has, of course, happened with every medium of communicaition that I can think of. (Basically, people learn to get the most mileage out of any communication medium that they are offered)
Keep in mind the importance of being able to switch these things off. Privacy must always have its place.
Yep.
But it made great fun for the tabloid journalists
Don't bet on that. Letting the rest of the world decide what you want to watch has its uses (it saves you the effort of having to decide...)
Don't we do that already... (e.g. You F*****G piece of S**T!!? Why don't you F*****G well work?)
The argument that Minna Karai seems to be trying to put across (and this is a hard one to pin down, let alone argue properly) is that X puts its 'abstraction layer(s)' in the wrong place.
If this is a flaw of X, then (without moving to another platform) no amount of building toolkits, etc. can fix the problem (merely work around it accumulating a lot of cruft a la Windows/CDE/etc.)
The thing, as I see it, is that the GUI abstractions laid down by the use of the X protocol (if you use X you must work around its protocol for obvious resions) are, in some sense, 'in the wrong place' for the construction of modern GUI systems.
This same flaw is (as noted) true of other mainstream GUI systems, and they (e.g. M$ and Apple) have other solutions for the common case (pulling rank within their respecive corporations, using peer pressure etc. outside) in order to keep things consistent. The GUI/family-of-GUI's built upon X has nothing comparable in strength to keep things in line. The same can be said if we restrict our attention to just the GUI's running on Linux under X.
I believe Minna's point is that we need to (re)consider how the GUI of an application is abstracted from the underlying 'engine'. I most certainly concur with this point, but it is a difficult problem to pin down, let alone decide on a solution for.
It's not possible to release a software product into the public domain such that modified versions of the product must also be public domain.
One of the main purposes of the GPL is to effectively prevent further restrictions being added by a third party.
For example, I write program A and release it as public domain. Somebody else does something fancy-but-simple with it to get program B, most of which is still the same as (my) program A. He is able to release his product B under a license that requires that program B cannot be copied freely (unlike program A) cannot be modified or reverse engineered (unlike program A) etc.
Given the current position with what copyright controls and how rules about derivative works work etc. GPL is a pretty good approximation to the situation where copyright doesn't exist, but Stallman's ideal situation where everything can be copied freely cannot be approximated in the current climate.
More likely response: 'Well, I never liked Shakespeare either'...
Trouble is, so many quick and easy calculations, especially the day to day ones can be done in ones head quicker than it takes to press the keys.
Also, not being able to handle simple calculations leads to 'blind trust' of whatever the calculator happens to spew out.
The idea (neither new nor common) is that binary code cannot be executed in any way by the system until it has been verified to be safe for the system to execute. Effectively, user-writable areas of memory are partitioned from machine-execuable areas of memory, and only trusted bits of code can write data into the machine-executable area.
Note that the figures at
fas.org indicate that the speed of the Minuteman III at burnout is approx. Mach 23.
What you do have the potential for (given significant further progress) is very fast cruise missiles, not ICBM's.
As others have pointed out, n is the size of the input, i.e. the number of bits representing the number. A number that requires e.g. 20 bits to write (i.e. has a 1 in the 20th place) would then be between 2^19 and 2^20 (if we start counting at 1, so the 20th place corresponds to 2^19). Thus the input for p has size approx. lg2 p and so the for loop requres sqrt(p) ~ sqrt(2^n) = 2^(0.5 n) steps. This is exponential time.
You must always be careful not to confuse the size of the input with what it represents.
Whilst its place wouldn't really be inside KDE, some kind of standard central `hardware/os events daemon' to which process can attach themselves
is a must. What is required is the ability to
be able to say `watch the CD; tell me when it is inserted/removed/whatever', 'tell me if this folder gets modified', etc. Yes I know this can be done via various approaches/workarounds, but for each and every application author to do this is rather wasteful.
As an immediate thought, allowing a user configurable constant multiplier for the
ticks-per-second variable in the MNG header
would be possible and (hopefully)
rather straightforward. Allowing the ticks-per-second to be uniformly set or bounded could lead to silly differences in speeds between animations.
Quick question: what's the US army's current recruitment budget (i.e. money for advertising etc. for recruits). Then look at this is a part of that budget, and ask whether it's worth it.
Certainly there's a lot worse one can do with $7.5m so far as recruitment advertising goes.
Whilst I can see the point about Sim Mess Duty and Sim Blister, the one about Sim Invade Iraq etc. shouldn't be put down in quite the same way.
The fact is, war's are not (usually) started by soldiers, and not (usually) started because soldiers want to fight them. So far as the western world and many other countries besides are concerned, wars are started by politicians. International support for wars is built up and lost by politicians. And yes, many politicians will like the idea of war if it gives them good ratings (though hopefully won't go so far as starting one for those reasons).
In short, the last of the 'joke' names was aimed at politicians rather more than soldiers, and politicians certainly deserve less respect.
Besides -- write the 4 line algorithm as a diophantine equation and voila! back comes the equals sign.
1 MINUTE?? Everybody knows a CD is usually fully cooked after about 5 seconds.
My biggest gripe about the current state of the KDE UI design is clutter. This is something that loading fancy eye-candy from kde-look.org cannot easily fix.
Load, e.g. KWord, and then pause for a moment
to reflect on how many toolbar buttons there are, and how much one can accomplish with them.
And last time I checked, it wasn't easy to rearrange things to get rid of the things you use least.
My take on the use of toolbars comes from the common (RISC era) maxim: optimise the common case.
Commonly used operations should go on the toolbar. More transient widgets should be used for less common things (e.g. menus, context specific sidebars, etc.), and it should be possible for someone to, with a few clicks in the right place, pick up a button, or grab a shortcut to something and place it on a toolbar themselves.
A second comment regarding clutter is palettes for this and that. I'd personally like to see them used a little more, and there needs to be some standard (i.e. already written, well integrated, etc.) way for an application to create palettes for various operations, and have them organised. Note that this sort of thing presents problems in the face of the big fat invisible line drawn between window management and an applications widgets.
p.s. One should take note of that flat button on MacOS X, allowing one to show and hide all toobars with the click of a mouse.
Funny. Whilst the instructions warn me that it doesn't work with W2K, it works fine on my (W2K) box.
That said, sometimes the soundtrack gets a little confused (with some of the sound effects being dropped), and the very occasional crash (i.e. W:BC disappears, sending me back to the desktop, much like with dodgy full-screen software under *NIX).
Suppose that I write a proprietary compiler for a wierd language that will link with the library (possibly auto-generating some C to stick through
GCC on the way). The compiler is not covered by the GPL, and, by having the source be a wierd, 'strict syntax' encoded language that -IS- in the preferred form, but requires a proprietary editor to effectively manipulate that 'preferred form', then the source is effectively useless.
This does, however, give a reasonably legitimate reason for GPL'd tools to reverse engineer binaries and pull obfuscated source to bits (i.e. why their purpose is not mainly for copyright violation etc.).
(Note that the GPL effectively prevents someone putting a 'you cannot reverse engineer etc.' clause into a license agreement, regardless of whether such clauses are enforceable in a given country).
IANAL, but this is just a thought.
A certain degree of 'collective responsibilty' together with individual 'carrot/stick' is what is needed. Have 'good' ISP's marked as such, and
'bad' ISP's marked as such. Then, when a certain region causes problems on the scale we're seeing, ban the region, except for the 'good' ISP's. And ban a 'bad' ISP regardless of where it is in the world. This would probably present a good incentive for good ethical practice, since it would make the ISP attractive to genuine emailers.
If only 70%, say, of their customers wanted Windows, them MS's contracts and discounts etc. make it cost effective to pay for MS Windows licences for every PC they sell, and whatever other terms. Otherwise, that 70% of customers that want Windows will go elsewhere. Basically the agreements amount to a 'sign this or go out of business' ultimatum, as others have pointed out.
That's rather hollow. Without such a strong system as copyright, it would still be worth it for many companies to publish stuff. All that is required, in the copyright sense, is the ability to prevent someone besides the publisher mass-producing copies. So that for individuals to copy the stuff around takes time and effort, and may indeed exceed the value of the book. Prices would then stabilise in a different shape to what we have now. But there would still be too much money in the area for everybody to refuse to try.
One other point. It is very hard to "steal" a copy of a book that is anywhere near as nice as the original. This is another big difference with digital media. The ability to make perfect copies. Personally, I don't think any model of commerce from the 19th century and before can handle it, and we certainly don't have things figured out yet.
Something some people seem to have missed is that, whilst there may be many cases where a machine such as this will NOT work, there are many cases where it will. And it is quicker to manufacture such a machine, once the R&D has been done, than to train up more bomb disposal people. This means that the 'easier' mine disposal operations can be done by machine, leaving the humans free for other ones, overall improving mine disposal prospects. Obviously this is the optimistic view, but having seen the pessimistic view, I thought it should be put.
30 metres is probably what it was supposed to be. A large heavy hammer at 60mph. 300 metres per second would take an explosion to reach the right speed. They could mean something like a pneumatic hammer (with very long throw).
Hitting a mine with a hammer at 3 ms^-1 (approx. 6 mph, 10kmh) is (very) roughly equivalent to someone stepping on it. Taking the hammer off is roughly like someone setting it off. Seems to me that the mine would just blow up if that was the case. p.s. this much isn't physics so much as common sense. p.p.s. The penetration of a bullet is to do with concentration of force (i.e. apply a large force to a small area, hence the idea of lightweight bullet-proof vests that spread the impact area out again).
Not to mention that there is a lot of concern as to how far and wide Enron's lobbying and influence got before it crashed. Part of the point is that Enron wasn't the only one.