Like it or not, to download the PDF spec, you have to agree not to "violate" the DRM, among other things. Of course, you could try to clean room reverse engineer it, but that would kill the portable part fairly quickly, since the DMCA would most likely cover "circumventing DRM" even in a clean room implementation.
De facto, PDF == Adobe.
Also, PDFs are not made to simply represent the print layout. While that is their most beneficial feature, PDF does a lot more. It provides bookmark navigation and can be used to reformat the document to different page sizes when the document is properly generated.
As for "read only", well, I've been paid hourly to modify a PDF'd contract prior to signing (which was perfectly legal and delightfully unexpected by the other party). Once of the happiest moments in my life was removing the section that said the contract was void if it was modified. It was an eye-opening and kind of surreal moment. It was also the first time I ever heard a lawyer giggle...
From a technical perspective (having tried to manually work with PDF at a file level) its horrible. The format more closely resembles FAT than PostScript (contrary to popular belief--I am painfully serious about this). It's broken into blocks with a weird allocation table. Originally, it appears the idea was to make it editable (although "editing" a PDF in anything is pretty painful). As such, even though I don't currently recommend much other than PDF for my customers, I don't feel very much love towards it either.
In the spirit of offering solutions instead of only complaints, I like SVG quite a bit, SVG-P (standard with SVG 2.0) more, and actually find XSL-FO the easiest to work with.I currently crank out a few invoices per month and some finanacial reports with XSL-FO and FOP. Even though they end up in PDF, I really wish XSL-FO was the de facto standard instead of PDF...
If you have a family, I'd first advise you to be financially responsible.
If you want to do things the ethical way, IANAL, but I'd take the following direction:
Software is mathematics, it can't be patented. Additionally, patents require you to certify, personally, that you believe the invention is novel and patentable.
Your boss cannot force you to certify that and they likely can't fire you for refusing to certify bogus patents. The key is to document that they are linking "low-performance" (their justification for firing you) with unethical coercion.
If you are asked to write a software patent, fire back a written memo indicating that it can't be patented. Each time make the correct legal case that this process cannot be patented any more than addition or subtraction.
If there are complaints that you are not "performing" due to your inability to generate patents, on your own time get yourself a copy of other patents that other "high performers" have generated and disassemble them as equally invalid. Most importantly, communicate this to your boss in writing and save a copy of all of this correspondence.
Bottom line, your boss wil have to tell you to write patents on what you believe to be unpatentable. That's not exactly legal. At some point, the author certifies that they believe something is true. If they fire you for performance, claim wrongful termination. They were asking you to falsely certify something and fired you for not doing it.
As an added bonus contact PubPat (or someone similar, or even the USPTO directly) and provide them with your research and correspondence. Most of the legal system involves plausible deniability. People can deny their intent. When you create a paper trail, you either get fired or respected--but you remove their ability to deny their intent. In your case, you'd have been fired anyway--at least this gives you some ammunition.
Keep in mind, patents are public, so it's unlikely your actions will be covered by an NDA. Don't contact competitors though, that would be malicious. Talking to a lawyer might be good too. Lawyers target a legal win. Make sure to clearly define "winning" in this case is to establish that their patenting practices are the culprit.
Of course, make sure to read your contract. I've seen contracts that allow your employer to apply for patents FOR YOU and that you agree to certify them unconditionally. Beware...
Look at Iran. Look at Iraq (pre-war). Look at North Korea.
The only way to do it effectively is to completely cut off trade. That means blockade, not "sanctions". All that happens is that enough stuff makes it into the country to support the elite but the people suffer the negative effects of economic stagnation. There will always be someone poor enough that they will take the chance to trade with them. Lack of direct intervention allows them unfettered abuse of their populace. It's the classic "take my toys and go home" approach--a method to avoid getting yourself in a fight, not a method to improve the situation.
You cannot fight the free market--regardless of what is being traded.
Google is aware that their engine is so big that it can't be properly censored. They're also aware that this is exactly what the Chinese people need.
Sacrificing the profits of China on principle has to be backed by the majority of the shareholders. Additionally, they don't want to enrich Microsoft and don't want their stock price to tank.
Of course, they have quite a few PHDs to feed.
In terms of net evil, of the options available, this is the least evil option. To remove themselves entirely from the Chinese market (the Great Firewall is effective and Google would likely not do well working around it) would be no better.
Make no mistake. Leaving the Chinese people high and dry would not be more effective or less evil. Especially when substituting a willing Microsoft or Yahoo. Ignoring a bad situation is evil. Making the best of it isn't.
Google may cooperate with the Chinese government. However, they won't be able to "purify" the search engine completely. There will be holes in the cache as well. They have so much data that there is no solution to solving this problem. Does making "imperfect" censorship available to the Chinese people sound worse than making a "perfect" set of firewall rules?
As for "reinforcing the censorship policies of petty nationalists"...how does removing yourself from the picture help? What should they do? Develop a crypto query network? Distributed it via clandestine means? Help me here.
Either using Google's "censored" content and tools will send countless Chinese to jail, or they will be able to continue to provide what they do now. In China, right now, Google is a wealth of information with everything you need nestled in the nooks and crannies. While it will be censored within the limitations of the Chinese government and technical possibility, it can still serve some purpose in spreading censored information.
Maybe all this means is that the honchos at Google have some humility. Perhaps they realize that this is the best they can do for the Chinese people. Perhaps they have coupled "Do no evil!" with "Do what you can."?
I would add that, in the right context, it would be very useful. Right now, vehicles and the like must be operated by humans.
There may come a day when simple transport machines will be able to get from one place to another, fuel themselves, and become distressed in emergencies (triggering useful evasive behavior and such).
Since all of the above are in the province of a fruit fly and we can provide senses many orders of magnitude better than those of a fruit fly (think GPS), this has near term practical concerns.
Disney starts at 60 billion of assets - 60 billion of shareholder ownership. Pixar starts at 7 billion of assets - 7 billion of shareholder ownership.
Disney gives the Pixar shareholders 7 billion of assets (cash) for their 7 billion of assets (Pixar).
Now Pixar shareholders have 7 billion of assets (cash) and Disney has 60 billion of assets (60 billion - 7 billion in cash + 7 billion in Pixar).
In other words, no money disappeared, assets just changed hands. As usual, this is all very subjective in terms of profit and loss, since the valuation of assets (the value of Pixar) can be very tricky, even if you aren't trying to overvalue yourself.
You essentially miss that they are buying Pixar from its shareholders. It doesn't own itself.
The reality of this particular trade is more complicated, since some of the payment will be in Disney shares, not cash, but the balance is the same.
Actually, I would recommend something obliquely related to the parent post. FWIW, I have implemented a few of these before, although our consulting firm is small enough that we individually manage GPG keys (and don't run Windows for our infrastructure...well, unless you could Halflife as infrastructure).
Use the MS PKI software for the clients, but use OpenSSL to generate your certs. If you ever have to integrate with something old or ugly, MS generated certs can be a little weird (read, lots of things that only MS does). Note to bore you with the details, but see this document for the gory details of certificate interchange. It's really amazing it works at all.
About MS, the document says:
Microsoft Profile - This isn't a real profile, but the software is widespread enough and nonstandard enough that it constitutes a significant de facto profile.
"No standard or clause in a standard has a divine right of existence." -- A Microsoft PKI architect explaining Microsoft's position on standards compliance.
The document goes on to have an entire section on Microsoft bugs. Although, to be fair, I suspect a good many of them have been fixed and a good many still remain.
So...save yourself the headache...when generating your certs, use OpenSSL with the scripts that come with it. It is quite possibly the least erratic implementation of a CA. Yes, this does make it much more complex to operate. However, so does the following very important recommendation.
Like the parent post says, put it on a machine and lock it in a room (if you do a lot of business, a safe or vault would not be unwarranted). Make sure that any passwords (i.e. for encrypted root private keys) are written down in an envelope and stored in a different, highly secure location. The only thing more frustrating than bad PKI is good PKI when the person who knows the private key password was hit by a bus.
Having administered many machines in the "NT line", I would say that NT, per se, is stable.
However, I would say that Microsofts practices in terms of driver development are a big problem. I find that MS's approach to drivers (WHQL certification) tend to encourage really bad drivers, NT handles bad drivers very badly, and that there is really no way to fix this (except for the standard, someone gets to pay MS a lot).
Unfortunately, you naively think that "owning an idea" is a perfectly okay thing to do. Owning an idea is like owning property, you can kick someone off of it, right? That's great, except you CAN'T kick someone off of an idea. Once they know it, they know it.
This whole "my idea" crap is really the source of the problem. Face it, knowing something is not owning it, and making laws based around that only compounds the problems. When law does not reflect reality, everyone loses. THAT is not paranoid delusion. It certainly doesn't encourage innovation.
Patents on physical devices allow the little guy to innovate in the face of a larger industrial complex. However, in terms of software, mathematics, and processes, it doesn't really work that way.
I, for one, wish that patents were licensible but NOT transferrable. At the core of it, either one group of people or one person create something. I personally don't care whether a company paid them for it or not. If we protected researchers instead of turning research into "work product" that can be sold to corporations, maybe we'd have something. Companies DON'T innovate, people do. This lawsuit is pretty much the result of a political and business world run by MBAs.
I think we agree that patents work fairly well on physical inventions (although we might disagree on medicine and genetic patents). I think we agree that patenting processes and software is bad. I would go a step further and say that allowing the transfer of patents and their status as a work product encourages companies to horde patents but doesn't encourage individuals to innovate. All it does is encourage them to get a not so revolutionary patent and sell it to a patent-based-suefest. Patent reform must remove the financial incentive from anything but actually innovating and actually APPLYING that innovation for yourself. Sale of patents does not accomplish this.
Then again, perhaps all of this wouldn't matter so much if lawsuits were quicker and less expensive.
Since you're probably trolling anyways, I should keep up. If by "small inventor with limmited or no assests" you mean an inability to spell, perhaps we can all see why you're so intent on preserving patent protection.
Exim can do this quite simply. I dare say that it is the most flexible mailer in existence (Sendmail might be as flexible, but it can't be done without a PHD in m4). Assuming you want to set up a relay server that mails to both the real server and a test server (I think that was the question), I would try the following.
In an Exim configuration file, you specify a list of routers that deliver the message. At a certain point, you'll usually either use a dnslookup router or some local delivery router to either forward a message to another host or deliver it locally respectively. In your case:
use the standard dnslookup for remote delivery
don't do any local delivery
use the manualroute router to deliver to the main host, set the generic router option unseen=yes
use another manualroute router to deliver to the test host
The unseen option (detailed here in chapter 15 of the specification) allows the first router to accept the message, but still pass it on to the next router.
I have used this method to do almost the exact thing you are doing here (although it was for logging purposes rather than testing). A word of warning... Your test server may generate bounce messages. Also, your relay server (the exim server in this case) may generate bounces if the test server refuses to accept messages. You can fix the latter by setting the errors_to option to the empty string on the test router (thus indicating bounces be dropped).
Removing the bounce address this way has the undesirable effect of causing the envelope sender on the test server to always be set to the bounce address () which makes it difficult to test things like sender verification.
It is possible to suppress relay bounces but preserve the sender address by saving the current sender in the address_data variable and reinstating it by setting the return_path to that in the transport that the router uses. This is ugly, but exists for this purpose (among others).
Then you only have to suppress bounces on the test server. This problem is inherent in delivering to two servers in parallel. If it is Exim, this is can be done with the errors_to option on your routers as above. This again defeats the purpose, because it is hardly a production configuration for testing purposes (can't test any bounce-related functionality). If the server is not Exim, you'll have to find some other way to suppress bounces.
Keep in mind, no matter what system you put in place for relaying, you will have to suppress bounces if you don't want to confuse your inbound mailers (often customers) with strange bounces on messages that were delivered, but generated a bounce on the test server.
Note that if you are really serious about testing your mail server and doing spamblocking, you'll probably do callouts. Callouts (a nice feature that Exim excels at) go through the initial delivery of a bounce message back to the sender address (but stops short of an actual delivery). This tests whether the return address can receive mail. In the event of common spam with AOL or Yahoo addresses, you stop accepting the address as soon as they close the account (or possibly never accept it if it is a faked account). Callouts are cached to a certain degree, so they are not a very bad performance hit either.
The reason I mention this is that it that effective features like this make it really difficult to block off bounces from your test server effectively. The only way I have been able to test something like this effectively is by moving the IT department (not the support desk though) mail onto a test server completely, bypassing any clever relaying. Make no mistake, a mail server in general, and a well spam-hardened server in particular, will be almost impossible to test effectively (without interfering with regular users) in parallel to your existing mail (i.e. duplic
In the last year, I have had to fsck one Solaris machine by hand to get it booting, one Linux box to get it booting, and I've had two Windows boxen that had to be reinstalled due to the BSOD on a corrupted boot volume. Power failures eat filesystems, Solaris is no different. Of course, I have battery backups on my equipment but some of my customers are cheaper...
The problems with not redistributing wealth is that no one ever thinks it's fair, an unelected government (i.e. coercive power) develops, it opens the door to corruption and misuse, and it never works the way it was intended.
There's a lot of babble coming out of a lot of people right now (especially right-wing radio) about "being fair". It essentially casts any social program in an ugly light (we're SUPPORTING OTHER PEOPLE!) and brings about things like the "fair tax plan" that proposes only a national sales tax.
This is obviously tripe. Of course, the FTP is a loophole for big money to invest in itself while real money only comes out of the pockets of real people. Most of the Midwest is on Medicare, and I have yet to meet anyone who can say in the same meeting that they are against Social Security and that they don't have a parent or grandparent that lives on it. I'm sure they exist, but they're not very common for a reason.
At the core of it, this is the same problem we've always had. People don't like to accept the truth. People (especially a lot of my isolationist, red-state neighbors) want to believe that it will work for people to just "pull their own weight" without any social programs. This is ignorant of reality. People can't always manage their own money, they can't always support their relatives, and there is no way that a person who makes $15,000 per year is in a similar situation (percentages or otherwise) as someone who makes $15 million.
Civilization exists because of an understanding that a group of people is more effective than a single person. If you have a market of isolated people, you develop control and rule by de facto groups, rather it be corporations of political blocs. There is no effective solution for this other than an attempt at representative government. Wealth redistribution and social programs are a direct result of transforming what would have previously been a revolution into a controlled, accountable, and transparent procedure. Ignoring the problem doesn't solve it.
Face it, rampant free market capitalism creates monopolies and an unelected, and unaccountable, class of rich that becomes inaccessibly difficult to join. I have to laugh as I watch these upper class swindlers, time and time again, drag along so many middle class lemmings to dive over their cliff. Until social programs and redistribution of wealth, we HAD NO MIDDLE CLASS! If you're a member of it, deal with it.
To be fair, at the upper levels, I would say MS and RH have similar support techniques and similar levels of expertise. I agree, however, that the support is excellent with a faster turnaround and higher likelihood of a fix.
This is because Windows is inherently harder to support due to poor coding standards, duplication of code, and inaccessibility of the codebase.
This is a double-edged sword. On one hand, today we see that OSS can make higher quality code and MORE SUPPORTABLE code when properly managed. The downside is that we should not get too comfortable, because MS may someday finally write a decent codebase. Their weakness today is in their baggage, not their finances, marketing, or support expense. When the day comes that their code doesn't suck, we may find that things get more difficult.
Actually, that is my point. People get hung up on the cosmology. People try to equate Science with religion because there is an overlap in their answers. That's misguided and people that waste their energy trying to defeat the "enemy" that is Science, miss what's really important about their respective religions--the role of a guidebook, not a textbook.
Einstein's cosmological constant is a measurement of a certain aspect of the universe, not unlike the Hubble constant. While the constant is useful, he wasted a lot of time trying to prove that the universe was not permanently expanding and thus subject to a "heat death" that frustrated his personal beliefs. I don't disagree that the constant is useful, I was just pointing out that he lost a lot of time and credibility trying to put factors into his equations to monkey with this constant, and Intelligent Design is equally a distraction from advancing our understanding of the universe.
Obviously all we know about Quantum Physics isn't wrong. If you feel like studying for about five years and getting a few million dollars with of equipment, there's a decent chance that you could test it experimentally. Electrons have been observed (can now easily be observed at most major universities) interfering with themselves. Bose-Einstein condensates have been created (decades after their prediction). Condensed Fermionic clouds too.
Next time you microwave a burrito, browse the Internet, drive on a newly constructed bridge, or receive a blood transfusion, I'll ask you to please thank science for improving, possibly even saving, your life. As yet, I don't think creationism has given you anything but an IOU.
Creationism is unscientific. Science consists of a well tested method. Creationism is not founded on this method--it is founded on discomfort with the results of correct application of this method. This is of crucial importance. For example, there are things that the Chinese teach in schools that would leave you feeling ill. Not because they are incorrect, just because they teach things in "history" class that should be taught in a "our theory of government" class. If you're going to teach Creationism, put it where it belongs--in a social studies class. Or at least offer it alongside, for example, Einstein's Cosmological Constant theories--an example of when something other than experimental evidence clouds a scientific mind. The intrusion of the weakness of the human mind intrudes on its ability to reason and function.
As for tangible historical data, I think that a hundred years of verifiable experiments works well compared to what little we have in the form of modern western religions. Islam is likely the most recent, at around 600 AD. Christianity falls in next. Judaism last. What we have of most of these are archaeological sites in varying states of dispute and ruin, various old texts, and a lot of oral tradition.
With evolution we have archaeological sites in varying states of dispute and ruin. Ignore the fact the these sites outnumber a hundredfold critical religious sites, are found all over the world (Jesus never visited Antartica that we've found), and the observations are objective. This is obviously less tangible than what has made it through hundred generations of strife, culture clash, and vested interests over a few hundred sites in one of the most conquered areas of the world. Ignore that your competing observations are of subjective phenomena of large cultural signifance. Ignore, well, reality.
I may have missed some sarcasm in your post, but I cannot repeat this defense too often. Bottom line, Science is testable by design. That it offers more than religion in this single respect is as undeniable as it is obvious. One of the greatest tragedies of the modern era has been the acceptance of people saying absurd things.
For Einstein, Copernicus, Galileo, and Archimedes to hold thier religious beliefs in check with regard to their observations was their greatest gift to mankind. They knew that the surest sign from their respective gods came in the form of the world they lived in. They understood that, where the religions of men conflicted with the world of God, it was obvious that divinity lived in reality, not in the words and beliefs of their confused, broken, and corruptible fellows.
Lack of appreciation of these facts belies misunderstanding of the tenets and goals of Science, and sadly focus on the cosmology of ancient religion shows a lack of appreciation for what great things there really are to glean from faith and history. Read the Bible. If you get more out of Genesis than Matthew, I you have my pity. I'm afraid I can't offer similar analogies for the Quran or Torah, but I think you get the idea.
Re:This sort of thing...
on
RIAA Sues a Child
·
· Score: 5, Insightful
Ummm, violating copyright is not "wrong". It is simply illegal.
Don't confuse morality with legality. Their separation is at the core of our legal system's methods for making itself fair and impartial--the rule of law evaluated by balanced minds.
That said, I don't think the existing copyright regime is morally justifiable either.
My copying of another's work costs them nothing, it's not like stealing their car. You do not have a right to be reimbursed by what you percieve to be an opportunity cost. Simply put, the opportunity wasn't there. Legislating to create value where there is otherwise none is an abuse of law and government, plain and simple. This is obviously not "theft".
Once you make something public, you lose control over it. Copyright used to balance the public's interests with yours by giving you limited protection. As usual it seems people have extrapolated this to mean that it's a "right", that they're "entitled to", that duplicating "intellectual property" is theft, and basically missing that loss of control of published works is a fact of life.
Current law extends some copyrights to the author's lifetime plus ninety years. Current law protects "work for hire" more than work you do for yourself. Current law doesn't limit copyright protection once the work is no longer owned by its creator. It is not balanced and blatantly designed to turn information into a commodity.
This has nothing to do with your rights. This has everything to do with Disney keeping their mouse. Just face that in the world of modern publishing, the original terms of copyright might actually be too long. If you can't make your money off of your work in five to ten years, I don't find anything that compels me to keep it out of the public domain. I think that this has benefits beyond compilations of Back Street Boys songs and old women trading cookbooks. How different would your world be if Microsoft Windows 95 had just gone into the public domain in 2005 (not necessarily the source, just the binary even)? We're increasingly giving people (and unfortunately corporations) more control over one another when we should be doing the opposite.
First, Unicode under JSON is abit exciting. In XML there are no surprises.
Secondly, XML is transported over HTTP 90% of the time.
Almost all modern HTTP implementations implement GZIP as an encoding. If you don't already have this enabled in your servers, then you don't really care about bandwidth utilization.
JSON offers nothing useful over XML+GZIP (which is a transport/encoding issue anyway). It can, however, make it vastly more difficult to interchange your data and tie you to a limited object model. If anything, I support the process used by the W3C. I like their standards. JSON is nice, but not nice enough. Sorry guys.
Learn XML. Learn XPATH. Try to use Twisted's XMLSTREAM implementation for a taste of how easy and flexible it can be. Write some Jabber apps. JSON can't really be in those spaces. Not anytime soon at least.
The problem arises when you don't run Firefox as a super user. Under Windows, I have tons of users that couldn't patch it if they wanted to, because they're not Administrators.
Under Windows, MS has an update system that runs as root and uses certificates for validation (lest Man-In-The-Middle attacks let the bad guys send "updates" of their own).
Firefox can't participate in this infrastructure for obvious reasons.
The same issue comes under Linux. If you run Gentoo, you'll need to handle it yourself. Redhat has an autoupdater. Debian has apt-get. This is a solved problem here.
For the Windows area, the "right" solution would be a privileged service that runs as an Administrator. I doubt we'll see this any time soon though.
This is probably the single biggest confusion regarding Open Source.
Read the GPL. There is ABSOLUTELY NOTHING that says you cannot charge for writing your software. None. Additionally, it doesn't prevent you for charging for EACH COPY that you make. I SELL GPL'd software for a living.
Of course, after the customer gets it under the GPL, I don't have much of a hold on them. That's a selling point and it consistently sells my software over proprietary software everytime.
So, your money is in direct sales. You get more sales because your product doesn't tie them to you. You can worry about your customers "spreading" your software around because of the license (indeed to a certain degree that's the point, because you can then incorporate other people's work back into your product, you just can't charge for that). However, how many of your customers would give the software that makes their business run better to their competitors?
The "where's my money" argument is and always has been a straw man argument. It's also pretty loaded. About 75% of your modern programmers got there thinking it was some kind of "get rich quick" scheme. So if "my money" is millions of dollars, you might not get it here. But if you want to work hard for your money and retire nicely, well, then maybe you can get somewhere.
Is it wrong for developers to be hard working and reasonably paid? Why do we have to insist on creating a "make me rich" environment?
That's what FOSS really does--it shows who wants to exploit and who wants to do a good job. Perhaps that's why it makes so many people like the article's author uncomfortable. He always talks about what FOSS will do to the "software industry".
He talks about the "bedroom programmers" of the 80s as bad because they nearly decimated the "games industry". He rails about a glut of "low cost, low quality games", but the truth is it was just commodity competition.
What really happened was that people didn't insist on the "quality" of professionally developed games at the time. Instead, people were content with the lesser games because of a value proposition. Remember EPIC Megagames?
It doesn't take much more than a look at id Software to see what was going on. It took a team of a few people who were really into what they were doing and they pulled off a Renaissance in gaming.
Don't misread me. I am a professional programmer in most senses of the word, but what the "professional" crowd fails to appreciate about the OSS world is that it is designed to build projects that mostly fail because that's optimal. What's even more ironic is that the proprietary world DOES THE SAME THING! Of course, they don't say that to investors, but in both systems, it's about having groups (venture capital funded companies in proprietary or groups of interested coders in FOSS) that try to crank out something that works and fail in the process. This generally grows out of the same evolutionary processes behind the free market. It's the simple acknowledgement that 80% success * 10 projects 10% success * 100 projects.
FOSS just removes the control and the bean counters, so that more projects can be attempted and so that half-failures can become successes instead of "intellectual property" that should be "capitalized" to "minimize losses".
I also find it hard not to laugh at phrases like "tight specs eliminate bugs". This is total BS. "Tight Specs" give people the ability to assign blame when there is a miscommunication among programmers. They give people an Oracle to consult when there are questions. This is all a team issue and not a "bug" issue at all. In fact, "tight specs" can reduce the efficiency of the team and make it hard to retain good coders in many circumstances. The fact of the matter is that it takes the right people with a good team dynamic, and specs don't influence that in the least. That, and badly made "tight specs" can make a project impossible (or impossibly expensive). Of course, that's why you
Sorry about the confusion. I was responding to somebody further up thread with that specific comment. I was trying to support part of your argument in that the binary diffs really are the revolutionary part of the update package (both in MS's case and in Firefox's).
I was just trying to point out this this has really been going on since the early 1990s and MS is kind of late to the game here.
That said, 50% of Windows code is macros or inlined and spread across 60 dlls. WAU's binary delta doesn't really handle this well. So this benefit is still a bit dubious too.
FWIW,.Net is set to fix this (although they're still not doing a good job of collapsing some of the library connections down to the point that it won't create a new DLL web), but I don't think you'll see the OS reimplemented in it for a long time.
No matter. When the next version uses signed hash trees authenticating a ratelessly encoded binary diff distributed over a massively peer-to-peer network, I'll be impressed. I've fantasized about selling something like that to the professional patching companies (think RTPatch) but never really wanted to commit six months of my life to writing something like that (yet).
Actually, no. The single most helpful thing with the new updater is binary diffs. This cuts a multi-megabyte download into a few kilobytes in many cases. This is big. This is revolutionary in terms of bandwidth savings (using P2P would be the next level).
As usual, it's not Microsoft's doing, although they will undoubtedly reimplement it with a 50% chance the implementation will suck and then market it like they invented it anyway.
At any rate, WAU does the same thing. It removed my control of my network. Microsoft wants to dictate a number of things (including security policies) that I'm simply not comfortable with. In the end, the Mozilla developers are more trustworthy and responsive in this regard, and WAU can't make Microsoft actually provide fixes that work on a regular basis.
I'm a professional Windows Admin about 50% of my week, and I am very bitter about it.
I've always pitied AMD because they seem to have a better engineered product (certain K6s and K6-2s excepted) but never seem to get anywhere because the right people don't adopt their product. Until fairly recently, I couldn't get a SuperMicro server with an AMD in it. Even now you can supposedly get an Opteron, but can't fit it in all of their rackmount options and they don't even list it on their web site!
It's the deals like this that make it really tough for AMD. Admittedly, as a customer, I can't find a vendor that satisfies my need for an inexpensive, reliable, AMD-based server. Looking a their pricing, this isn't AMDs fault and I don't really believe it's a technical issue either.
Similarly you'll note the dearth of 4+ processor AMD systems. This is important. Their MP model makes it easy to scale this high and it shows in the custom market (many 32/64 proc Opteron options if you're buying a custom-built supercomputer). However, the low end ones are not being built and its only because Intel puts a lot of pressure on its technology partners to insure that they can't afford to build a sub-$800 8-processor Opteron board. Either you lose your processor pricing or you'll get exciting new "patent-licensing" deals.
WRT to the market forces involved, the assumption is that, barring bad management, a good product at the right price should prevail. While Intel can complain about AMD's management, I think the problem is that they never have the money to operate correctly because of Intel's influence. The effective choice is that your management can hinder the company to match the amount of business the monopolist lets you have or it can operate with an aggressive but realistic business plan that falls on its face because of illegal practices. In short, Intel says, "your management should have planned for the material damages from our illegal activities" and AMD should very much answer "damages are damages, it may not have been really good business to not account well for them, but that doesn't dimish your responsibility for the damage".
And as for "waiting for the facts to come out", this is a court room. I'm sure any facts involved will be mangled beyond all recognition once they finally "come out".
PDF != Adobe?
Tell that to Dmitri Skylarov.
Like it or not, to download the PDF spec, you have to agree not to "violate" the DRM, among other things. Of course, you could try to clean room reverse engineer it, but that would kill the portable part fairly quickly, since the DMCA would most likely cover "circumventing DRM" even in a clean room implementation.
De facto, PDF == Adobe.
Also, PDFs are not made to simply represent the print layout. While that is their most beneficial feature, PDF does a lot more. It provides bookmark navigation and can be used to reformat the document to different page sizes when the document is properly generated.
As for "read only", well, I've been paid hourly to modify a PDF'd contract prior to signing (which was perfectly legal and delightfully unexpected by the other party). Once of the happiest moments in my life was removing the section that said the contract was void if it was modified. It was an eye-opening and kind of surreal moment. It was also the first time I ever heard a lawyer giggle...
From a technical perspective (having tried to manually work with PDF at a file level) its horrible. The format more closely resembles FAT than PostScript (contrary to popular belief--I am painfully serious about this). It's broken into blocks with a weird allocation table. Originally, it appears the idea was to make it editable (although "editing" a PDF in anything is pretty painful). As such, even though I don't currently recommend much other than PDF for my customers, I don't feel very much love towards it either.
In the spirit of offering solutions instead of only complaints, I like SVG quite a bit, SVG-P (standard with SVG 2.0) more, and actually find XSL-FO the easiest to work with.I currently crank out a few invoices per month and some finanacial reports with XSL-FO and FOP. Even though they end up in PDF, I really wish XSL-FO was the de facto standard instead of PDF...
In the Latin:
In Googlis non est, ergo non est. (If it's not in Google, it doesn't exist.)
Of course, you could also say:
Quidquid Latine dictum altum sonatur. (Anything said in Latin sounds better.)
If you have a family, I'd first advise you to be financially responsible.
If you want to do things the ethical way, IANAL, but I'd take the following direction:
Software is mathematics, it can't be patented. Additionally, patents require you to certify, personally, that you believe the invention is novel and patentable.
Your boss cannot force you to certify that and they likely can't fire you for refusing to certify bogus patents. The key is to document that they are linking "low-performance" (their justification for firing you) with unethical coercion.
If you are asked to write a software patent, fire back a written memo indicating that it can't be patented. Each time make the correct legal case that this process cannot be patented any more than addition or subtraction.
If there are complaints that you are not "performing" due to your inability to generate patents, on your own time get yourself a copy of other patents that other "high performers" have generated and disassemble them as equally invalid. Most importantly, communicate this to your boss in writing and save a copy of all of this correspondence.
Bottom line, your boss wil have to tell you to write patents on what you believe to be unpatentable. That's not exactly legal. At some point, the author certifies that they believe something is true. If they fire you for performance, claim wrongful termination. They were asking you to falsely certify something and fired you for not doing it.
As an added bonus contact PubPat (or someone similar, or even the USPTO directly) and provide them with your research and correspondence. Most of the legal system involves plausible deniability. People can deny their intent. When you create a paper trail, you either get fired or respected--but you remove their ability to deny their intent. In your case, you'd have been fired anyway--at least this gives you some ammunition.
Keep in mind, patents are public, so it's unlikely your actions will be covered by an NDA. Don't contact competitors though, that would be malicious. Talking to a lawyer might be good too. Lawyers target a legal win. Make sure to clearly define "winning" in this case is to establish that their patenting practices are the culprit.
Of course, make sure to read your contract. I've seen contracts that allow your employer to apply for patents FOR YOU and that you agree to certify them unconditionally. Beware...
This is fundamental.
Look at Iran. Look at Iraq (pre-war). Look at North Korea.
The only way to do it effectively is to completely cut off trade. That means blockade, not "sanctions". All that happens is that enough stuff makes it into the country to support the elite but the people suffer the negative effects of economic stagnation. There will always be someone poor enough that they will take the chance to trade with them. Lack of direct intervention allows them unfettered abuse of their populace. It's the classic "take my toys and go home" approach--a method to avoid getting yourself in a fight, not a method to improve the situation.
You cannot fight the free market--regardless of what is being traded.
Google is aware that their engine is so big that it can't be properly censored. They're also aware that this is exactly what the Chinese people need.
That's the problem with being publicly traded...
Sacrificing the profits of China on principle has to be backed by the majority of the shareholders. Additionally, they don't want to enrich Microsoft and don't want their stock price to tank.
Of course, they have quite a few PHDs to feed.
In terms of net evil, of the options available, this is the least evil option. To remove themselves entirely from the Chinese market (the Great Firewall is effective and Google would likely not do well working around it) would be no better.
Make no mistake. Leaving the Chinese people high and dry would not be more effective or less evil. Especially when substituting a willing Microsoft or Yahoo. Ignoring a bad situation is evil. Making the best of it isn't.
Google may cooperate with the Chinese government. However, they won't be able to "purify" the search engine completely. There will be holes in the cache as well. They have so much data that there is no solution to solving this problem. Does making "imperfect" censorship available to the Chinese people sound worse than making a "perfect" set of firewall rules?
As for "reinforcing the censorship policies of petty nationalists"...how does removing yourself from the picture help? What should they do? Develop a crypto query network? Distributed it via clandestine means? Help me here.
Either using Google's "censored" content and tools will send countless Chinese to jail, or they will be able to continue to provide what they do now. In China, right now, Google is a wealth of information with everything you need nestled in the nooks and crannies. While it will be censored within the limitations of the Chinese government and technical possibility, it can still serve some purpose in spreading censored information.
Maybe all this means is that the honchos at Google have some humility. Perhaps they realize that this is the best they can do for the Chinese people. Perhaps they have coupled "Do no evil!" with "Do what you can."?
I would add that, in the right context, it would be very useful. Right now, vehicles and the like must be operated by humans.
There may come a day when simple transport machines will be able to get from one place to another, fuel themselves, and become distressed in emergencies (triggering useful evasive behavior and such).
Since all of the above are in the province of a fruit fly and we can provide senses many orders of magnitude better than those of a fruit fly (think GPS), this has near term practical concerns.
Disney starts at 60 billion of assets - 60 billion of shareholder ownership.
Pixar starts at 7 billion of assets - 7 billion of shareholder ownership.
Disney gives the Pixar shareholders 7 billion of assets (cash) for their 7 billion of assets (Pixar).
Now Pixar shareholders have 7 billion of assets (cash) and Disney has 60 billion of assets (60 billion - 7 billion in cash + 7 billion in Pixar).
In other words, no money disappeared, assets just changed hands. As usual, this is all very subjective in terms of profit and loss, since the valuation of assets (the value of Pixar) can be very tricky, even if you aren't trying to overvalue yourself.
You essentially miss that they are buying Pixar from its shareholders. It doesn't own itself.
The reality of this particular trade is more complicated, since some of the payment will be in Disney shares, not cash, but the balance is the same.
Use the MS PKI software for the clients, but use OpenSSL to generate your certs. If you ever have to integrate with something old or ugly, MS generated certs can be a little weird (read, lots of things that only MS does). Note to bore you with the details, but see this document for the gory details of certificate interchange. It's really amazing it works at all.
About MS, the document says:
The document goes on to have an entire section on Microsoft bugs. Although, to be fair, I suspect a good many of them have been fixed and a good many still remain.
So...save yourself the headache...when generating your certs, use OpenSSL with the scripts that come with it. It is quite possibly the least erratic implementation of a CA. Yes, this does make it much more complex to operate. However, so does the following very important recommendation.
Like the parent post says, put it on a machine and lock it in a room (if you do a lot of business, a safe or vault would not be unwarranted). Make sure that any passwords (i.e. for encrypted root private keys) are written down in an envelope and stored in a different, highly secure location. The only thing more frustrating than bad PKI is good PKI when the person who knows the private key password was hit by a bus.
Having administered many machines in the "NT line", I would say that NT, per se, is stable.
However, I would say that Microsofts practices in terms of driver development are a big problem. I find that MS's approach to drivers (WHQL certification) tend to encourage really bad drivers, NT handles bad drivers very badly, and that there is really no way to fix this (except for the standard, someone gets to pay MS a lot).
Unfortunately, you naively think that "owning an idea" is a perfectly okay thing to do. Owning an idea is like owning property, you can kick someone off of it, right? That's great, except you CAN'T kick someone off of an idea. Once they know it, they know it.
This whole "my idea" crap is really the source of the problem. Face it, knowing something is not owning it, and making laws based around that only compounds the problems. When law does not reflect reality, everyone loses. THAT is not paranoid delusion. It certainly doesn't encourage innovation.
Patents on physical devices allow the little guy to innovate in the face of a larger industrial complex. However, in terms of software, mathematics, and processes, it doesn't really work that way.
I, for one, wish that patents were licensible but NOT transferrable. At the core of it, either one group of people or one person create something. I personally don't care whether a company paid them for it or not. If we protected researchers instead of turning research into "work product" that can be sold to corporations, maybe we'd have something. Companies DON'T innovate, people do. This lawsuit is pretty much the result of a political and business world run by MBAs.
I think we agree that patents work fairly well on physical inventions (although we might disagree on medicine and genetic patents). I think we agree that patenting processes and software is bad. I would go a step further and say that allowing the transfer of patents and their status as a work product encourages companies to horde patents but doesn't encourage individuals to innovate. All it does is encourage them to get a not so revolutionary patent and sell it to a patent-based-suefest. Patent reform must remove the financial incentive from anything but actually innovating and actually APPLYING that innovation for yourself. Sale of patents does not accomplish this.
Then again, perhaps all of this wouldn't matter so much if lawsuits were quicker and less expensive.
Since you're probably trolling anyways, I should keep up. If by "small inventor with limmited or no assests" you mean an inability to spell, perhaps we can all see why you're so intent on preserving patent protection.
Exim can do this quite simply. I dare say that it is the most flexible mailer in existence (Sendmail might be as flexible, but it can't be done without a PHD in m4). Assuming you want to set up a relay server that mails to both the real server and a test server (I think that was the question), I would try the following.
In an Exim configuration file, you specify a list of routers that deliver the message. At a certain point, you'll usually either use a dnslookup router or some local delivery router to either forward a message to another host or deliver it locally respectively. In your case:
The unseen option (detailed here in chapter 15 of the specification) allows the first router to accept the message, but still pass it on to the next router.
I have used this method to do almost the exact thing you are doing here (although it was for logging purposes rather than testing). A word of warning... Your test server may generate bounce messages. Also, your relay server (the exim server in this case) may generate bounces if the test server refuses to accept messages. You can fix the latter by setting the errors_to option to the empty string on the test router (thus indicating bounces be dropped).
Removing the bounce address this way has the undesirable effect of causing the envelope sender on the test server to always be set to the bounce address () which makes it difficult to test things like sender verification.
It is possible to suppress relay bounces but preserve the sender address by saving the current sender in the address_data variable and reinstating it by setting the return_path to that in the transport that the router uses. This is ugly, but exists for this purpose (among others).
Then you only have to suppress bounces on the test server. This problem is inherent in delivering to two servers in parallel. If it is Exim, this is can be done with the errors_to option on your routers as above. This again defeats the purpose, because it is hardly a production configuration for testing purposes (can't test any bounce-related functionality). If the server is not Exim, you'll have to find some other way to suppress bounces.
Keep in mind, no matter what system you put in place for relaying, you will have to suppress bounces if you don't want to confuse your inbound mailers (often customers) with strange bounces on messages that were delivered, but generated a bounce on the test server.
Note that if you are really serious about testing your mail server and doing spamblocking, you'll probably do callouts. Callouts (a nice feature that Exim excels at) go through the initial delivery of a bounce message back to the sender address (but stops short of an actual delivery). This tests whether the return address can receive mail. In the event of common spam with AOL or Yahoo addresses, you stop accepting the address as soon as they close the account (or possibly never accept it if it is a faked account). Callouts are cached to a certain degree, so they are not a very bad performance hit either.
The reason I mention this is that it that effective features like this make it really difficult to block off bounces from your test server effectively. The only way I have been able to test something like this effectively is by moving the IT department (not the support desk though) mail onto a test server completely, bypassing any clever relaying. Make no mistake, a mail server in general, and a well spam-hardened server in particular, will be almost impossible to test effectively (without interfering with regular users) in parallel to your existing mail (i.e. duplic
In the last year, I have had to fsck one Solaris machine by hand to get it booting, one Linux box to get it booting, and I've had two Windows boxen that had to be reinstalled due to the BSOD on a corrupted boot volume. Power failures eat filesystems, Solaris is no different. Of course, I have battery backups on my equipment but some of my customers are cheaper...
Since when is "unloading NLMs" standard operating procedure?
I can crash Windows by stopping random services and uninstalling the right driver too. Big deal.
The problems with not redistributing wealth is that no one ever thinks it's fair, an unelected government (i.e. coercive power) develops, it opens the door to corruption and misuse, and it never works the way it was intended.
There's a lot of babble coming out of a lot of people right now (especially right-wing radio) about "being fair". It essentially casts any social program in an ugly light (we're SUPPORTING OTHER PEOPLE!) and brings about things like the "fair tax plan" that proposes only a national sales tax.
This is obviously tripe. Of course, the FTP is a loophole for big money to invest in itself while real money only comes out of the pockets of real people. Most of the Midwest is on Medicare, and I have yet to meet anyone who can say in the same meeting that they are against Social Security and that they don't have a parent or grandparent that lives on it. I'm sure they exist, but they're not very common for a reason.
At the core of it, this is the same problem we've always had. People don't like to accept the truth. People (especially a lot of my isolationist, red-state neighbors) want to believe that it will work for people to just "pull their own weight" without any social programs. This is ignorant of reality. People can't always manage their own money, they can't always support their relatives, and there is no way that a person who makes $15,000 per year is in a similar situation (percentages or otherwise) as someone who makes $15 million.
Civilization exists because of an understanding that a group of people is more effective than a single person. If you have a market of isolated people, you develop control and rule by de facto groups, rather it be corporations of political blocs. There is no effective solution for this other than an attempt at representative government. Wealth redistribution and social programs are a direct result of transforming what would have previously been a revolution into a controlled, accountable, and transparent procedure. Ignoring the problem doesn't solve it.
Face it, rampant free market capitalism creates monopolies and an unelected, and unaccountable, class of rich that becomes inaccessibly difficult to join. I have to laugh as I watch these upper class swindlers, time and time again, drag along so many middle class lemmings to dive over their cliff. Until social programs and redistribution of wealth, we HAD NO MIDDLE CLASS! If you're a member of it, deal with it.
To be fair, at the upper levels, I would say MS and RH have similar support techniques and similar levels of expertise. I agree, however, that the support is excellent with a faster turnaround and higher likelihood of a fix.
This is because Windows is inherently harder to support due to poor coding standards, duplication of code, and inaccessibility of the codebase.
This is a double-edged sword. On one hand, today we see that OSS can make higher quality code and MORE SUPPORTABLE code when properly managed. The downside is that we should not get too comfortable, because MS may someday finally write a decent codebase. Their weakness today is in their baggage, not their finances, marketing, or support expense. When the day comes that their code doesn't suck, we may find that things get more difficult.
Actually, that is my point. People get hung up on the cosmology. People try to equate Science with religion because there is an overlap in their answers. That's misguided and people that waste their energy trying to defeat the "enemy" that is Science, miss what's really important about their respective religions--the role of a guidebook, not a textbook.
Einstein's cosmological constant is a measurement of a certain aspect of the universe, not unlike the Hubble constant. While the constant is useful, he wasted a lot of time trying to prove that the universe was not permanently expanding and thus subject to a "heat death" that frustrated his personal beliefs. I don't disagree that the constant is useful, I was just pointing out that he lost a lot of time and credibility trying to put factors into his equations to monkey with this constant, and Intelligent Design is equally a distraction from advancing our understanding of the universe.
Obviously all we know about Quantum Physics isn't wrong. If you feel like studying for about five years and getting a few million dollars with of equipment, there's a decent chance that you could test it experimentally. Electrons have been observed (can now easily be observed at most major universities) interfering with themselves. Bose-Einstein condensates have been created (decades after their prediction). Condensed Fermionic clouds too.
Next time you microwave a burrito, browse the Internet, drive on a newly constructed bridge, or receive a blood transfusion, I'll ask you to please thank science for improving, possibly even saving, your life. As yet, I don't think creationism has given you anything but an IOU.
Creationism is unscientific. Science consists of a well tested method. Creationism is not founded on this method--it is founded on discomfort with the results of correct application of this method. This is of crucial importance. For example, there are things that the Chinese teach in schools that would leave you feeling ill. Not because they are incorrect, just because they teach things in "history" class that should be taught in a "our theory of government" class. If you're going to teach Creationism, put it where it belongs--in a social studies class. Or at least offer it alongside, for example, Einstein's Cosmological Constant theories--an example of when something other than experimental evidence clouds a scientific mind. The intrusion of the weakness of the human mind intrudes on its ability to reason and function.
As for tangible historical data, I think that a hundred years of verifiable experiments works well compared to what little we have in the form of modern western religions. Islam is likely the most recent, at around 600 AD. Christianity falls in next. Judaism last. What we have of most of these are archaeological sites in varying states of dispute and ruin, various old texts, and a lot of oral tradition.
With evolution we have archaeological sites in varying states of dispute and ruin. Ignore the fact the these sites outnumber a hundredfold critical religious sites, are found all over the world (Jesus never visited Antartica that we've found), and the observations are objective. This is obviously less tangible than what has made it through hundred generations of strife, culture clash, and vested interests over a few hundred sites in one of the most conquered areas of the world. Ignore that your competing observations are of subjective phenomena of large cultural signifance. Ignore, well, reality.
I may have missed some sarcasm in your post, but I cannot repeat this defense too often. Bottom line, Science is testable by design. That it offers more than religion in this single respect is as undeniable as it is obvious. One of the greatest tragedies of the modern era has been the acceptance of people saying absurd things.
For Einstein, Copernicus, Galileo, and Archimedes to hold thier religious beliefs in check with regard to their observations was their greatest gift to mankind. They knew that the surest sign from their respective gods came in the form of the world they lived in. They understood that, where the religions of men conflicted with the world of God, it was obvious that divinity lived in reality, not in the words and beliefs of their confused, broken, and corruptible fellows.
Lack of appreciation of these facts belies misunderstanding of the tenets and goals of Science, and sadly focus on the cosmology of ancient religion shows a lack of appreciation for what great things there really are to glean from faith and history. Read the Bible. If you get more out of Genesis than Matthew, I you have my pity. I'm afraid I can't offer similar analogies for the Quran or Torah, but I think you get the idea.
Ummm, violating copyright is not "wrong". It is simply illegal.
Don't confuse morality with legality. Their separation is at the core of our legal system's methods for making itself fair and impartial--the rule of law evaluated by balanced minds.
That said, I don't think the existing copyright regime is morally justifiable either.
My copying of another's work costs them nothing, it's not like stealing their car. You do not have a right to be reimbursed by what you percieve to be an opportunity cost. Simply put, the opportunity wasn't there. Legislating to create value where there is otherwise none is an abuse of law and government, plain and simple. This is obviously not "theft".
Once you make something public, you lose control over it. Copyright used to balance the public's interests with yours by giving you limited protection. As usual it seems people have extrapolated this to mean that it's a "right", that they're "entitled to", that duplicating "intellectual property" is theft, and basically missing that loss of control of published works is a fact of life.
Current law extends some copyrights to the author's lifetime plus ninety years. Current law protects "work for hire" more than work you do for yourself. Current law doesn't limit copyright protection once the work is no longer owned by its creator. It is not balanced and blatantly designed to turn information into a commodity.
This has nothing to do with your rights. This has everything to do with Disney keeping their mouse. Just face that in the world of modern publishing, the original terms of copyright might actually be too long. If you can't make your money off of your work in five to ten years, I don't find anything that compels me to keep it out of the public domain. I think that this has benefits beyond compilations of Back Street Boys songs and old women trading cookbooks. How different would your world be if Microsoft Windows 95 had just gone into the public domain in 2005 (not necessarily the source, just the binary even)? We're increasingly giving people (and unfortunately corporations) more control over one another when we should be doing the opposite.
First, Unicode under JSON is abit exciting. In XML there are no surprises.
Secondly, XML is transported over HTTP 90% of the time.
Almost all modern HTTP implementations implement GZIP as an encoding. If you don't already have this enabled in your servers, then you don't really care about bandwidth utilization.
JSON offers nothing useful over XML+GZIP (which is a transport/encoding issue anyway). It can, however, make it vastly more difficult to interchange your data and tie you to a limited object model. If anything, I support the process used by the W3C. I like their standards. JSON is nice, but not nice enough. Sorry guys.
Learn XML. Learn XPATH. Try to use Twisted's XMLSTREAM implementation for a taste of how easy and flexible it can be. Write some Jabber apps. JSON can't really be in those spaces. Not anytime soon at least.
Actually, that's not as trivial as it sounds.
The problem arises when you don't run Firefox as a super user. Under Windows, I have tons of users that couldn't patch it if they wanted to, because they're not Administrators.
Under Windows, MS has an update system that runs as root and uses certificates for validation (lest Man-In-The-Middle attacks let the bad guys send "updates" of their own).
Firefox can't participate in this infrastructure for obvious reasons.
The same issue comes under Linux. If you run Gentoo, you'll need to handle it yourself. Redhat has an autoupdater. Debian has apt-get. This is a solved problem here.
For the Windows area, the "right" solution would be a privileged service that runs as an Administrator. I doubt we'll see this any time soon though.
This is probably the single biggest confusion regarding Open Source.
Read the GPL. There is ABSOLUTELY NOTHING that says you cannot charge for writing your software. None. Additionally, it doesn't prevent you for charging for EACH COPY that you make. I SELL GPL'd software for a living.
Of course, after the customer gets it under the GPL, I don't have much of a hold on them. That's a selling point and it consistently sells my software over proprietary software everytime.
So, your money is in direct sales. You get more sales because your product doesn't tie them to you. You can worry about your customers "spreading" your software around because of the license (indeed to a certain degree that's the point, because you can then incorporate other people's work back into your product, you just can't charge for that). However, how many of your customers would give the software that makes their business run better to their competitors?
The "where's my money" argument is and always has been a straw man argument. It's also pretty loaded. About 75% of your modern programmers got there thinking it was some kind of "get rich quick" scheme. So if "my money" is millions of dollars, you might not get it here. But if you want to work hard for your money and retire nicely, well, then maybe you can get somewhere.
Is it wrong for developers to be hard working and reasonably paid? Why do we have to insist on creating a "make me rich" environment?
That's what FOSS really does--it shows who wants to exploit and who wants to do a good job. Perhaps that's why it makes so many people like the article's author uncomfortable. He always talks about what FOSS will do to the "software industry".
He talks about the "bedroom programmers" of the 80s as bad because they nearly decimated the "games industry". He rails about a glut of "low cost, low quality games", but the truth is it was just commodity competition.
What really happened was that people didn't insist on the "quality" of professionally developed games at the time. Instead, people were content with the lesser games because of a value proposition. Remember EPIC Megagames?
It doesn't take much more than a look at id Software to see what was going on. It took a team of a few people who were really into what they were doing and they pulled off a Renaissance in gaming.
Don't misread me. I am a professional programmer in most senses of the word, but what the "professional" crowd fails to appreciate about the OSS world is that it is designed to build projects that mostly fail because that's optimal. What's even more ironic is that the proprietary world DOES THE SAME THING! Of course, they don't say that to investors, but in both systems, it's about having groups (venture capital funded companies in proprietary or groups of interested coders in FOSS) that try to crank out something that works and fail in the process. This generally grows out of the same evolutionary processes behind the free market. It's the simple acknowledgement that 80% success * 10 projects 10% success * 100 projects.
FOSS just removes the control and the bean counters, so that more projects can be attempted and so that half-failures can become successes instead of "intellectual property" that should be "capitalized" to "minimize losses".
I also find it hard not to laugh at phrases like "tight specs eliminate bugs". This is total BS. "Tight Specs" give people the ability to assign blame when there is a miscommunication among programmers. They give people an Oracle to consult when there are questions. This is all a team issue and not a "bug" issue at all. In fact, "tight specs" can reduce the efficiency of the team and make it hard to retain good coders in many circumstances. The fact of the matter is that it takes the right people with a good team dynamic, and specs don't influence that in the least. That, and badly made "tight specs" can make a project impossible (or impossibly expensive). Of course, that's why you
Sorry about the confusion. I was responding to somebody further up thread with that specific comment. I was trying to support part of your argument in that the binary diffs really are the revolutionary part of the update package (both in MS's case and in Firefox's).
.Net is set to fix this (although they're still not doing a good job of collapsing some of the library connections down to the point that it won't create a new DLL web), but I don't think you'll see the OS reimplemented in it for a long time.
I was just trying to point out this this has really been going on since the early 1990s and MS is kind of late to the game here.
That said, 50% of Windows code is macros or inlined and spread across 60 dlls. WAU's binary delta doesn't really handle this well. So this benefit is still a bit dubious too.
FWIW,
No matter. When the next version uses signed hash trees authenticating a ratelessly encoded binary diff distributed over a massively peer-to-peer network, I'll be impressed. I've fantasized about selling something like that to the professional patching companies (think RTPatch) but never really wanted to commit six months of my life to writing something like that (yet).
Actually, no. The single most helpful thing with the new updater is binary diffs. This cuts a multi-megabyte download into a few kilobytes in many cases. This is big. This is revolutionary in terms of bandwidth savings (using P2P would be the next level).
As usual, it's not Microsoft's doing, although they will undoubtedly reimplement it with a 50% chance the implementation will suck and then market it like they invented it anyway.
At any rate, WAU does the same thing. It removed my control of my network. Microsoft wants to dictate a number of things (including security policies) that I'm simply not comfortable with. In the end, the Mozilla developers are more trustworthy and responsive in this regard, and WAU can't make Microsoft actually provide fixes that work on a regular basis.
I'm a professional Windows Admin about 50% of my week, and I am very bitter about it.
I've always pitied AMD because they seem to have a better engineered product (certain K6s and K6-2s excepted) but never seem to get anywhere because the right people don't adopt their product. Until fairly recently, I couldn't get a SuperMicro server with an AMD in it. Even now you can supposedly get an Opteron, but can't fit it in all of their rackmount options and they don't even list it on their web site!
It's the deals like this that make it really tough for AMD. Admittedly, as a customer, I can't find a vendor that satisfies my need for an inexpensive, reliable, AMD-based server. Looking a their pricing, this isn't AMDs fault and I don't really believe it's a technical issue either.
Similarly you'll note the dearth of 4+ processor AMD systems. This is important. Their MP model makes it easy to scale this high and it shows in the custom market (many 32/64 proc Opteron options if you're buying a custom-built supercomputer). However, the low end ones are not being built and its only because Intel puts a lot of pressure on its technology partners to insure that they can't afford to build a sub-$800 8-processor Opteron board. Either you lose your processor pricing or you'll get exciting new "patent-licensing" deals.
WRT to the market forces involved, the assumption is that, barring bad management, a good product at the right price should prevail. While Intel can complain about AMD's management, I think the problem is that they never have the money to operate correctly because of Intel's influence. The effective choice is that your management can hinder the company to match the amount of business the monopolist lets you have or it can operate with an aggressive but realistic business plan that falls on its face because of illegal practices. In short, Intel says, "your management should have planned for the material damages from our illegal activities" and AMD should very much answer "damages are damages, it may not have been really good business to not account well for them, but that doesn't dimish your responsibility for the damage".
And as for "waiting for the facts to come out", this is a court room. I'm sure any facts involved will be mangled beyond all recognition once they finally "come out".