The time limit for patenting after public sale or disclosure is one year. A judge would declare the patent invalid and throw this case out in five minutes. Minimal attorney fees will be involved.
IANAL, but I have seen a similar case thrown out where the patent was filed one year and three days after first sale.
I'm not sure what the advantages are of dancing around with the OS's virtual memory system. If it were me, I would detect the amount of physical memory available, allocate 80% of it, lock it into physical memory and manage the paging myself. It would be portable, not subject to changes in the VM algorithm by the OS authors, and easier to directly monitor and improve performance. But that's just me.
Why is.net so popular? It was originally intended only for ISPs, and the ISP industry has since consolidated. Then it became an alternative to.com when the desired.com name was taken. I would have thought.org would have been more popular than.net.
The PC was never "primordial". It was an assemblage of mostly off-the-shelf components that was inferior to its competition but had the IBM label slapped on it. Immediately, it became the reference standard against which competitors benchmarked themselves in order to be able to advertise "100% PC Compatible", with the ability to run Microsoft Flight Simulator being the strongest test of compatibility. A reference standard is not "primordial". To the contrary, it took years to add the slightest bit of flexibility to this rigid standard -- e.g. defining the bus timings independent of the CPU clock in order to accommodate faster CPUs.
The Web is client/server only insofar as it can run Javascript (or ActiveX, or Flash, or Java, etc.) Telent has no similar capability. If we call Web-without-Javascript-et-al "client/server" then we'd have to do the same with VT100.
But I see where you're going with this. There are probably some UNIX-based client-server applications out there -- perhaps a Star Trek or a MUD that is server-centric and not peer-to-peer. But just as with all technology, it takes 30 years to progress from lab to retail. The pieces, such as Visual Basic and Powerbuilder weren't there for mainstream business client/server until circa 1990.
Those are communication protocols, not client/server. FTP, Telnet, etc. were the protocols for one peer to communicate with another. Prior to DHCP and NAT, everyone had a static IP and everyone's computer was a server.
The term "client/server" refers to a fat client like Visual Basic accessing a central database such as via ODBC. The earliest occurrence of the term "client/server" on Usenet is 1993.
How about first they invent a 60-second kill switch on the dome light so that when your children leave the dome light on all night, and then jump the car in the morning, you don't have to rev the engine at every stoplight to have a hope of restarting the car after leaving the destination?
What are you talking about? That's not even chronologically correct.
Client/Server predates MS-DOS.
If you know of some examples, I'd be interested to hear them.
And no one moved any code from the mainframe to MS-DOS.
"Moving code" probably doesn't qualify for "rewriting from scratch", the topic at hand. I was talking about paradigm shifts so vast that software written for platform B that does the same thing as software written for platform A would require a rewrite. An example in this case would be word processsing.
What makes you think Windows isn't client/server? Or the Web? Or Mobile? They're all client/server.
I didn't say Windows threw client/server concepts out the window, only that when switching from MS-DOS + Client/Server to Windows + Client/Server, the code should be rewritten from scratch.
For that matter, there were plenty of pre-Windows MS-DOS-based/-era client/server apps, e.g. Novell.
Indeed, I had Novell in mind in my timeline. Novell gained prominence in the latter half of the 1980's -- between MS-DOS and Windows.
Every strategist remembers Aug. 20, 1998, when the USS Abraham Lincoln Battle Group, stationed in the Arabian Sea, launched Tomahawk cruise missiles at an Al Qaeda training camp in eastern Afghanistan, hoping to take out Osama Bin Laden. With a top speed of 550 mph, the Tomahawks made the 1100-mile trip in 2 hours. By then, Bin Laden was gone -- missed by less than an hour, according to Richard A. Clarke, former head of U.S. counterterrorism.
Putting aside this strawman example, the idea of push-button assassination is terrifying. "Comrade, you will sell me your oil. Remember what happened to your predecessor?"
Several years ago, someone posted an insight in a Slashdot comment (can't find it now) that ever since I have been expanding upon. That insight is that the 20th century is an anomaly. The 21st century is returning to 19th century tradition. One of the three particulars from that old Slashdot comment was that wearing time on your wrist was unique to the 20th century. In the 19th and 21st centuries, the time-telling piece is in a pocket.
Similarly, anonymity was unique to the 20th century. In the 19th century, due to transportation constraints, everyone knew who you were and what you did. Welcome to Facebook and the 21st century.
My expanded list is as follows (and apologies -- I don't recall which of mine are original, but I believe the original Slashdot comment listed only three examples):
Telling time Described above
Musician income. 19th century: Live performance. 20th century: Recordings. 21st century: Live performance due to the profit having been taken out of recordings, which in turn is due to near-zero cost to
Political discussion. 19th century: Numerous overtly biased newspapers and town hall meetings. 20th century: Few television and newspaper conglomerates; newspapers supposedly "neutral point of view", a Progressive Era invention, but in actuality rarely criticize government or large corporations. 21st century: Numerous overtly biased blogs, which provide for both publication and discussion
U.S. political parties19th centuryFederalist/Whig/Republican vs. Democratic-Republican. I.e. Hamilton vs. Jefferson. I.e. centralized power vs. local power. 20th century Republican vs. Democrat. The Democratic Party got seduced by utopian Communism at the turn of the century and dominated the first half of the century. The Republicans in the second half of the century sold themselves as the anti-Communists and pretended to be for local power when in practice they were for centralized power. I.e. the choice at the ballot box was between fascism and communism. 21st century Ascendency of Ron Paul, Rand Paul, and other libertarians, due to the naked power grab by the Bush administration (and continuance by the Obama administration) and the power of the Internet mentioned above.
European Political Alignment19th century Empires 20th century: Separate countries 21st century EU
Wires19th century No need 20th century: Electrical, stereo, cable TV, and Internet wires everywhere 21st century: Everything is wireless now except for electricity, and even that is going wireless now through inductive surfaces for low-power DC
Money19th century Gold standard 20th century Paper money not backed by gold 21st century Due to collapsing dollar, we will be back on the gold standard whether in a planned or an unplanned manner
Transportation and Land Use Patterns19th century Walking, streetcar, and carriage. Buildings multi-level and close together to keep walking distances shorter. 20th century: Automobile. Buildings far apart to allow for parking lots and because the automobile supposedly provided for the best of the city and country in suburbanism, which instead ended up being the worst of both. 21st century Walking and streetcar are making a comeback, and "New Urbanism" projects that accommodate all forms of transportation without giving precedence to the automobile.
Education Ownership19th century Private schools and private tutors 20th century Public schools 21st century: A million children are now homeschooled, and the numbers are growing.
Reading Pedagogy19th century Phonics 20th century Whole word 21st century: Phonics
Catholic Mass19th century Traditional Latin 20th century Novus Ordo 21st century: Traditional Latin
Joel's article implicitly had some tunnel vision because it did not state any exceptions. The general rule of thumb as to when to rewrite an application are:
Change in platform paradigm. This has happened five times thus far (post-ENIAC):
Mainframe to MS-DOS
MS-DOS to Client/Server
Client/Server to Windows
Windows to Web
Web to mobile
Vast improvement in software technology (and you have a software project/product that requires significant expansion or improvement), such as:
Machine code to Assembly
Assembly to spaghetti
Spaghetti to structured
Structured to OO
Proprietary unsupported language for obsolete sluggish database to SQL
When I saw "Laser turns 50" on cnn.com I was shocked that it was that recent of an invention. That's 13 years after the transistor! Then reading the history on Wikipedia, I saw that it was envisioned by Einstein in the 1920's, but I guess no one bothered to invent it. They were too busy nuking Japan, I suppose.
Everyone should act like a consultant. This is hard to do when it's your first job. You'll want to switch jobs a few times the first few years of your career, just so you can get a feeling of different corporate cultures. This will allow you to a) (the obvious one first) adapt to easily to different corporate cultures and b) abstract out the commonality of different corporate cultures and understand what's left, the least common denominator, which is the work that actually needs to get done, while still coping with the corporate culture as a necessary interface mechanism.
What do I mean by "act like a consultant"?
I mean having the attitude that you are in business for yourself and the customer is always right. If your immediate supervisor brings a superiority attitude and gives you menial work, your attitude should be simply one of clarification and commitment, "OK, so you want me to do X in Y amount of time. Did you want me to do it using the A or B tool?" Thinking as a consultant, you just made a sale. You just got "rehired" in miniature and you have an opportunity to demonstrate good work in order to get "rehired" again.
A common trap is to start believing that you must work on a project using technology X or else your skills will be out of date and you'll never get another job. This is a vicious trap because then you try to start negotiating with your supervisor with this hidden agenda of personal career advancement, which is at cross-purposes of getting the job done. It also rarely pays off. Any technology that bleeding edge is going to become commonplace within a year anyway, and you have to start over with another new bleeding edge technology, in a vicious cycle. Or, if it's an old but highly niched technology, OK, you might be able to command a high rate, but then you'll be flying across the country for three-month gigs because no one is willing to sustain the high pay rate. So what if you become a dinosaur? There's as much money if not more to be made working with old technologies.
Think like a consultant. If you need X time to complete a task, stick to your time estimate. Or ask if you're expected to work overtime, intonating that you are willing to. If you need Y people to help you, say so, but not unless you really need it. That's how you move up to team lead -- by taking on and successfully completing increasingly more complex tasks until eventually you need a team, with you as the lead, to do it.
By acting like a consultant, you avoid office politics, death marches (or at least being held responsible for death marches), and emotional and verbal abuse from supervisors and peers. When, as a consultant, you give honest time estimates, honest assessments of your capabilities, and frequent and timely status updates, there is no such thing as failure. At worst, your skills might not "fit" with the company's needs, but you won't be blamed in an insulting or humiliating way. And usually, you'll get the job done and your honesty and communication will create a memorable positive experience for your supervisors, and your professionalism will do the same with your peers and team members.
One important component you left out: the greater ability of corporations to influence government -- Disney, Halliburton, GlaxoSmithKline, etc. Other, more "polite", keywords to Google: rent seeking and Public Choice Theory.
GMU has always (since at least 1981, when I entered GMU) existed primarily to turn out defense contractor employees, not people who would benefit society. Even the Slashdot summary alludes to this. That's why I'm striving to give my children the true education I never received.
I made a grievous error. I just remembered boxes of floppies in 1988 were $20 for 10, not $20 for 20. So even using the BLS numbers, that's $3.74, which is close to the $3.99 figure for a 512MB thumb drive.
P.S. Thanks for the tip on scraping shadowstats.com!
Flash drives today cost less than floppy disks in 1988.
Although the Bureau of Labor Statistics puts $1.00 in 1988 at $1.87 today, the real rate of inflation is much higher. From a popular perception standpoint, Wal-Mart's low prices are masking the double-digit inflation in healthcare, education, and housing (prices are still historically high relative to wages). From a BLS calculation standpoint, BLS pulls dirty tricks like considering only rents instead of home purchase price, considering that houses in West Virginia are equivalent to houses in Arlington, Virginia because they're in the same Census Metropolitan Statistical Area, and considering that an actual DVD player price should be adjusted down 50% because it's technologically superior to a VCR.
Shadowstats.com, which uses pre-Clinton formulas to compute CPI, now has a free calculator. Without a subscription, it requires Photoshop to measure the bar heights, but I've measured that $1.00 in 1988 is over $5.00 today.
And that's compared to a 3.5" floppy disk. To try to add some fairness, I avoided a comparison with 5.25" floppies in 1982, which were $1.50 then.
When new formats are introduced, there is a discontinuity in prices. It makes for a sawtooth graph. You're cherry-picking the edge of the sawtooth and whining about it.
The CNet article mentions the Video Privacy Protection Act but not the events leading up to it. The Slashdot summary, of course, doesn't mention it at all except vaguely that the videos "deserve enhanced protection".
In 1987, the Washington City Paper, a paper from the left, published the video rental history of Supreme Court nominee Robert Bork, from the right. There was next to no dirt found, but it wasn't for lack of self-admitted trying. It was a politically motivated stunt, and they were desperate to find X-rated rentals or even just a penchant for a particular actress of the day.
By revealing detailed media purchases to a government, it gives the incumbents the opportunity to smear political challengers.
Since neither the Slashdot summary nor the original article's prose describe what is meant by "live video", here is a better summary so you don't have to sit through 8 minutes of YouTube:
The Bing mapping application can pull in images and videos, such as from Flickr, that have geolocation and timestamps, and overlay those with photo registration over top of the regular Bing street view images. That includes webcam sources that may be live.
The time limit for patenting after public sale or disclosure is one year. A judge would declare the patent invalid and throw this case out in five minutes. Minimal attorney fees will be involved.
IANAL, but I have seen a similar case thrown out where the patent was filed one year and three days after first sale.
In Windows, the API to allocate physical memory is VirtualAlloc.
Good point about VMWare. I hadn't thought about that.
I just used 80% as an example. Obviously one would provide command-line switches or config options for either X% of memory or Y MB of memory.
I'm not sure what the advantages are of dancing around with the OS's virtual memory system. If it were me, I would detect the amount of physical memory available, allocate 80% of it, lock it into physical memory and manage the paging myself. It would be portable, not subject to changes in the VM algorithm by the OS authors, and easier to directly monitor and improve performance. But that's just me.
Why is .net so popular? It was originally intended only for ISPs, and the ISP industry has since consolidated. Then it became an alternative to .com when the desired .com name was taken. I would have thought .org would have been more popular than .net.
The PC was never "primordial". It was an assemblage of mostly off-the-shelf components that was inferior to its competition but had the IBM label slapped on it. Immediately, it became the reference standard against which competitors benchmarked themselves in order to be able to advertise "100% PC Compatible", with the ability to run Microsoft Flight Simulator being the strongest test of compatibility. A reference standard is not "primordial". To the contrary, it took years to add the slightest bit of flexibility to this rigid standard -- e.g. defining the bus timings independent of the CPU clock in order to accommodate faster CPUs.
The Web is client/server only insofar as it can run Javascript (or ActiveX, or Flash, or Java, etc.) Telent has no similar capability. If we call Web-without-Javascript-et-al "client/server" then we'd have to do the same with VT100.
But I see where you're going with this. There are probably some UNIX-based client-server applications out there -- perhaps a Star Trek or a MUD that is server-centric and not peer-to-peer. But just as with all technology, it takes 30 years to progress from lab to retail. The pieces, such as Visual Basic and Powerbuilder weren't there for mainstream business client/server until circa 1990.
Calling Telnet client/server is like calling XModem client/server.
Those are communication protocols, not client/server. FTP, Telnet, etc. were the protocols for one peer to communicate with another. Prior to DHCP and NAT, everyone had a static IP and everyone's computer was a server.
The term "client/server" refers to a fat client like Visual Basic accessing a central database such as via ODBC. The earliest occurrence of the term "client/server" on Usenet is 1993.
Sorry, home science is now an arrestable offense.
How about first they invent a 60-second kill switch on the dome light so that when your children leave the dome light on all night, and then jump the car in the morning, you don't have to rev the engine at every stoplight to have a hope of restarting the car after leaving the destination?
What are you talking about? That's not even chronologically correct.
Client/Server predates MS-DOS.
If you know of some examples, I'd be interested to hear them.
And no one moved any code from the mainframe to MS-DOS.
"Moving code" probably doesn't qualify for "rewriting from scratch", the topic at hand. I was talking about paradigm shifts so vast that software written for platform B that does the same thing as software written for platform A would require a rewrite. An example in this case would be word processsing.
What makes you think Windows isn't client/server? Or the Web? Or Mobile? They're all client/server.
I didn't say Windows threw client/server concepts out the window, only that when switching from MS-DOS + Client/Server to Windows + Client/Server, the code should be rewritten from scratch.
For that matter, there were plenty of pre-Windows MS-DOS-based/-era client/server apps, e.g. Novell.
Indeed, I had Novell in mind in my timeline. Novell gained prominence in the latter half of the 1980's -- between MS-DOS and Windows.
Putting aside this strawman example, the idea of push-button assassination is terrifying. "Comrade, you will sell me your oil. Remember what happened to your predecessor?"
Similarly, anonymity was unique to the 20th century. In the 19th century, due to transportation constraints, everyone knew who you were and what you did. Welcome to Facebook and the 21st century.
My expanded list is as follows (and apologies -- I don't recall which of mine are original, but I believe the original Slashdot comment listed only three examples):
When I saw "Laser turns 50" on cnn.com I was shocked that it was that recent of an invention. That's 13 years after the transistor! Then reading the history on Wikipedia, I saw that it was envisioned by Einstein in the 1920's, but I guess no one bothered to invent it. They were too busy nuking Japan, I suppose.
Malapropism alert!
P.S. The previous Slashdot Princess Bride meme has been replaced.
Routing reform? The answer is simple. Just fine every router $750 until it starts routing correctly.
What do I mean by "act like a consultant"?
I mean having the attitude that you are in business for yourself and the customer is always right. If your immediate supervisor brings a superiority attitude and gives you menial work, your attitude should be simply one of clarification and commitment, "OK, so you want me to do X in Y amount of time. Did you want me to do it using the A or B tool?" Thinking as a consultant, you just made a sale. You just got "rehired" in miniature and you have an opportunity to demonstrate good work in order to get "rehired" again.
A common trap is to start believing that you must work on a project using technology X or else your skills will be out of date and you'll never get another job. This is a vicious trap because then you try to start negotiating with your supervisor with this hidden agenda of personal career advancement, which is at cross-purposes of getting the job done. It also rarely pays off. Any technology that bleeding edge is going to become commonplace within a year anyway, and you have to start over with another new bleeding edge technology, in a vicious cycle. Or, if it's an old but highly niched technology, OK, you might be able to command a high rate, but then you'll be flying across the country for three-month gigs because no one is willing to sustain the high pay rate. So what if you become a dinosaur? There's as much money if not more to be made working with old technologies.
Think like a consultant. If you need X time to complete a task, stick to your time estimate. Or ask if you're expected to work overtime, intonating that you are willing to. If you need Y people to help you, say so, but not unless you really need it. That's how you move up to team lead -- by taking on and successfully completing increasingly more complex tasks until eventually you need a team, with you as the lead, to do it.
By acting like a consultant, you avoid office politics, death marches (or at least being held responsible for death marches), and emotional and verbal abuse from supervisors and peers. When, as a consultant, you give honest time estimates, honest assessments of your capabilities, and frequent and timely status updates, there is no such thing as failure. At worst, your skills might not "fit" with the company's needs, but you won't be blamed in an insulting or humiliating way. And usually, you'll get the job done and your honesty and communication will create a memorable positive experience for your supervisors, and your professionalism will do the same with your peers and team members.
Given the well-documented editing of Wikipedia by corporations, it does bolster my point.
One important component you left out: the greater ability of corporations to influence government -- Disney, Halliburton, GlaxoSmithKline, etc. Other, more "polite", keywords to Google: rent seeking and Public Choice Theory.
GMU has always (since at least 1981, when I entered GMU) existed primarily to turn out defense contractor employees, not people who would benefit society. Even the Slashdot summary alludes to this. That's why I'm striving to give my children the true education I never received.
P.S. Thanks for the tip on scraping shadowstats.com!
Although the Bureau of Labor Statistics puts $1.00 in 1988 at $1.87 today, the real rate of inflation is much higher. From a popular perception standpoint, Wal-Mart's low prices are masking the double-digit inflation in healthcare, education, and housing (prices are still historically high relative to wages). From a BLS calculation standpoint, BLS pulls dirty tricks like considering only rents instead of home purchase price, considering that houses in West Virginia are equivalent to houses in Arlington, Virginia because they're in the same Census Metropolitan Statistical Area, and considering that an actual DVD player price should be adjusted down 50% because it's technologically superior to a VCR.
Shadowstats.com, which uses pre-Clinton formulas to compute CPI, now has a free calculator. Without a subscription, it requires Photoshop to measure the bar heights, but I've measured that $1.00 in 1988 is over $5.00 today.
512MB USB thumb drives can be had for $3.99.
And that's compared to a 3.5" floppy disk. To try to add some fairness, I avoided a comparison with 5.25" floppies in 1982, which were $1.50 then.
When new formats are introduced, there is a discontinuity in prices. It makes for a sawtooth graph. You're cherry-picking the edge of the sawtooth and whining about it.
In 1987, the Washington City Paper, a paper from the left, published the video rental history of Supreme Court nominee Robert Bork, from the right. There was next to no dirt found, but it wasn't for lack of self-admitted trying. It was a politically motivated stunt, and they were desperate to find X-rated rentals or even just a penchant for a particular actress of the day.
By revealing detailed media purchases to a government, it gives the incumbents the opportunity to smear political challengers.
The Bing mapping application can pull in images and videos, such as from Flickr, that have geolocation and timestamps, and overlay those with photo registration over top of the regular Bing street view images. That includes webcam sources that may be live.