Actually, they accept it because the interlacing and bluring that are inherent in the analog broadcast signal make it look pretty good for a low res signal. Remember when character generators overlaying a regular signal made your TV make a wierd sound and moved the picture? That's because it was possible to broadcast a signal "outside" the spec when a digital character generator was in use.
Digital is very different, and requires a much higher resolution to give the same visual quality (why do think we worry about stairstepping graphics on a computer). On the other hand, I remember using the TV to work on my Vic 20 all those years ago, and I can tell you for text display purposes, analog sucks.
Anyway, that's a roundabout way of explaining why I will accept only 1024 x 768 (and prefer more) in a monitor, but could care less what the TV signal resolutions is. Different purposes, different requirements. Frankly, I find the artifacting from DVD more annoying that a bit of fuzzyness caused by analog.
"Several vulnerabilities in HTML mail make it possible for malicious code or file attachments to launch when you preview a message in some versions of Outlook, unless you have the latest patches for Internet Explorer." (http://www.slipstick.com/outlook/htmlmail.htm)
I call that "no user action". The preview pane is up by default.
I first patch my local systems and try them for a few hours as I run similar configurations to my clients for development. If I survive the patch, I patch the development systems at my client sites. If those remain stable for a period of time, I patch production clients, and then finally production servers.
If at any point a glitch appears, I stop at that point, minimizing damage. Usually that means I have a glitch locally and my clients would never know that there was a glitchy patch unless I tell them. Pretty much a similar approach that a big company would take (patch the test LAN) except I am the test LAN.
I think that the accumulated cost factors for late bugs is exaggerated by lumping in major design flaws with simple bugs. Surely a bug found during the coding process itself is cheapest to fix (thus XPs pair programming and test first methods) because the hunt isn't going to be as large. However, having worked on the same project for three and a half years, we stumble over hidden bugs from time to time, and they really are not much more difficult than recent bugs to fix.
Where we find ourselves paying a premium is changing design decisions. However, as we have been following XP incremental design, even that isn't that bad, and frankly the most expensive design corrections we have had revolve around over designing. Customer driven iterations have been much less likely to be changed than our brilliant analysis.
No, they don't *automatically* get the patent, but generally speaking the practical issues cause the first filer to have a massive advantage. The company Knowligent has produced a product called "research notebook" to assist with documenting conception dates.
http://www.researchnotebook.com/
If documenting the conception date was easy, I doubt people would be trying to make a living helping you do so. Instead of trying to prove conception date, a much better idea is to file a provisional patent application. I believe it is less than a hundred bucks yourself, maybe a few hundred to use a service. It allows you the same year you would have otherwise, while holding your place in line from usurpers.
When it comes to a court case, an official document held by the Patent Office is surely going to hold more weight than an envelope mailed to yourself (which may have been tampered with). I don't know of a large company that doesn't file provisionals upon creation, which would mean that the cited documents would indicate what the patent *doesn't* cover.
The patent office has no interest in "who thought of it first". The concept is meaningless. What they are concerned with is the order of documentation. Many inventors package an invention in an envelope and registered mail it to themselves and leave the envelope sealed in case of disputes over the invention: in a court of law, the documentation is the only thing that determines the order of things. The value of that practice is questionable, as I still win if I get to the patent office first and you don't make your invention public prior to that, either via publication or your own patent application, unless you can prove I had access to those documents.
In the case of a patent, there is a race to get to the door first, as the first *filer* will get the patent. However, prior publication in the area of research is considered to have legal precidence over any claims, which is why the patent office requires disclosure of such publications. Failure to cite a relevant article can damage the claim and require resubmission and narrowing of claims (assuming the examiner finds it).
The point is that the "inception of ideas" is not important, the documentation thereof is. The fact that Microsoft cites the articles means that it is aware of the prior art within, and is only claiming improvements or differences from the same.
Ok, I'm being retentive here, but a densely packed fridge operates more efficently than a sparsely packed one, especially if opened frequently. That's because the room temperature air that rushes inside when opened represents a smaller fraction of the total volume when it is full, and the objects inside will be able to absorb the small thermal difference more easily.
My fridge from the univeristy, on the other hand, would have basically no cold remaining when I stared inside at the emptyness that lay before me, and would have to try to cool the air, 1/16 of a gallon of spoiled milk and a tupperware container of ramen noodles.
Even the first post trolls were bored to tears by this one. 20 minutes on/. without a single comment? If this is any indication of interest, I suspect they had better use the *big* conference room.
One of the references is to "New sites aim to personalize web navigation", Information & Interactive Services Report, BRP Publications, vol. 17, Issue 31, 9/96". The patent was filed in 12/96. So by definition, anything that was in that report can not be a claim of this patent.
The point behind references is to show items upon which the patent built, and by being in the references it can not be used as a prior art argument. However, the converse is that the techniques used in referenced items are not part of the patent, even if the patent later makes claim to something that would appear to be such. All that can be patented at that point is "improvements" upon such a system.
Since another cite is "Persistent client state HTTP cookies", http://oradb1.jinr.ru/netscape/MISC/cookie_spec.ht m, Aug. 24, 1996, pp1-5.*" we can rest assured that simply using a cookie is not patented here. So what *is* being patented? It can't be user customization (prior cite), and it can't be the cookie itself (this cite).
I suspect the clue must be in the later citations. Since these are from dates *after* the submission, and specific refer to Microsoft, these would be used to support the unique nature of the patented claims. I can only guess that this patent is very narrow in covering the *exact* implementation shown in the diagrams, as any broad claims to user customization are defeated by the references Microsoft themselves make.
A large portion of the document for example goes into specifying how a computer works in a general sense. Another simply lays out the format of a cookie. The only thing that appears unique to Microsoft here is the use of CoCreateGUID to obtain an identifier. That should be hard to work around...
I still have one client with a company wide Q&A (Symantec) database that was started in 1983. Fortunately it was written well and has survived even on current XP boxes. I have offered to upgrade them to a Windows based application, but they don't like the costs that will be incurred. They are not the only ones. I guess I should be happy they liked my system, but 20 years seems a bit long of tooth.
And yes, I still do modifications on it from time to time.
To be honest, modern C++ could probably achieve what I do in other languages. When I first tried to adopt C++, STL was a pathetic wreck in terms of both implementation and features. MFC (being that I programmed for Windows at the time) probably scarred me for life.
I found coding muds in stock C with function dispatch tables more productive than the early rounds of C++ via classes. When work pushed me hard into data driven corporate applications, there was just not a lot of need for C style programming in my work. Maybe someday I will need to do system level or game programming again and I will have to opportunity to relearn C++ from a fresh perspective. At this point however, people pay me to do business logic object at a rapid clip, and C++ just doesn't seem like the best solution for that problem.
True, you can fail to release resources, but in many cases it is handled for you in garbage collected languages by scope. That transparent handling probably is a big source of problems for those unaware of the problems of holding on to references beyond the scope necessary, but what I was refering to was the fact that I can't easily set a pointer up that points to incorrect memory locations and causes a subtle, usually non repeatable, near impossible to find bugs. Granted, tools like bounds checking software can help, but if I take a pointer to an object and then allocate some other objects and release a few, in C or C++ I can easily clobber my earlier object, causing modifications to it to do nearly random changes to other objects. Especially if you have a couple levels of indirection going. Maybe I just suck, but I have blown past the ends of arrays of more times than I probably should admit.
Clearly anyone who would try to be an Apple user on a Windows network is subversive and dangerous. The current monoculture must continue, lest the very fabric of America be destroyed.
I suggest government hearings where we bring these Apple users into the bright light of day, and expose them for the anti Micr... um, American scum they really are.
I programmed in C for years, mostly due to the performance of the early machines I used. Today, I wouldn't consider going back to C unless it was for time critical functions. Everything I do these days is in an environment that protects me from the gory details of memory management and pointers of doom. If I really need performance, I am going to profile my code and find the parts that really need the boost, and then recode the classes as C++ COM or more recently C++ assemblies for.NET. It is the same procedure I used to use when C was my primary language: find the performance hot spots and drop to assembly if needed.
The discussion of class design has nearly nothing to do with C++. I can use Java to build overly complex towers of inheritance. I can also use it to build poorly defined libraries. One think I *can't* easily do is blow myself (and the underlying OS) up do to a memory allocation problems.
I see C++ remaining for many years to build those "cycle critical" components, which are going to be consumed by languages with a guard over the chainsaw blade. Programmer efficency should always trump speed concerns until you have exhausted *algorithmic* improvement. I don't know how many times I see programmers saying "I'm using C++ for performance" while simultaniously writing something that is going to run in o(n^2) time, when a o(log(n)) algorithm is available. Yes, your C code will run your inefficent algorithm quicker than I would in a protected environment, but if my protected environment allowed me to see the abstraction that runs the fastest algorithm, my code will still be faster for large data sets.
If you read the patent, you will see that TALK and other prior chat systems are mentioned in the references and body of the patent. The specific "innovation" here is that the system polls for activity on a timer, and turns on and off the "user typing" message based on activity during the timer period.
While I think that it is absurd that this was granted, it is not any of the things being thrown around on/. as prior art. Even Yahoo's "user is typing" simply toggles on and never turns off if you abandon typing. Is polling periodically obvious? Surely. Remember, the USPO is a profit center, and granting obvious patents brings profit to both them and patent attorneys, so there is no motivation not to allow such simple changes to be patented.
I have a laundry list of require... oh, sorry, wrong ask slashdot.
More servers = ease of administration only if you have automated patch management tools. Otherwise the "patch one service at a time" advantage is negated by the deployment of said patches to many machines. It is usually the load on the services that really determine how to break out your servers. In a windows enviroment, SQL and Exchange should never be on the same box with any kind of load: both require too much memory. Determine how much load each service places on your hardware and combine one high load with one or more low load services if you want to cut down hardware. Also consider server uptime: some services are more prone to failure modes that bring down entire machines. You want to keep those independent no matter what. Things like DHCP, File Shares and DNS can coexist peacefully in most environments with many other service types.
I have a laundry list of requirements that would tax any reasonable persons mind, no control over my environment, obscure software tools and no money. Please fix this for me.
Thank you, Hopelessly Clueless Engineering, Inc.
Geeze. Having implemented document control for ISO compliance at an engineering firm that does aerospace parts, I can safely say there is no way your requirements are compatible with any software solution. You have *systematic* problems that are far greater than any humble software could aspire to solving.
...dim bulbs like this who believe the player has an edge. For goodness sakes, look at the odds listed for the machine: 97% on average, 99% for "high roller" machines. How does that translate into a "player advantage"?
In the short run, random runs may give the player a larger than average win or loss, but play long enough and you will confirm the math behind slots every time. The *only* games where you can gain an advantage are Black Jack (and only by counting cards: see articles about the MIT boys who won big) and Pai Gow Poker if you know that you can be the bank, and only is very rare casinos where the "rake" (% taken from your winnings) is very low.
However, I do thank you for subsidizing my trips to vegas with your losses.
Which of course assumes that the duplicate flaw doesn't issue a new serial number. Every mud I ever coded for has object IDs which were unique. Must dupe bugs occur because of some timing issue with handling create/destroy state during which the user would go link dead. Because of a flaw, the create step would execute non atomically from the destruction step. The create step created a new (legal) ID, but the destory step (for example, the removal of a sacrificed item) would fail, because the user had left the data structures when disconnected. Serial numbers or no, a bug will allow for duplication. Check the Envy codebase from around 1999: you will see several dupe bugs based on linkdead state handling.
I have to agree: I went out and picked up a Gamecube thanks to the price drop and the fact that many of the games that I wanted are already discounted. I mean, what is a game cube without Smash Brothers Melee, Monkey Ball, Pikmin, Animal Crossings, etc? I can tell you that even with the games and the Game Boy player, I dropped less than $300. I could care less about Halo (it will be on the PC in just a bit even if I did) or Bouncing Boob Vollyball or fighting games.
If Microsoft wants me to put an XBox in my living room, they need *first party* games that don't suck. Knights of the Old Republic is the first game that caused me to *blink* at the XBox, and it's for PC in a month or so. (Ok, that's a lie: the mech game with the awsome controller was the first, but geeze it was expensive.) They need to consider that all multiplayer doesn't occur online: it's a blast playing 4 player games on the Nintendo, because they actually *design* games for 4 players. Not 4 crappy boxes subdividing my screen.
My problem with this isn't the serializer. SQL allows a collection of tools to work together on a single database in a universal way. When asked about querying they say "use a for loop". Sorry, that isn't going to fly: the reason for relational databases is that it creates a mathmatically based model of your data that can be shared between applications, reporting tools and analysis software. The whole point of the relational model is that I shouldn't need a for loop until I have completed the extraction of the data.
This would be great for private systems, but would never fly in a company with more than a hundred people or so using a system: some are going to want ad-hoc query capability and some are going to want to drill down on the data and some are going to want to post back from other applications. The universal method for this today is SQL against a relational database, because just about any tool can connect.
The painful part is that they have just pushed the relational/object problem out a bit, not solved it.
Exactly. Without a query language that can be used universally, I'm going to have a hard time explaining why I chose to store my clients data like this.
Client: 'Ok, thanks for the system modifications. Wow, it sure is fast now. I'm off to build some reports in Crystal.' Me: 'Sorry Sir, but Crystal is old school SQL, only used by losers and drug addicts. Same with your data warehouse and analysis tools. Here, use Java.' Client: 'I know how to link tables up in Crystal, not program in Java.' Me: 'Well, I guess you will have to pay me to write your reports from now on! Woo hoo! Gotta love monolithic, non-externally queriable data stores!'
This would be great for projects where interoperability isn't an issue or only occurs via edge connections like SOAP. However, I generally would be wary of a "database" which is only accessible in Java, via unique interface. What do you do with your Crystal Reports users? How do I get this into data cubes for analysis?
Frankly, this is simply a persistance layer with some nice properties. It *isn't* a database. A database stands at the center of your applications and makes itself available to as wide of an audiance as possible. It shouldn't limit your choice of tools in such an absurd manner.
My biggest problem with Java is the fragility of the system when system changes must be made. So much design gets coded into the object hierarchy instead of versionable interfaces, that what would be a simple change in most environments is a tear the spine out and replace it with another operation.
Reality is that by using a combination of scripting languages for the presentation layer, objects for business rules and a relational database for storage, the company I am the lead designer for has outmaneuvered companies with 100 times the resources. I listen with bemusement with the pain they are having trying to flex their over engineered systems even a hair, while our code generator modules rewrite entire systems just by changing templating code.
Java *could* be used for such a project, but most people are too hung up on "proper" OO design to actually archive a timely result. And yes, our project has scaled just fine to millions of dollars of revenue a month passing through it: Java does not have a lock on any portion of scalable *design* which is *mostly* irrelevant to the language choice.
Being self-employeed myself, I don't get to keep 100% of my profits. The government gets nearly fifty percent of my profits to start. Even with expensive development tool purchases, MSDN Universal Subscription (now I will be stoned by the crowd for being a MS crony), society dues, etc, I can't seem to put a dent into the tax bill via writeoffs.
Actually, they accept it because the interlacing and bluring that are inherent in the analog broadcast signal make it look pretty good for a low res signal. Remember when character generators overlaying a regular signal made your TV make a wierd sound and moved the picture? That's because it was possible to broadcast a signal "outside" the spec when a digital character generator was in use.
Digital is very different, and requires a much higher resolution to give the same visual quality (why do think we worry about stairstepping graphics on a computer). On the other hand, I remember using the TV to work on my Vic 20 all those years ago, and I can tell you for text display purposes, analog sucks.
Anyway, that's a roundabout way of explaining why I will accept only 1024 x 768 (and prefer more) in a monitor, but could care less what the TV signal resolutions is. Different purposes, different requirements. Frankly, I find the artifacting from DVD more annoying that a bit of fuzzyness caused by analog.
"Several vulnerabilities in HTML mail make it possible for malicious code or file attachments to launch when you preview a message in some versions of Outlook, unless you have the latest patches for Internet Explorer." (http://www.slipstick.com/outlook/htmlmail.htm)
I call that "no user action". The preview pane is up by default.
I first patch my local systems and try them for a few hours as I run similar configurations to my clients for development. If I survive the patch, I patch the development systems at my client sites. If those remain stable for a period of time, I patch production clients, and then finally production servers.
If at any point a glitch appears, I stop at that point, minimizing damage. Usually that means I have a glitch locally and my clients would never know that there was a glitchy patch unless I tell them. Pretty much a similar approach that a big company would take (patch the test LAN) except I am the test LAN.
I think that the accumulated cost factors for late bugs is exaggerated by lumping in major design flaws with simple bugs. Surely a bug found during the coding process itself is cheapest to fix (thus XPs pair programming and test first methods) because the hunt isn't going to be as large. However, having worked on the same project for three and a half years, we stumble over hidden bugs from time to time, and they really are not much more difficult than recent bugs to fix.
Where we find ourselves paying a premium is changing design decisions. However, as we have been following XP incremental design, even that isn't that bad, and frankly the most expensive design corrections we have had revolve around over designing. Customer driven iterations have been much less likely to be changed than our brilliant analysis.
No, they don't *automatically* get the patent, but generally speaking the practical issues cause the first filer to have a massive advantage. The company Knowligent has produced a product called "research notebook" to assist with documenting conception dates.
http://www.researchnotebook.com/
If documenting the conception date was easy, I doubt people would be trying to make a living helping you do so. Instead of trying to prove conception date, a much better idea is to file a provisional patent application. I believe it is less than a hundred bucks yourself, maybe a few hundred to use a service. It allows you the same year you would have otherwise, while holding your place in line from usurpers.
When it comes to a court case, an official document held by the Patent Office is surely going to hold more weight than an envelope mailed to yourself (which may have been tampered with). I don't know of a large company that doesn't file provisionals upon creation, which would mean that the cited documents would indicate what the patent *doesn't* cover.
The patent office has no interest in "who thought of it first". The concept is meaningless. What they are concerned with is the order of documentation. Many inventors package an invention in an envelope and registered mail it to themselves and leave the envelope sealed in case of disputes over the invention: in a court of law, the documentation is the only thing that determines the order of things. The value of that practice is questionable, as I still win if I get to the patent office first and you don't make your invention public prior to that, either via publication or your own patent application, unless you can prove I had access to those documents.
In the case of a patent, there is a race to get to the door first, as the first *filer* will get the patent. However, prior publication in the area of research is considered to have legal precidence over any claims, which is why the patent office requires disclosure of such publications. Failure to cite a relevant article can damage the claim and require resubmission and narrowing of claims (assuming the examiner finds it).
The point is that the "inception of ideas" is not important, the documentation thereof is. The fact that Microsoft cites the articles means that it is aware of the prior art within, and is only claiming improvements or differences from the same.
Ok, I'm being retentive here, but a densely packed fridge operates more efficently than a sparsely packed one, especially if opened frequently. That's because the room temperature air that rushes inside when opened represents a smaller fraction of the total volume when it is full, and the objects inside will be able to absorb the small thermal difference more easily.
My fridge from the univeristy, on the other hand, would have basically no cold remaining when I stared inside at the emptyness that lay before me, and would have to try to cool the air, 1/16 of a gallon of spoiled milk and a tupperware container of ramen noodles.
Even the first post trolls were bored to tears by this one. 20 minutes on /. without a single comment? If this is any indication of interest, I suspect they had better use the *big* conference room.
One of the references is to "New sites aim to personalize web navigation", Information & Interactive Services Report, BRP Publications, vol. 17, Issue 31, 9/96". The patent was filed in 12/96. So by definition, anything that was in that report can not be a claim of this patent.
t m, Aug. 24, 1996, pp1-5.*" we can rest assured that simply using a cookie is not patented here. So what *is* being patented? It can't be user customization (prior cite), and it can't be the cookie itself (this cite).
The point behind references is to show items upon which the patent built, and by being in the references it can not be used as a prior art argument. However, the converse is that the techniques used in referenced items are not part of the patent, even if the patent later makes claim to something that would appear to be such. All that can be patented at that point is "improvements" upon such a system.
Since another cite is "Persistent client state HTTP cookies", http://oradb1.jinr.ru/netscape/MISC/cookie_spec.h
I suspect the clue must be in the later citations. Since these are from dates *after* the submission, and specific refer to Microsoft, these would be used to support the unique nature of the patented claims. I can only guess that this patent is very narrow in covering the *exact* implementation shown in the diagrams, as any broad claims to user customization are defeated by the references Microsoft themselves make.
A large portion of the document for example goes into specifying how a computer works in a general sense. Another simply lays out the format of a cookie. The only thing that appears unique to Microsoft here is the use of CoCreateGUID to obtain an identifier. That should be hard to work around...
I still have one client with a company wide Q&A (Symantec) database that was started in 1983. Fortunately it was written well and has survived even on current XP boxes. I have offered to upgrade them to a Windows based application, but they don't like the costs that will be incurred. They are not the only ones. I guess I should be happy they liked my system, but 20 years seems a bit long of tooth.
And yes, I still do modifications on it from time to time.
To be honest, modern C++ could probably achieve what I do in other languages. When I first tried to adopt C++, STL was a pathetic wreck in terms of both implementation and features. MFC (being that I programmed for Windows at the time) probably scarred me for life.
I found coding muds in stock C with function dispatch tables more productive than the early rounds of C++ via classes. When work pushed me hard into data driven corporate applications, there was just not a lot of need for C style programming in my work. Maybe someday I will need to do system level or game programming again and I will have to opportunity to relearn C++ from a fresh perspective. At this point however, people pay me to do business logic object at a rapid clip, and C++ just doesn't seem like the best solution for that problem.
True, you can fail to release resources, but in many cases it is handled for you in garbage collected languages by scope. That transparent handling probably is a big source of problems for those unaware of the problems of holding on to references beyond the scope necessary, but what I was refering to was the fact that I can't easily set a pointer up that points to incorrect memory locations and causes a subtle, usually non repeatable, near impossible to find bugs. Granted, tools like bounds checking software can help, but if I take a pointer to an object and then allocate some other objects and release a few, in C or C++ I can easily clobber my earlier object, causing modifications to it to do nearly random changes to other objects. Especially if you have a couple levels of indirection going. Maybe I just suck, but I have blown past the ends of arrays of more times than I probably should admit.
Clearly anyone who would try to be an Apple user on a Windows network is subversive and dangerous. The current monoculture must continue, lest the very fabric of America be destroyed.
I suggest government hearings where we bring these Apple users into the bright light of day, and expose them for the anti Micr... um, American scum they really are.
I programmed in C for years, mostly due to the performance of the early machines I used. Today, I wouldn't consider going back to C unless it was for time critical functions. Everything I do these days is in an environment that protects me from the gory details of memory management and pointers of doom. If I really need performance, I am going to profile my code and find the parts that really need the boost, and then recode the classes as C++ COM or more recently C++ assemblies for .NET. It is the same procedure I used to use when C was my primary language: find the performance hot spots and drop to assembly if needed.
The discussion of class design has nearly nothing to do with C++. I can use Java to build overly complex towers of inheritance. I can also use it to build poorly defined libraries. One think I *can't* easily do is blow myself (and the underlying OS) up do to a memory allocation problems.
I see C++ remaining for many years to build those "cycle critical" components, which are going to be consumed by languages with a guard over the chainsaw blade. Programmer efficency should always trump speed concerns until you have exhausted *algorithmic* improvement. I don't know how many times I see programmers saying "I'm using C++ for performance" while simultaniously writing something that is going to run in o(n^2) time, when a o(log(n)) algorithm is available. Yes, your C code will run your inefficent algorithm quicker than I would in a protected environment, but if my protected environment allowed me to see the abstraction that runs the fastest algorithm, my code will still be faster for large data sets.
If you read the patent, you will see that TALK and other prior chat systems are mentioned in the references and body of the patent. The specific "innovation" here is that the system polls for activity on a timer, and turns on and off the "user typing" message based on activity during the timer period.
/. as prior art. Even Yahoo's "user is typing" simply toggles on and never turns off if you abandon typing. Is polling periodically obvious? Surely. Remember, the USPO is a profit center, and granting obvious patents brings profit to both them and patent attorneys, so there is no motivation not to allow such simple changes to be patented.
While I think that it is absurd that this was granted, it is not any of the things being thrown around on
I have a laundry list of require... oh, sorry, wrong ask slashdot.
More servers = ease of administration only if you have automated patch management tools. Otherwise the "patch one service at a time" advantage is negated by the deployment of said patches to many machines. It is usually the load on the services that really determine how to break out your servers. In a windows enviroment, SQL and Exchange should never be on the same box with any kind of load: both require too much memory. Determine how much load each service places on your hardware and combine one high load with one or more low load services if you want to cut down hardware. Also consider server uptime: some services are more prone to failure modes that bring down entire machines. You want to keep those independent no matter what. Things like DHCP, File Shares and DNS can coexist peacefully in most environments with many other service types.
I have a laundry list of requirements that would tax any reasonable persons mind, no control over my environment, obscure software tools and no money. Please fix this for me.
Thank you,
Hopelessly Clueless Engineering, Inc.
Geeze. Having implemented document control for ISO compliance at an engineering firm that does aerospace parts, I can safely say there is no way your requirements are compatible with any software solution. You have *systematic* problems that are far greater than any humble software could aspire to solving.
...dim bulbs like this who believe the player has an edge. For goodness sakes, look at the odds listed for the machine: 97% on average, 99% for "high roller" machines. How does that translate into a "player advantage"?
In the short run, random runs may give the player a larger than average win or loss, but play long enough and you will confirm the math behind slots every time. The *only* games where you can gain an advantage are Black Jack (and only by counting cards: see articles about the MIT boys who won big) and Pai Gow Poker if you know that you can be the bank, and only is very rare casinos where the "rake" (% taken from your winnings) is very low.
However, I do thank you for subsidizing my trips to vegas with your losses.
Which of course assumes that the duplicate flaw doesn't issue a new serial number. Every mud I ever coded for has object IDs which were unique. Must dupe bugs occur because of some timing issue with handling create/destroy state during which the user would go link dead. Because of a flaw, the create step would execute non atomically from the destruction step. The create step created a new (legal) ID, but the destory step (for example, the removal of a sacrificed item) would fail, because the user had left the data structures when disconnected. Serial numbers or no, a bug will allow for duplication. Check the Envy codebase from around 1999: you will see several dupe bugs based on linkdead state handling.
I have to agree: I went out and picked up a Gamecube thanks to the price drop and the fact that many of the games that I wanted are already discounted. I mean, what is a game cube without Smash Brothers Melee, Monkey Ball, Pikmin, Animal Crossings, etc? I can tell you that even with the games and the Game Boy player, I dropped less than $300. I could care less about Halo (it will be on the PC in just a bit even if I did) or Bouncing Boob Vollyball or fighting games.
If Microsoft wants me to put an XBox in my living room, they need *first party* games that don't suck. Knights of the Old Republic is the first game that caused me to *blink* at the XBox, and it's for PC in a month or so. (Ok, that's a lie: the mech game with the awsome controller was the first, but geeze it was expensive.) They need to consider that all multiplayer doesn't occur online: it's a blast playing 4 player games on the Nintendo, because they actually *design* games for 4 players. Not 4 crappy boxes subdividing my screen.
Terminating rant.
My problem with this isn't the serializer. SQL allows a collection of tools to work together on a single database in a universal way. When asked about querying they say "use a for loop". Sorry, that isn't going to fly: the reason for relational databases is that it creates a mathmatically based model of your data that can be shared between applications, reporting tools and analysis software. The whole point of the relational model is that I shouldn't need a for loop until I have completed the extraction of the data.
This would be great for private systems, but would never fly in a company with more than a hundred people or so using a system: some are going to want ad-hoc query capability and some are going to want to drill down on the data and some are going to want to post back from other applications. The universal method for this today is SQL against a relational database, because just about any tool can connect.
The painful part is that they have just pushed the relational/object problem out a bit, not solved it.
Exactly. Without a query language that can be used universally, I'm going to have a hard time explaining why I chose to store my clients data like this.
Client: 'Ok, thanks for the system modifications. Wow, it sure is fast now. I'm off to build some reports in Crystal.'
Me: 'Sorry Sir, but Crystal is old school SQL, only used by losers and drug addicts. Same with your data warehouse and analysis tools. Here, use Java.'
Client: 'I know how to link tables up in Crystal, not program in Java.'
Me: 'Well, I guess you will have to pay me to write your reports from now on! Woo hoo! Gotta love monolithic, non-externally queriable data stores!'
This would be great for projects where interoperability isn't an issue or only occurs via edge connections like SOAP. However, I generally would be wary of a "database" which is only accessible in Java, via unique interface. What do you do with your Crystal Reports users? How do I get this into data cubes for analysis?
Frankly, this is simply a persistance layer with some nice properties. It *isn't* a database. A database stands at the center of your applications and makes itself available to as wide of an audiance as possible. It shouldn't limit your choice of tools in such an absurd manner.
My biggest problem with Java is the fragility of the system when system changes must be made. So much design gets coded into the object hierarchy instead of versionable interfaces, that what would be a simple change in most environments is a tear the spine out and replace it with another operation.
Reality is that by using a combination of scripting languages for the presentation layer, objects for business rules and a relational database for storage, the company I am the lead designer for has outmaneuvered companies with 100 times the resources. I listen with bemusement with the pain they are having trying to flex their over engineered systems even a hair, while our code generator modules rewrite entire systems just by changing templating code.
Java *could* be used for such a project, but most people are too hung up on "proper" OO design to actually archive a timely result. And yes, our project has scaled just fine to millions of dollars of revenue a month passing through it: Java does not have a lock on any portion of scalable *design* which is *mostly* irrelevant to the language choice.
Being self-employeed myself, I don't get to keep 100% of my profits. The government gets nearly fifty percent of my profits to start. Even with expensive development tool purchases, MSDN Universal Subscription (now I will be stoned by the crowd for being a MS crony), society dues, etc, I can't seem to put a dent into the tax bill via writeoffs.
Have to agree with the rest though.