Having a 64 bit long means that you get two types of errors: 1. Structure alignment errors
This error is the one that kicked everyone's but on the 16 to 32 bit ports. When you have a reference, it's good to know that both sides agreed how big the structure was.
Having a 32 bit long gives rise to one type of error: Bits get lost transferring from a 64 bit value to a 32 bit value
Yes, but this problem is easily detected by the compiler, and it throws a warning. It never even makes it to QA.
Given the choice, the errors caused by a 64 bit long are to be preferred to those caused by a 32 bit long because the ones caused by a 64 bit long will be discovered earlier.
I completely disagree here. Compiler warnings are caught earlier than structure alignment issues. 32 bit longs definitely make for easier 32 to 64 bit ports.
What is screwed up is cross platform portability between the LP64 and the LLP64 camps. It will just force everyone who cares to avoid long, which they could/should have been doing since ILP32.
The reason Microsoft chose LLP64 to ensure transparent portability between 32 and 64 bit compiles of Win32 apps. That was the most important consideration in their mind. I wouldn't call Microsoft's choice "stupid", but practical. There are very few applications for a 64 bit integer - it would just be wasted space most often, and it complicates portability between 32 and 64 bit compiles.
All Microsoft APIs, and most third party APIs already use "Windows" types (BYTE, WORD, DWORD, QUADWORD, LPDWORD, etc) that are a fixed size. This is partly due to the fact that these DLLs are linked from many languages (VB, Pascal, C). They are not very C centric. Also, we are not used to recompiling everything to use a library: we likely don't have the source. We have to link carefully. Ints and longs won't do.
I do think Microsoft's choice (LLP64) fails to follow the spirit of Stroustrup's C++ standard that: "Plain ints have the natural size suggested by the architecture of the execution enviorment."
I personally have found myself avoid long in the last 5 years. After living through the 16 to 32 bit migration, I favor int32, int64, size_t, wchar_t, etc. You just can't count on the sizeof(long). I still use int, but just for counting and indexing within functions and methods, when I know my application won't come close to needing even 16 bits. If I need more than that, I use size_t.
Not sure where you got the idea they were using Shake. Lowry Digital did the restoration, and while Macs were used, it was done with proprietory software.
I (and my business partner) used this technique 5 years ago to develop the budgeting system used by all Idaho state agencies. It uses IE5 with a few ActiveX controls (grid, custom combo boxes) bound to an XML data source. The result is a rich application-like experience within the browser.
The back end is IIS + SQL Server. The server runs in Boise. Hundreds of users from dozens of agencies around the state manage their complex budgeting process with this app.
XMLHTTP was a key technology in Microsoft's plan to use IE as the business app environment. Databinding to native HTML controls was pretty cool - 5 years ago.
If they did not violate the law, though, why is there a final judgement, and not a dismissal of the case? Why are there prohibitions on how Microsoft can act in the future?
As an aside, do you *really* believe that Microsoft has not broken any laws in it's behaviour? I'm just curious.
I never claimed Microsoft did not violate the law. I claim no one at Microsoft was convicted of violating anti-trust laws - the officers weren't even tried. No criminal charges were filed -- unlike other well known corporate scandals (Enron).
In criminal cases, you are found guily. In civil cases, one is found liable. You can't become a convicted criminal by losing a civil case. These are well defined terms. This is why I feel the term convicted monopolist is a false legal term in the context of the DOJ civil case.
Microsoft was not "convicted" of anything. The company was the defendant in a civil action, not a crimial case. You sound like a fool using that ridiculous term.
The point of certificates is to prevent impersonation of trusted sources by untrusted sources. Anyone can register a valid company name. Verisign considers proof of name a printed phone listing (they call you back at the published number) or a notarized copy of a business license.
So somebody seems to have registered a company name "Click YES to continue" in some state. It's probably a legal company name. I agree with the author that this is obviously deceptive practice, and Verisign should revoke the certificate revoked. In addition, we should be able to complain to Verisign about other companies violating the Verisign agreement.
I don't know what they do if the company name is a duplicate of another previously registered name.
The start menu doesn't keep track of my most commonly used apps
Sure it does. The Programs list auto-hides the least used entries.
My Computer isn't on the start menu
No, it's where god intended it - on the desktop. If you don't want it there, feel free to move it anywhere you want with Tweak UI
There's no tab completion on the command line.
Sure there is - it's just not on by default. Once again, Tweak UI.
Some stuff about add/remove programs that I don't remember.
Some other stuff about the services control that I don't remember
Must be real important then.
XP has very little to offer over 2000 other than the boot recovery features and remote desktop. There's a reason why the version change was only 0.1 over 2000 (5.0 vs. 5.1). For me, the most annoying thing is Microsoft's artifical requirement of XP for HD Media Player support.
Microsoft is implementing an XML based language into Longhorn. I forgot what it is called though, but I can assure you it exists. I find it kinda funky myself, but maybe it works.
It's called XAML and it's a desclarative language for UI elements - not procedural. Kinda like WinForms for Avalon.
Missing step: redesign well taking into account security considerations
Netscape also missed that step. Of course, they also missed the easy-to-install step, which is the reason ActiveX controls are popular among end users.
Though many years late, Windows XP is what WinNT4.0 should have been, much less NT3.51.
I'm not sure how to read this one. You're kidding right? Mod Funny?
XP is just a collection of band-aids for all those saps who, while surfing as Administrator, insist on pressing "yes, I want to install" when their favorite porn sites download ActiveX malware.
The NT kernel always had a very good security model, it's just that neary every install subverted it by running end-users with admin privs. Microsoft should have been firmer with application developers to encourage non-admin installs of apps.
Every Win32 API call has native security oriented handles. Want to draw on the screen - you have to have priv to do that. Want to write to the file system - again privs. NTFS is a fine file system.
The fact that corporations have been reluctant to upgrade their NT4 servers and desktops says alot about the stability and reliability of this 10 year old OS.
2000 is a fine OS to stay with, as it has some nice improvements over NT4 (USB, power management, etc). I think ending 2000 support will prove tougher than NT4 has been.
IE (and the rest of Windows) allows you to manage the trusted root certificates (Verisign, etc). Just go to Tools/Internet Options/Content/Certificates/Trusted Root Certification Authorities and delete to your heart's content. Then you can add your.MIL root authority.
Having a 64 bit long means that you get two types of errors: 1. Structure alignment errors
This error is the one that kicked everyone's but on the 16 to 32 bit ports. When you have a reference, it's good to know that both sides agreed how big the structure was.
Having a 32 bit long gives rise to one type of error: Bits get lost transferring from a 64 bit value to a 32 bit value
Yes, but this problem is easily detected by the compiler, and it throws a warning. It never even makes it to QA.
Given the choice, the errors caused by a 64 bit long are to be preferred to those caused by a 32 bit long because the ones caused by a 64 bit long will be discovered earlier.
I completely disagree here. Compiler warnings are caught earlier than structure alignment issues. 32 bit longs definitely make for easier 32 to 64 bit ports.
What is screwed up is cross platform portability between the LP64 and the LLP64 camps. It will just force everyone who cares to avoid long, which they could/should have been doing since ILP32.
In fact the Windows API requires passing pointers around in integers
Forgive me, but I can't think of any examples of this in Win32. All of the LPxxxx defines are properly typed pointers in windef.h
Do you have any examples? Maybe you were referring to Win16, where I know that was common.
There are many ways to skin the cat.
The reason Microsoft chose LLP64 to ensure transparent portability between 32 and 64 bit compiles of Win32 apps. That was the most important consideration in their mind. I wouldn't call Microsoft's choice "stupid", but practical. There are very few applications for a 64 bit integer - it would just be wasted space most often, and it complicates portability between 32 and 64 bit compiles.
The reasons the Unix crowd went LP64 (sizeof(long) == 8) is they felt LLP64 requires extensive modifications to existing specifications to support those places which should naturally become 64-bit wide. In other words, they wanted APIs to natuarally grow to 64 bit.
All Microsoft APIs, and most third party APIs already use "Windows" types (BYTE, WORD, DWORD, QUADWORD, LPDWORD, etc) that are a fixed size. This is partly due to the fact that these DLLs are linked from many languages (VB, Pascal, C). They are not very C centric. Also, we are not used to recompiling everything to use a library: we likely don't have the source. We have to link carefully. Ints and longs won't do.
I do think Microsoft's choice (LLP64) fails to follow the spirit of Stroustrup's C++ standard that: "Plain ints have the natural size suggested by the architecture of the execution enviorment."
I personally have found myself avoid long in the last 5 years. After living through the 16 to 32 bit migration, I favor int32, int64, size_t, wchar_t, etc. You just can't count on the sizeof(long). I still use int, but just for counting and indexing within functions and methods, when I know my application won't come close to needing even 16 bits. If I need more than that, I use size_t.
Not if the contract violates the law. The IRS says a worker's status is determined by 20 criteria. The basic questions are:
If so, then you should not be classified as a contract worker, and the company is liable pay it's portion of payroll taxes.
The lawsuit addresses all 20 criteria. HP may be in trouble on this one.
I thought the CSS box model was fixed in IE6 four years ago. Use the strict doctype.
Judging from Apple's sales numbers over the last 10 years, the boycott seems to have been very effective.
Not sure where you got the idea they were using Shake. Lowry Digital did the restoration, and while Macs were used, it was done with proprietory software.
Also check Professional ASP XML - Chapter 12: Client-side Data Binding with XML. Copyright 2000.
I (and my business partner) used this technique 5 years ago to develop the budgeting system used by all Idaho state agencies. It uses IE5 with a few ActiveX controls (grid, custom combo boxes) bound to an XML data source. The result is a rich application-like experience within the browser.
The back end is IIS + SQL Server. The server runs in Boise. Hundreds of users from dozens of agencies around the state manage their complex budgeting process with this app.
XMLHTTP was a key technology in Microsoft's plan to use IE as the business app environment. Databinding to native HTML controls was pretty cool - 5 years ago.
If you want links, try this, this, or this. It's even taught in vocational programming courses.
But lets say they are going to collect that money no matter what... Then what would you rather have them spend it on?
How about sewage treatment, trash collection, pollution controls. Have you ever been to Seoul?Inchon?
If they did not violate the law, though, why is there a final judgement, and not a dismissal of the case? Why are there prohibitions on how Microsoft can act in the future?
As an aside, do you *really* believe that Microsoft has not broken any laws in it's behaviour? I'm just curious.
I never claimed Microsoft did not violate the law. I claim no one at Microsoft was convicted of violating anti-trust laws - the officers weren't even tried. No criminal charges were filed -- unlike other well known corporate scandals (Enron).
In criminal cases, you are found guily. In civil cases, one is found liable. You can't become a convicted criminal by losing a civil case. These are well defined terms. This is why I feel the term convicted monopolist is a false legal term in the context of the DOJ civil case.
A vast amount of legal literature on civil law supports this use of terminology
What Microsoft did was a violation of the law
Not according to the judgement.
As a convicted monopolist...
Microsoft was not "convicted" of anything. The company was the defendant in a civil action, not a crimial case. You sound like a fool using that ridiculous term.
The point of certificates is to prevent impersonation of trusted sources by untrusted sources. Anyone can register a valid company name. Verisign considers proof of name a printed phone listing (they call you back at the published number) or a notarized copy of a business license.
So somebody seems to have registered a company name "Click YES to continue" in some state. It's probably a legal company name. I agree with the author that this is obviously deceptive practice, and Verisign should revoke the certificate revoked. In addition, we should be able to complain to Verisign about other companies violating the Verisign agreement.
I don't know what they do if the company name is a duplicate of another previously registered name.
Here.
It's a fairly nice solution. Add one .HTC file to your server, and add one style for IMG tags to your style sheet.
The start menu doesn't keep track of my most commonly used apps
Sure it does. The Programs list auto-hides the least used entries.
My Computer isn't on the start menu
No, it's where god intended it - on the desktop. If you don't want it there, feel free to move it anywhere you want with Tweak UI
There's no tab completion on the command line.
Sure there is - it's just not on by default. Once again, Tweak UI.
Some stuff about add/remove programs that I don't remember.
Some other stuff about the services control that I don't remember
Must be real important then.
XP has very little to offer over 2000 other than the boot recovery features and remote desktop. There's a reason why the version change was only 0.1 over 2000 (5.0 vs. 5.1). For me, the most annoying thing is Microsoft's artifical requirement of XP for HD Media Player support.
Roku Labs has a neat solution.
Microsoft is implementing an XML based language into Longhorn. I forgot what it is called though, but I can assure you it exists. I find it kinda funky myself, but maybe it works.
It's called XAML and it's a desclarative language for UI elements - not procedural. Kinda like WinForms for Avalon.
The default button (which I think is "Ok") will let the thing run.
The default button is and always has been "NO".
Missing step: redesign well taking into account security considerations
Netscape also missed that step. Of course, they also missed the easy-to-install step, which is the reason ActiveX controls are popular among end users.
Though many years late, Windows XP is what WinNT4.0 should have been, much less NT3.51.
I'm not sure how to read this one. You're kidding right? Mod Funny?
XP is just a collection of band-aids for all those saps who, while surfing as Administrator, insist on pressing "yes, I want to install" when their favorite porn sites download ActiveX malware.
The NT kernel always had a very good security model, it's just that neary every install subverted it by running end-users with admin privs. Microsoft should have been firmer with application developers to encourage non-admin installs of apps.
Every Win32 API call has native security oriented handles. Want to draw on the screen - you have to have priv to do that. Want to write to the file system - again privs. NTFS is a fine file system.
The fact that corporations have been reluctant to upgrade their NT4 servers and desktops says alot about the stability and reliability of this 10 year old OS.
2000 is a fine OS to stay with, as it has some nice improvements over NT4 (USB, power management, etc). I think ending 2000 support will prove tougher than NT4 has been.
I see one link to Slate out of about 250 on the front page of MSN. How is it "so tied in?" MSNBC is the primary news source for MSN.
Also most new PCs do not use MSN as the start page. None of the major vendors leave IE pointed to MSN - they all have their own branded portals.
IE (and the rest of Windows) allows you to manage the trusted root certificates (Verisign, etc). Just go to Tools/Internet Options/Content/Certificates/Trusted Root Certification Authorities and delete to your heart's content. Then you can add your .MIL root authority.
And it cost more money as well - lots more if inflation is accounted for.