Domain: microsoft.com
Stories and comments across the archive that link to microsoft.com.
Comments · 34,132
-
Debugging heap issues
Following MS tools are absolutely free:
- Use umdh that is a part of the Debugging tools for windows to track memory leaks. http://www.microsoft.com/whdc/devtools/debugging/i nstallx86.mspx. Following article explains how to use it http://support.microsoft.com/kb/268343/en-us.
- Whatever you do make sure you have proper symbols. Following article explains how to get symbols from MS symbol server. http://www.microsoft.com/whdc/devtools/debugging/d ebugstart.mspx
- Use paged heap to track all other issue like memory overruns, double free and all other sorts of heap corruption. http://www.microsoft.com/technet/prodtechnol/windo ws/appcompatibility/appverifier.mspx
- Please note that if you run you application with app verifier checks on you need to run it under a debugger. I would strongly suggest windbg or cdb instead of visual studio because it has extensions that would greatly help you to track down the issue ("!analyze -v" "!avrf" "!heap -p -a "). For more details see windbg help. If your application is a service then you might consider running your machine under kd, which would trap all unhandled exceptions and application verifier reports.
- Following link has a very good windbg tutorial http://www.codeproject.com/debug/windbg_part1.asp.
That is all you need to debug any kind of heap issues. -
Re:You are looking for PageHeap
Excellent advice. It also bears mentioning that PageHeap will work when debugging programs written in languages other than C++. From the knowledgebase article:
Pageheap.exe is effective when used to verify any memory allocation process, including C++ style allocations new and delete, as long as the custom allocation/free functions eventually call into NT heap management interfaces (that is, RtlAllocateHeap, RtlFreeHeap).
(Emphasis mine.) For example, here's a bug report for something written in Delphi that crashes under pageheap.
Also, don't be tempted to use any of the following functions: IsBadWritePtr, IsBadHugeWritePtr, IsBadReadPtr, IsBadHugeReadPtr, IsBadCodePtr, IsBadStringPtr. Their use within Microsoft is deprecated as per MS's Secure Development Lifecycle. (Microsoft's resident security guru Michael Howard calls the *ReadPtr functions "CrashMyApplication" and the *WritePtr functions "CorruptMemoryAndCrashMySystem".
:)You can read about why these functions are bad on Larry Osterman's blog, and see more deprecated functions here.
-
Re:um
Application Verifier from MSFT is the best free tool you can get (just make sure you have good symbols, as with all run-time checkers!) - http://www.microsoft.com/technet/prodtechnol/wind
o ws/appcompatibility/appverifier.mspx
Other runtime commercial tools - BoundsChecker, Purify, etc -
UPDATED - More information that can secure you!
(THIS IS AN AMENDED & IMPROVED MODEL OF MY ORIGINAL PARENT POST FROM HERE -> http://it.slashdot.org/comments.pl?sid=237507&cid= 19408273 )
INTRODUCTION:
Windows CAN be secured very well, but, you have to go thru some "GYRATIONS/EFFORT" to do it, but, it IS doable (but not to any 100% levels, because again - see what I stated last paragraph of mine above).
BACKGROUND & INFORMATION + TOOLS YOU CAN USE TO HELP YOU SECURE YOUR SYSTEM:
Here I am running Windows Server 2003 SP #2, fully current patched by MS update pages, here (I check it every 2nd Tuesday of the month of course, on "Patch Tuesday's"):
http://www.microsoft.com/downloads/Results.aspx?Di splayLang=en&nr=50&sortCriteria=date
It is a personally 'security-hardened' model I have been working on for many years, using principals I learned & used since the NT 3.5x days onward to this version of the OS: As is now?
I score an 84.735 on the CIS Tool 1.x currently as of 06/01/2007!
(For CIS Tool - There are Linux, MacOS X, Solaris, & other OS models ports of this are available too by the way - not really "ports" strictly speaking, they require JAVA to run)
DOWNLOAD URL FOR CIS TOOL (for multiple platforms), from "The Center for Internet Security" here:
http://www.cisecurity.org/bench.html
(IMPORTANT: This tool IS invaluable in guiding you to a more secure OS, on any OS platform really!)
APK 14 STEPS TO FOLLOW TO SECURE YOUR WINDOWS NT-BASED SYSTEM (2000/XP/SERVER 2003/VISTA):
1.) Windows Server 2003's SCW was run over it FIRST (this only exists on Windows Server 2003, not on 2000/XP (you have to install this, it does NOT install by default) first to help security it (SCW = security configuration wizard, & it's pretty damn good believe-it-or-not, (@ least, as as starting point))...
Directions for its installation are as follows:
Start the Add or Remove Programs Control Panel applet.
Click Add/Remove Windows Components.
On the Windows Components Wizard screen, select the "Security Configuration Wizard" check box, as the figure shows. Click Next.
The Windows Components Wizard builds a list of files to be copied and finishes installing SCW. Click Finish.
DONE! Now, run it... it is very simple to use, and will help even TRIM services you do not need running (which saves Memory, other resources, & I/O to cpu/ram/disk etc. AS WELL AS PROVIDING SECURITY should any services you disable turn up vulnerabilities (this has happened before)).
Then, @ that point? I pull ANY Networking clients &/or Protocols in the Local Area Connection, other than Tcp/IP typically (& disable NetBIOS as well, because I don't need it here), on a stand-alone machine that is not dependent on Microsoft's File Sharing etc. on a LAN/WAN. I also disable that too!
2.) Disable Microsoft "File & Print Sharing" as well as "Client for Microsoft Networks" in your LOCAL AREA CONNECTION (if you do not need them that is for say, running your home LAN)!
3.) Use IP security policies (modded AnalogX one, very good for starters, you can edit & add/remove from it as needed) - Download url link is here for that:
http://www.analogx.com/contents/articles/ipsec.htm
(Search "AnalogX Public Server IPSec Configuration v1.00 (29k zip file)" on that page & follow the directions on the page!)
NOTE: This can be 'troublesome' though, for folks that run filesharing clients though. An alternative to this is using IP Ports Filtrations, in combination with a GOOD software firewall &/or NAT -
He used a backdoor hack.To get his add-in to work for the Express Edition, he uses a property visualizer (which aren't disabled in Express). You have to open the property window to get his addin to run. His custom property visualizer then uses the IDE APIs to load the add-in assembly into the process, create menus, etc.
He even gave an example to the MS drone in his email correspondence, which is still up on his webserver.
http://www.mutantdesign.co.uk/downloads/ProjectRef erences.zip
While I agree that it's technically possible, it's using an extension point which was not intended to provide full add-in access. Yes, no secret APIs were abused, no reverse engineering necessary. It violates the spirit of the agreement rather than the letter (which is that technical measures to prevent add-in use should not be circumvented). They removed the add-in manager and loader, which they figured should be enough. Mr Cansdale has effectively written his own add-in loader and used an alternate technical means (otherwise known as "hack") to get it executed. The fact that the "technical measures" used to prevent add-ins from loading were not implemented in a bullet-proof manner does not change the fact that they are present, and that they have been circumvented.
Yes, I think Microsoft are being dumb - being able to run the software you want is the sales driver for any OS, and being able to develop your own is the one sure way of getting exactly the software you want. Artificially restricting the features of your development tools so your IDE team can be a profit centre is of questionable value. Removing the ability of hobbyists to use professional testing features is fostering yet another generation of sloppy programmers who will have to adjust to become professionals.
But Mr Cansdale is in the wrong, IMHO. MS agreed to "play nice" by releasing a slick, functional, professional IDE for free, despite the risks of attracting antitrust attention. Mr Cansdale has responded by thumbing his nose at the spirit of that bargain. If he really wanted a version of his product that runs in a free IDE, he could have written a version for SharpDevelop without treading on the 300-lb gorillas toes. Or he could have just kept his hack to himself (he wrote it because he was using the Express edition to develop TestDriven.NET ... which is fine. But loading his add-in into the Express IDE was in violation of the EULA, even if *writing* the add-in in Express is all fine and dandy.)
By the way - the rumour that you cannot use Express to develop a commercial product is not true. There would be no point in imposing such a condition, simply because the compiler is free (beer) available. You have no means of proving that any .NET product has not been hacked together with Notepad.exe and a command line. MS quite wisely have put no restriction on the commercial sale of products written with the Express editions of their IDE.
Point 4 in the following :
http://msdn.microsoft.com/vstudio/express/support/ faq/ 4. Can I use Express Editions for commercial use?
Yes, there are no licensing restrictions for applications built using the Express Editions. -
You are looking for PageHeap
PageHeap is a debugging tool for Windows created by Microsoft. It does what you want.
For more information look here:
http://support.microsoft.com/kb/286470 -
Re:Sent this off a few days ago...
Is this the Weber guy?
http://msdn2.microsoft.com/en-us/vstudio/aa718729. aspx -
Re:A much better link
Embedded Visual C++ 4.0 is free. It works with the Windows Mobile 5 SDK. Knock yourself out.
But don't stop there.
Series 60
Palm OS (Treo SDK)
BlackBerry -
Re:A much better link
Embedded Visual C++ 4.0 is free. It works with the Windows Mobile 5 SDK. Knock yourself out.
But don't stop there.
Series 60
Palm OS (Treo SDK)
BlackBerry -
save your $
web development: http://msdn.microsoft.com/vstudio/express/vwd/
-
Re:Driver problems in Vista, but not Linux?
All 3 points you make ("faster, more reliable, and more resilient") are widely known to be false, at least among professionals
Well it may be 'widely known to be false', but the professionals you are referencing are freaking idiots. And I feel sorry for them and you for buying it for all these years.
Most of this crap comes from when XP was released and idiots looked at the Themes and assumed XP was going to run slower than Win2k.
On our on intenal lab testing, if the system had over 64MB of RAM, even 80MB of RAM, WinXP is faster than Win95, Win98, WinME, WinNT4, Win2K. Ranging from 15-30% faster even on hardware as old as a Pentium 200mhz machine.
So I don't know why people believe Win2K is faster than XP even after all these years, but I can only assume it is pure ignorance at this point. Do a Google search on it, as I don't assume you will take my company's internal testing as proof.
Also search for kernel changes in XP compared to Win2k, including the new optimization technologies MS employed in the compiling of XP (Especially XP SP2 that picked up even more performance, security, and stability from the advances in Win2003 that was adopted.)
Here I will even help get ya started:
http://www.microsoft.com/windowsxp/pro/evaluation/ whyupgrade/performance.mspx
Also here is stuff to get you started as to 'how' WinXP pulls of being faster than Win2K or previous versions of Windows:
http://msdn.microsoft.com/msdnmag/issues/01/12/XPK ernel/
I know there are people that still run Win98 or Win2K because they believe in a myth that these dated OS are somehow faster than XP, it just isn't true, and maybe it is time for you and others that believe stupid ideas like this do a bit of testing or research on it. (Especially if you are in the IT world and would misinform your customers because you are believing these myths.)
And sadly, there are a lot of features in XP that people are missing out on by selling or believing these old Myths. From the UI features to compatibility layers that remap bad calls on the fly, and especially DLL isolation features that add to stability.
WinXP is the first generation of Windows to equal the stability of other long standing OSes like BSD and is finally able to compete with Linux and OS X, and these are architectual changes in XP that don't exist in Win2K. (And this is even with the XP video model that runs in the NT kernel, where stability is hard to maintain as a bad driver from NVidia or ATI can potentially drop the system.)
And now Vista takes reliability to even another level, where you can literally unplug the video card and plug it back in and Vista doesn't miss a beat.
I hope you or others find this information to be useful, or a least a jump start to rethink the XP myths. -
Re:Driver problems in Vista, but not Linux?
All 3 points you make ("faster, more reliable, and more resilient") are widely known to be false, at least among professionals
Well it may be 'widely known to be false', but the professionals you are referencing are freaking idiots. And I feel sorry for them and you for buying it for all these years.
Most of this crap comes from when XP was released and idiots looked at the Themes and assumed XP was going to run slower than Win2k.
On our on intenal lab testing, if the system had over 64MB of RAM, even 80MB of RAM, WinXP is faster than Win95, Win98, WinME, WinNT4, Win2K. Ranging from 15-30% faster even on hardware as old as a Pentium 200mhz machine.
So I don't know why people believe Win2K is faster than XP even after all these years, but I can only assume it is pure ignorance at this point. Do a Google search on it, as I don't assume you will take my company's internal testing as proof.
Also search for kernel changes in XP compared to Win2k, including the new optimization technologies MS employed in the compiling of XP (Especially XP SP2 that picked up even more performance, security, and stability from the advances in Win2003 that was adopted.)
Here I will even help get ya started:
http://www.microsoft.com/windowsxp/pro/evaluation/ whyupgrade/performance.mspx
Also here is stuff to get you started as to 'how' WinXP pulls of being faster than Win2K or previous versions of Windows:
http://msdn.microsoft.com/msdnmag/issues/01/12/XPK ernel/
I know there are people that still run Win98 or Win2K because they believe in a myth that these dated OS are somehow faster than XP, it just isn't true, and maybe it is time for you and others that believe stupid ideas like this do a bit of testing or research on it. (Especially if you are in the IT world and would misinform your customers because you are believing these myths.)
And sadly, there are a lot of features in XP that people are missing out on by selling or believing these old Myths. From the UI features to compatibility layers that remap bad calls on the fly, and especially DLL isolation features that add to stability.
WinXP is the first generation of Windows to equal the stability of other long standing OSes like BSD and is finally able to compete with Linux and OS X, and these are architectual changes in XP that don't exist in Win2K. (And this is even with the XP video model that runs in the NT kernel, where stability is hard to maintain as a bad driver from NVidia or ATI can potentially drop the system.)
And now Vista takes reliability to even another level, where you can literally unplug the video card and plug it back in and Vista doesn't miss a beat.
I hope you or others find this information to be useful, or a least a jump start to rethink the XP myths. -
Re:alternatives GETTING BACK TO YOU giorgosts
Oh, additionally:
I omitted 1 more thing I do for securing a Windows NT-based OS: IP Port Filtrations!
Start Menu -> Connect To Item (on the right hand side) -> Local Area Connection (whatever you called it, this is the default, iirc) open it via double click OR, right-click popup menu PROPERTIES item -> Properties button on left-hand side bottom, press/click it -> NEXT SCREEN (Local Area Connection PROPERTIES) -> "This connection uses the followng items" (go down the list, to Tcp/IP & select it & /click the PROPERTIES button there) -> Press/Click the Advanced Button @ the bottom Right-Hand Side (shows Advanced Tcp/IP Settings screen) -> OPTIONS tab, use it & Tcp IP Filtering is in the list, highlite/select it -> Beneath the Optional Settings, press/click the PROPERTIES button on the lower right-hand side -> Check the "Enable Tcp/IP Filtering (on all adapters)" selection -> In the far right, IP PROTOCOLS section, add ports 6 (tcp) & 17 (udp) -> In the far left "tcp ports" list - check off the radio button above the list titled "PERMIT ONLY", & then add ports you want to have open (all others will be filtered out, & for example, I leave port 80,8080, & 443 here open, only - you may need more if you run mail servers, & what-have-you (this varies by application)) -> I leave the UDP section "PERMIT ALL" because of ephemeral/short-lived ports usage that Windows does (I have never successfully filtered this properly but it doesn't matter as much imo, because udp does not do 'callback' as tcp does, & that is why tcp can be DDOS'd/DOS'd imo - it only sends out info., but never demands verification of delivery (faster, but less reliable)) -> DONE!
You may need a reboot:
I say this, because although IP Security Policies work with the "Plug-N-Play" design of modern Windows NT-based OS' (ipsec.sys) & do NOT require a reboot to activate/deactivate them in Windows 2000/XP/Server 2003/VISTA?
This is working @ a diff. level & diff. driver iirc (tcpip.sys) & level of the telecommunications stacks in this OS family & WILL require a reboot to take effect (for a more detailed read of this, see here):
http://www.microsoft.com/technet/community/columns /cableguy/cg0605.mspx
Enjoy the read, it is VERY informative!
APK
P.S.=> Shows you how TcpIP.sys, ipnat.sys, ipsec.sys, & ipfiltdrv.sys interact, PLUS how you can use them to your advantage in security! apk -
Open-Source for sure
Free Alternatives:
Photoshop -> Gimp
Illustrator -> Inkscape
InDesign -> Scribus
Web Design -> Kompozer, which is a bugfix release of Nvu (there's actually a lot of these, I've also heard Microsoft Visual Web Dev Express, which has a lot of praise from various people)
Not sure of a good PDF editor, but it looks like this claims to do the trick (though i'm sure is nowhere near the level of Acrobat Pro): PDFEdit. Be warned it looks like it's a cygwin port to windows...
I can't guarantee that those will all live up to your expectations, but I am fairly familiar with most of that software, and it certainly gets the job done. -
Re:oh noes!This entire post has just gotten censored (self censorship), I am still hoping for a free copy of Vista from Microsoft for posting "favorable" comments on Slashdot.
Not their idea, mine. Leaving no stone unturned, I say.
If I did actually get a free copy of Vista, I'd put it on the living room table right next to the picture of Thomas Jefferson (1743-1826). His picture is on the Two Dollar Bill laying there.As you can see, I am horribly bored this evening, but I am doing a test:
I'm running the linux OS you see in the Screenshots link below on a SanDisk 2 GB Cruzer Micro, partitioned like this:
SDA1 700 MB for Knoppix (the CD itself)
SDA5 700 MB for Persistent Home Directory
SDA6 400 MB for GIMP and K3B swap, additional storage also.
SDA7 150 MB linux swap.
Here is the output from TOP:
Tasks: 42 total, 1 running, 41 sleeping, 0 stopped, 0 zombie
Cpu(s): 5.5% user, 3.9% system, 0.0% nice, 90.6% idle
Mem: 385800k total, 218864k used, 166936k free, 6456k buffers
Swap: 155192k total, 0k used, 155192k free, 130392k cached
(Uptime not shown, is 2:05)This PC is a HP Pavilion 8250, Celeron 267 MHZ.
To get the USB drive booted up, I use a small HDD with MSDOS 6.21, and these files.
The small "boot" drive only runs for about 20 seconds, the Menu comes up, you make a choice, then the Linux OS runs entirely from the USB drive. The necessary "loadlin" command line is:
loadlin vmlinuz initrd=miniroot.gz BOOT_IMAGE=knoppix xmodule=s3virge fromhd=/dev/sda1 home=/dev/sda5
Browser is Firefox 2.0.0.4
Thanks for listening...
Rapidweather -
Re:Par for the course
NT has file caching since Win2k:
Although you can think of the Standby list as the file cache, it comprises most of the available memory, so it may be more useful to think of available memory as the file cache. http://support.microsoft.com/kb/312628
Also note that this article only applies to Win2k and XP. I have not found any Microsoft resources reflecting exact details on what the Vista task manager memory statistics mean. So to the grandparent: those numbers may not mean what you think they mean.
-
Re:It will come, don't worry.
I have machine envy now.
I know you don't have a large investment in making Windows behave better, but I wonder if you could create a RAM disk in Windows and put your pagefile there, thereby eliminating the actual slowdown due to paging.
Something like:
* RAMDISK: http://www.speedguide.net/read_articles.php?id=131 or http://www.codeguru.com/cpp/w-p/system/devicedrive rdevelopment/article.php/c5789/
* Plus Moving Pagefile instructions: http://support.microsoft.com/kb/307886/ and if you print often move the spool too: http://support.microsoft.com/kb/308666/If you weren't going to use the default desktop manager in Solaris (and I'm not) what would you use?
-
Re:It will come, don't worry.
I have machine envy now.
I know you don't have a large investment in making Windows behave better, but I wonder if you could create a RAM disk in Windows and put your pagefile there, thereby eliminating the actual slowdown due to paging.
Something like:
* RAMDISK: http://www.speedguide.net/read_articles.php?id=131 or http://www.codeguru.com/cpp/w-p/system/devicedrive rdevelopment/article.php/c5789/
* Plus Moving Pagefile instructions: http://support.microsoft.com/kb/307886/ and if you print often move the spool too: http://support.microsoft.com/kb/308666/If you weren't going to use the default desktop manager in Solaris (and I'm not) what would you use?
-
Re:Yes, Gore is on the board of Apple as wellOk which of these is Al Gore? It's really not that hard to check their investor relations site.
And while yes, a person can be a board member of more than one company, it would be a gross conflict of interest if those two companies were direct competitors. -
Re:performance
So the format does exactly what it should: it makes it abundantly clear what's contained within, in a way that can *trivially* be parsed out with any compliant XML library
What's the point of this? I'm sort of taking a liberty in paraphrasing your argument, but it seems to come down to the claim that an open XML format that is human readable is somehow better because
XML, for all of its efficiency faults, can be extremely clear even to the human eye, especially when coupled with a good schema definition.
The only thing that XML has over a binary format is "clearness to the human eye". If you have a binary structure that has a sense of hierarchy and each node can contain content and properties then you've got the same thing, except faster and more efficient. The only "problem" is that it's proprietary, but not horribly so. The file format has been reverse engineered by OpenOffice and it's available for the world to see: http://sc.openoffice.org/compdocfileformat.pdf
Furthermore Microsoft has the specs to the Office 2007 XML file format available on MSDN, along with a variety of schemas for parsing it: http://msdn2.microsoft.com/en-us/library/aa338205
. aspx -
I'm sure Ballmer will do a heckuva job
The qualifications are there -- http://www.microsoft.com/presspass/exec/steve/def
a ult.mspx
Ballmer was born in March 1956, and grew up near Detroit, where his father worked as a manager at Ford Motor Co. He graduated from Harvard University with a bachelor's degree in mathematics and economics. While in college, Ballmer managed the football team, worked on the Harvard Crimson newspaper as well as the university literary magazine, and lived down the hall from fellow sophomore Bill Gates. After college, he worked for two years at Procter & Gamble Co. as an assistant product manager and, before joining Microsoft, attended Stanford University Graduate School of Business.
All he needs is to serve in the Arabian Horse Association.... -
Re:Why use Doc at all?
Ah, sorry, I was feeding the troll. My mistake. However, since you force me to defend my claims, let me be blunt and ruthlessly objective:
Um, Word has no PDF export at all.
Word 2007 can save to PDF. I can get a valid PDF right out of Word. I cannot get a valid PDF out of Writer with the fonts correct, short of relying on third party software.
I don't know what you're doing, but mail merge works fine for me. [...] As far as your problem with output to file, you can specify the output of a mail merge as "Save, Print or Send", so outputting to files is one of your basic choices.
Mail merging can be done to a separate file for each record, but not to a single file for all records that can then be tweaked as necessary. The ability to make minor customisations to merged documents before printing is a fundamental feature of any half-decent mail merge facility. Even printing to files fails without error message if you type an output directory that doesn't yet exist, rather than doing something useful like prompting to create it.
Mail merge in recent OO versions is also fundamentally broken in its reliance on the database module. What's with generating crap all over my root directory every time I add a new data source? Why can't I delete old data sources I no longer need to keep the system clean? Why, after four hours of searching the on-line help, OO web site and web generally, could I not find any reference to these things, or to the fact that without Base installed, the mail merge dialog just appears half-blank and the merge itself doesn't work properly?
Um, numbering in OOo has always been better and more manageable than in Word.
It would be if it worked. Alas, numbering in OO Writer is so bug-ridden that I don't see how you can possibly defend it. Nested numbering, linking with styles, and starting/stopping lists all have basic bugs in them that I've run into several times, though I've never worked out exactly what triggers them.
As far as styles go, selecting the text, then double-clicking the style in the style window is too hard for you? You could assign shortcut keys in Tools/Customize/Keyboard, if you want it to work exactly like Word.
No, messing around scrolling up and down lists (which constantly flip back to some default display mode even if I changed it earlier) to find what I want is not acceptable. Styles are things people should be encouraged to use. Hiding shortcut keys for them somewhere completely different from where everything else is set up sucks. Relying on an ambiguous "Default" command on the context menu to remove manual formatting sucks. Not being able to reset a derived style to match its parent properties once you've changed anything sucks. This is all basic stuff, fundamental to making styles a useful feature.
That's just a rant, and expresses your opinion. There's nothing in there I can address directly.
What do you want, a list of 100 different usability gremlins in OpenOffice? How about starting with help buttons on all dialog boxes that actually work, and take you to help text that really tells the user what the significance of the different options is?
Try this: in Writer, create yourself a table at the start of the document, and then move the cursor to just before it, so you can insert new material right at the top of the document. Try the same creating a table of contents at the top instead of a table, with the table of contents set not to allow manual modifications. Annoying, isn't it?
Try setting up a fixed-width table in Writer that isn't full-width on the page, and then setting the widths of the various columns. You have to go rearrange the options on other t
-
Re:Good
How much are you going to spend to be able to write pdfs?
Nothing, except approximately 120-150 seconds of my time, once. >> Microsoft Office 2007 Add-in: Save as PDF or XPS .
-AC -
Re:digital restrictions blow.This article is looking more and more like an attempt to advertise and sell Vista. No one else is buying it, so M$ has decided to try to push it on Slashdot users. Ha, fat chance.
MythTV is growing into much more than a PVR and it scares M$ the MAFIAA silly. It's getting video conferencing, games, email and browsing - which all look great on HD TV'sIf this was anyone but twitter posting, I'd be asking if he had too much to drink.
Surface [Video] When this Vista tech hits the home market, it is going to be big. Surface makes interaction with the PC a social experience. more open and more casual than the Wii controller.
In the near term, there is Windows Home Server. HP MediaSmart Server Brand name product. No assembly required...
And so we return to reality. Heathkit died in the 'eighties. The home PC market is not a craft market. No one wants to deal with the assembly and configuration issues of systems this complex.
There are already designed-for-Vista systems on the market that upstage the generic XP box. HP TouchSmart IQ770 PC Review. There will be more to come. Products like ATI's CableCARD HDTV Digital Cable Tuner will eventually have an impact. A system that is realistically spec'd for Vista will be realistically spec'd for HD - whether the source is camcorder video, cable, broadcast, ot the net.
_____
IP laws are not going into the trash so long as audiences expect to see $100 million dollar productions on their 52 inch screen. In the thirties, forties, and fiftues, almost everything in American radio and television was produced by advertising agencies and down to the last detail designed to meet the needs of their mass-market sponsors.
You might want to think about that before you deny creative talents a direct and sustaining source of income.
-
Gordon Bell: "more than two breakthroughs"
In his book, High-Tech Ventures, Digital Equipment Corporation pioneer Gordon Bell analyzed various factors in the potential success of startups.
As I recall, one of his great big red flags was any product whose development entailed more than two technology breakthrough.
Yeah, here it is (PDF). He says, flatly, "A successful startup cannot be based on more than two breakthroughs in the state of the art. And for each area requiring a breakthrough, an alternative technology should be available as a backup."
So, by this measure, the Wright Brothers needed breakthroughs in engines and airframe design... so success was possible.
As for LiftPort, I think I've lost count of the number of breakthroughs they need.
And I'm not sure what their backup technology would have been if, by any chance, the carbon nanotube strategy turned out to be unfeasible. -
Vista Media Center Horizontal Menus
He complains about the new menu system in Vista Media Center which uses horizontal scrolling. This is not the first time I've heard this and I agree it does seem to be quite wasteful on a 4:3 display but on a 16:9 plasma/LCD (which people building HTPCs should seriously consider), it's fantastic. The same can be said about the vista wall of music interface which is an easy and visually impressive way to navigate music and movies if you have a 16:9 display.
MCE is probably the best product microsoft has written. It has a pretty interface reminiscent of something apple would design and it suprisingle stable. It does it it's designed for and it does it well. -
Re:backlash
What a total pile of twaddle...
Microsoft 2007 formats are compatible with Office 2003, Office XP, and Office 2000, all you need to do is download and install this patch.
Microsoft has actually made a commendable effort in providing support for existing versions of office. The problems being referenced here have actually already been addressed. This fix comes not from Microsoft but from someone who has utilised the open framework that is Office 2007 to resolve the issue.
Office 2007 formats are basically zip files containing xml files all with schemas that have been submitted to the ECMA standards body. Combined with sdk and api inbuilt into the .NET framework Office 2007 has turned office into a very powerful development platform for document processing.
Anyone reacting as you've described I'm afraid is doing so as a result of total incompetence and complete ignorance.
I think migration to Office 2007 in the corporate world is going to be relatively swift (inspite of the support for previous versions of office offered by Microsoft). Migration to Office 2007 will occur because it is a great product that is more open and easy to extend and manipulate than any over version of office (as demonstrated in David Carlisle blog). It will also be a no brainer for any organisation using Sharepoint as it offers good integration with sharepoint. -
Re:My Secretary
-
MS Office Compatibility Pack
For those with older Office (2000 to 2003), why not use the Microsoft Office Compatibility Pack for Word, Excel, and PowerPoint 2007 File Formats? I have not run into any 2007 files yet since I still use 2000, but at least I am ready if any appear.
-
Re:Why use Doc at all?
If you're using Word 2007, go here for the free "Save as PDF/XPS add-on" that Microsoft originally included in Office until Adobe sued them so ya haveta go get it yourself.
-AC -
Re:backlash
I think it's just you.
Afterall, w(ho)tf owns a computer in 2007 that doesn't have hardware acceleration? .. and if you TRULY MUST run Vista on the PC you bought circa 1996, just turn Aero off, Vista works just fine in 2d.
As for the new Office UI, it is superior to the old in many ways. I realise that that idea is very hard for you to accept (not least b/c all you *nux/FOSS gearheads don't WANT to accept it), but I've been using Office 2k7 for a coupla months and I love it. I think if more ppl would quit pouting about the simple fact that it's DIFFERENT and actually spend some time getting used to it, they'd find that Ribbons and Task-groups are significantly superior to (and vastly more intuitive than) the many-layered, nested menus ever were.
As for the "incompatible" format, I'm not sure what you mean. Given that there's a FREE and easy-to-apply patch available here that enables any version of Office >= 2000 to use the new XML formats, AND since every Office 2k7 application has a highly visible and easy-to-use "Save as Office 97-2003" option, I really don't know what you're trying to say, oh, wait, I forgot about FUD, riiiight, I got it now...
-AC -
Too hard to install the compatibility pack?
There is a compatibility pack for Office 2000, Office XP, and Office 2003. Maybe they should research that!
http://office.microsoft.com/en-us/products/HA10168 6761033.aspx -
Re:Yes, but does it have a 30 year old file system
FAT32 supports up to 8TB volumes in 2k and xp under certain conditions, and generally 127GB volumes will work fine on win9x. Microsoft nerfed their format tool to ensure that people used ntfs instead. See http://support.microsoft.com/kb/184006/EN-US/
-
Re:This is "Microsoft Standard Practice"...
It's to deliberately push you into buying another Windows 2003 server just to run WUS (Windows Update Services http://www.microsoft.com/technet/windowsserver/ws
u s/default.mspx) server. Most IT departments can easily roll their own patch update scripts using the patches once they are downloaded, yet Microsoft makes downloading each patch a manually tedious process instead of simply adding a "Download Now" button.1. You don't need an additional, dedicated server for WSUS.
2. If you worked for me and spent the dozens (if not hundreds) of man-hours recreating and managing a wheel Microsoft gives you for free, instead of productive work, you'd be on the wrong end of a "please explain" meeting.
Believe me, Linux is getting easier to mold a cohesive IT architecture around than Windows because of all the wrenches Microsoft has thrown into the works.
Microsoft are only "throwing wrenches into the works" if you're stuck in the Linux "must create my own solution to every problem from scratch" mindset, rather than using the tools available to you where someone else has already solved that same problem.
Microsoft in essence wants you to buy into their environment, and then buy into it again and again by deliberately preventing you from developing your own automation practices. Why automate anything when Microsoft can sell you another automation "solution"!
Because it's almost certainly cheaper to buy theirs. If you happen to have particularly unusual and specialised needs, this might not be true - but most people don't (even when they think they do).
-
Re:Shoot at foot...
Hmm. The ultimate NIH company? It's clear you haven't heard of Microsoft Research.
-
But it is 'Essential'
http://msdn.microsoft.com/msdnmag/issues/05/12/Vi
s ualStudioAddins/
See, even 'They' think it is good... -
This is "Microsoft Standard Practice"...
'Read "ethos" as "business case".'
Microsoft does this all the time. What really tests my patience with Microsoft is when they deliberately break their own products to limit their useful application in an IT environment that has the sole purpose of actually helping to install and further the case for Microsoft's own products!
We see this with Windows PE, the mini kernel'ed XP with networking, that allows us to install XP remotely (please don't comment back about BART here, we know all about BART). There are many useful applications for an open and extensible Windows PE that would allow internal IT operations to enhance operations. What Microsoft does is break this usefulness to the point where you almost must use it with something else you must buy from Microsoft. In this case yet another server for RIS, etc.
The Windows XP web update is another case in point. Have you ever wondered why the Express update deliberately leaves off a "Download Patches Now" button, and instead just provides the "Install Now" button? It's to deliberately push you into buying another Windows 2003 server just to run WUS (Windows Update Services http://www.microsoft.com/technet/windowsserver/wsu s/default.mspx) server. Most IT departments can easily roll their own patch update scripts using the patches once they are downloaded, yet Microsoft makes downloading each patch a manually tedious process instead of simply adding a "Download Now" button.
Believe me, Linux is getting easier to mold a cohesive IT architecture around than Windows because of all the wrenches Microsoft has thrown into the works. Because of Microsoft's own business practices, local IT total-cost-of-ownership is very high, as well as the personal frustration that goes along with it.
Microsoft in essence wants you to buy into their environment, and then buy into it again and again by deliberately preventing you from developing your own automation practices. Why automate anything when Microsoft can sell you another automation "solution"!
My general point is that Microsoft can never provide a "one solution fits all" product line. Every IT department is different, and needs to develop its own internal automation practices. Microsoft, by being mischevious about its business practices, serves to interfere with in-house automation to the point of asking the question "why are we using Microsofts' products?"
Even if Microsoft could provide a "one solution fits all" architecture, then that wouldn't serve the need of most businesses in general because most businesses actually need to differentiate themselves from other businesses in most ways that matter. If your internal operations are the same as everyone elses, then you don't gain a competitive advantage by streamlining operations for your company's product line.
Microsoft simply needs to stop this foolishness of "vendor lock-in" and allow people to interoperate with their products and services more openly. Otherwise, I don't see a future for Microsoft in the light of an Open Source world. -
It's not accepted, it's perpetuated
That Microsoft will openly state that there is no tension between its 'support' of open standards and software, and their other work which supports and extends 'closed' technology is not a surprise. But what disappoints is that this rather open hypocrisy seems to be so readily accepted, especially by the mainstream media.
It's never accepted, it's only repeated in hopes to perpetuate it. If Bill Gates can only be quoted as saying one thing, how is anyone going to show him in another light unless they resort to allegations? Using allegations makes you look like a tabloid, and reporters can't be bothered to do a whole lot of research, especially on topics that involve newfangled technology that are then mired in Microsoft's buzzword-happy marketspeak. If Microsoft is good at doing one thing, it's muddying the waters.
On the other hand, a reporter can take a facts based approach, but that requries doing your own research instead of re-printing paraphrased MS press releases. Plus, it requires educating the public on a situation they might not already know about something they probably don't care about already, so you need to convince them to go through the strain of learning something new, and then looking at it critically, systematically, and logically.
The mainstream media is mainstream because it's brain candy, not because it makes the reader work, and the mainstream media has to make money too. So you cater to the money. Which is also easy because MS hands you what to say in their marketing materials, or whenever they put up sites with complicated muddied misinformation that nobody can bother to sift through on each and every single point, and if they do, nobody bothers to read it... so that's why you still have sites around like microsoft.com/getthefacts. Can you believe that's still around, and still probably being taken seriously? -
Flawed counter argument
'The report faults Vista for "providing no improvement in virus protection vs. XP," but of course Windows Vista does not ship with antivirus software -- something the reviewer fails to mention. Faulting an AV-less Vista for not stopping viruses is a bit like faulting a door without a lock for opening when the handle is twisted.'
Vista is supposed to have these features built-in, as well as a host of other improvements. Such as service hardening, anti-malware (which does claim to kill viruses), network access and more.
Why, you can read the whole list right here.
So I wouldn't say it's like a door without a lock on it. If Vista is flawed, it would be like saying it's a door with a crappy lock on it. Big difference.
-
Re:Bad idea
"And remember after that times out, with the "New Berners" approach you will have to try to fetch:
http://foo.www.microsoft.com:82/bar/com/baz
http://bar.foo.www.microsoft.com:82/com/baz
http://com.bar.foo.www.microsoft.com:82/baz
http://baz.com.bar.foo.www.microsoft.com:82/
And only after all that should the browser give up."
Why on hell? For one, it wouldn't be www.microsoft.com but com/microsoft/www. For second, assuming equivalent to current expansions, it would be "www" the one to expand to microsoft/www or com/microsoft/www, exactly like now. I really don't see where the "prefixes for alternate searchs" in your example come from.
"There's also the scenario of trying to access a site that hosts lots of different people's stuff that uses a wildcarded DNS- say the dns works but the site is down"
You are not going to test for all those users stuff at a time, do you? I don't see how can a browser expend more time waiting for http://www.example.com/~givenuser than on http://com/example/www/~givenuser. Again the only doubt is knowing wich is the "real server" that holds the content since, having the same semantics about domains and resources, 'a priori' the real host could be com, com/example, com/example/www or even com/example/www/~givenuser. Of course that you would trick out by having standard answers for "keep trying downside" and "here it goes". You only have latency problems *on the resolving process* when you can't reach the nameservers, quite exactly like now.
"OK lets say you try to do stuff in parallel, and display the first document that is successfully fetched"
You assume that the "document" can be on various different sites (even overlapping) but that the DNS won't help you telling where exactly the resource is. You either intermingle protocol and resolution (then the answer comes when it comes and you are deemed to timeout once per tried nameserver *on a single leaf level* -just like now) or you let each other on their side, exactly like now, and then it wil work -well, just like now maybe with the proper adition of some SRV glue http://com/example/www/~someguy, you said? My cache says HTTP server(s) for that name can be found on this IP (and this and this one)", or "I don't know, but you can ask those guys donwside the lane".
"Sure you can put "don't recurse" stuff on the DNS servers, but in real life, the people who run the webservers often have little authority and control over the DNS servers."
So usually, when the manager for the website at www.example.com asks example.com's hostmaster to add a registy for www he usually chooses an IP address out of his hat and the hell with the PHB if it ends up at www.playboy.com instead, is it?
"Run the DNS server on the webserver? Despite what some people may like, not every web server be allowed to run an authoritative DNS server on it"
*Current* implementation doesn't need to do so. Future implementation *might* integrate DNS and data server in a way that makes it the easier way to go, just like *usually* you can find an IMAP server just along with a POP server, simply because it's so easy if nothing else.
"nor is it likely that the DNS delegation be correctly done in enough cases for people to say "this system is viable"."
There are always control nazis that will say so, of course. But how many DNS server are *already*? I bet you'll find in the millions. Whatever nightmare that might happen with delegations in the future should have happened *already*. And remember: either top-down or down-top there will be always above your head able to cut the flux if you don't behave. We have spam because -
Re:Bad idea
"And remember after that times out, with the "New Berners" approach you will have to try to fetch:
http://foo.www.microsoft.com:82/bar/com/baz
http://bar.foo.www.microsoft.com:82/com/baz
http://com.bar.foo.www.microsoft.com:82/baz
http://baz.com.bar.foo.www.microsoft.com:82/
And only after all that should the browser give up."
Why on hell? For one, it wouldn't be www.microsoft.com but com/microsoft/www. For second, assuming equivalent to current expansions, it would be "www" the one to expand to microsoft/www or com/microsoft/www, exactly like now. I really don't see where the "prefixes for alternate searchs" in your example come from.
"There's also the scenario of trying to access a site that hosts lots of different people's stuff that uses a wildcarded DNS- say the dns works but the site is down"
You are not going to test for all those users stuff at a time, do you? I don't see how can a browser expend more time waiting for http://www.example.com/~givenuser than on http://com/example/www/~givenuser. Again the only doubt is knowing wich is the "real server" that holds the content since, having the same semantics about domains and resources, 'a priori' the real host could be com, com/example, com/example/www or even com/example/www/~givenuser. Of course that you would trick out by having standard answers for "keep trying downside" and "here it goes". You only have latency problems *on the resolving process* when you can't reach the nameservers, quite exactly like now.
"OK lets say you try to do stuff in parallel, and display the first document that is successfully fetched"
You assume that the "document" can be on various different sites (even overlapping) but that the DNS won't help you telling where exactly the resource is. You either intermingle protocol and resolution (then the answer comes when it comes and you are deemed to timeout once per tried nameserver *on a single leaf level* -just like now) or you let each other on their side, exactly like now, and then it wil work -well, just like now maybe with the proper adition of some SRV glue http://com/example/www/~someguy, you said? My cache says HTTP server(s) for that name can be found on this IP (and this and this one)", or "I don't know, but you can ask those guys donwside the lane".
"Sure you can put "don't recurse" stuff on the DNS servers, but in real life, the people who run the webservers often have little authority and control over the DNS servers."
So usually, when the manager for the website at www.example.com asks example.com's hostmaster to add a registy for www he usually chooses an IP address out of his hat and the hell with the PHB if it ends up at www.playboy.com instead, is it?
"Run the DNS server on the webserver? Despite what some people may like, not every web server be allowed to run an authoritative DNS server on it"
*Current* implementation doesn't need to do so. Future implementation *might* integrate DNS and data server in a way that makes it the easier way to go, just like *usually* you can find an IMAP server just along with a POP server, simply because it's so easy if nothing else.
"nor is it likely that the DNS delegation be correctly done in enough cases for people to say "this system is viable"."
There are always control nazis that will say so, of course. But how many DNS server are *already*? I bet you'll find in the millions. Whatever nightmare that might happen with delegations in the future should have happened *already*. And remember: either top-down or down-top there will be always above your head able to cut the flux if you don't behave. We have spam because -
Re:Bad idea
"And remember after that times out, with the "New Berners" approach you will have to try to fetch:
http://foo.www.microsoft.com:82/bar/com/baz
http://bar.foo.www.microsoft.com:82/com/baz
http://com.bar.foo.www.microsoft.com:82/baz
http://baz.com.bar.foo.www.microsoft.com:82/
And only after all that should the browser give up."
Why on hell? For one, it wouldn't be www.microsoft.com but com/microsoft/www. For second, assuming equivalent to current expansions, it would be "www" the one to expand to microsoft/www or com/microsoft/www, exactly like now. I really don't see where the "prefixes for alternate searchs" in your example come from.
"There's also the scenario of trying to access a site that hosts lots of different people's stuff that uses a wildcarded DNS- say the dns works but the site is down"
You are not going to test for all those users stuff at a time, do you? I don't see how can a browser expend more time waiting for http://www.example.com/~givenuser than on http://com/example/www/~givenuser. Again the only doubt is knowing wich is the "real server" that holds the content since, having the same semantics about domains and resources, 'a priori' the real host could be com, com/example, com/example/www or even com/example/www/~givenuser. Of course that you would trick out by having standard answers for "keep trying downside" and "here it goes". You only have latency problems *on the resolving process* when you can't reach the nameservers, quite exactly like now.
"OK lets say you try to do stuff in parallel, and display the first document that is successfully fetched"
You assume that the "document" can be on various different sites (even overlapping) but that the DNS won't help you telling where exactly the resource is. You either intermingle protocol and resolution (then the answer comes when it comes and you are deemed to timeout once per tried nameserver *on a single leaf level* -just like now) or you let each other on their side, exactly like now, and then it wil work -well, just like now maybe with the proper adition of some SRV glue http://com/example/www/~someguy, you said? My cache says HTTP server(s) for that name can be found on this IP (and this and this one)", or "I don't know, but you can ask those guys donwside the lane".
"Sure you can put "don't recurse" stuff on the DNS servers, but in real life, the people who run the webservers often have little authority and control over the DNS servers."
So usually, when the manager for the website at www.example.com asks example.com's hostmaster to add a registy for www he usually chooses an IP address out of his hat and the hell with the PHB if it ends up at www.playboy.com instead, is it?
"Run the DNS server on the webserver? Despite what some people may like, not every web server be allowed to run an authoritative DNS server on it"
*Current* implementation doesn't need to do so. Future implementation *might* integrate DNS and data server in a way that makes it the easier way to go, just like *usually* you can find an IMAP server just along with a POP server, simply because it's so easy if nothing else.
"nor is it likely that the DNS delegation be correctly done in enough cases for people to say "this system is viable"."
There are always control nazis that will say so, of course. But how many DNS server are *already*? I bet you'll find in the millions. Whatever nightmare that might happen with delegations in the future should have happened *already*. And remember: either top-down or down-top there will be always above your head able to cut the flux if you don't behave. We have spam because -
Re:Bad idea
"And remember after that times out, with the "New Berners" approach you will have to try to fetch:
http://foo.www.microsoft.com:82/bar/com/baz
http://bar.foo.www.microsoft.com:82/com/baz
http://com.bar.foo.www.microsoft.com:82/baz
http://baz.com.bar.foo.www.microsoft.com:82/
And only after all that should the browser give up."
Why on hell? For one, it wouldn't be www.microsoft.com but com/microsoft/www. For second, assuming equivalent to current expansions, it would be "www" the one to expand to microsoft/www or com/microsoft/www, exactly like now. I really don't see where the "prefixes for alternate searchs" in your example come from.
"There's also the scenario of trying to access a site that hosts lots of different people's stuff that uses a wildcarded DNS- say the dns works but the site is down"
You are not going to test for all those users stuff at a time, do you? I don't see how can a browser expend more time waiting for http://www.example.com/~givenuser than on http://com/example/www/~givenuser. Again the only doubt is knowing wich is the "real server" that holds the content since, having the same semantics about domains and resources, 'a priori' the real host could be com, com/example, com/example/www or even com/example/www/~givenuser. Of course that you would trick out by having standard answers for "keep trying downside" and "here it goes". You only have latency problems *on the resolving process* when you can't reach the nameservers, quite exactly like now.
"OK lets say you try to do stuff in parallel, and display the first document that is successfully fetched"
You assume that the "document" can be on various different sites (even overlapping) but that the DNS won't help you telling where exactly the resource is. You either intermingle protocol and resolution (then the answer comes when it comes and you are deemed to timeout once per tried nameserver *on a single leaf level* -just like now) or you let each other on their side, exactly like now, and then it wil work -well, just like now maybe with the proper adition of some SRV glue http://com/example/www/~someguy, you said? My cache says HTTP server(s) for that name can be found on this IP (and this and this one)", or "I don't know, but you can ask those guys donwside the lane".
"Sure you can put "don't recurse" stuff on the DNS servers, but in real life, the people who run the webservers often have little authority and control over the DNS servers."
So usually, when the manager for the website at www.example.com asks example.com's hostmaster to add a registy for www he usually chooses an IP address out of his hat and the hell with the PHB if it ends up at www.playboy.com instead, is it?
"Run the DNS server on the webserver? Despite what some people may like, not every web server be allowed to run an authoritative DNS server on it"
*Current* implementation doesn't need to do so. Future implementation *might* integrate DNS and data server in a way that makes it the easier way to go, just like *usually* you can find an IMAP server just along with a POP server, simply because it's so easy if nothing else.
"nor is it likely that the DNS delegation be correctly done in enough cases for people to say "this system is viable"."
There are always control nazis that will say so, of course. But how many DNS server are *already*? I bet you'll find in the millions. Whatever nightmare that might happen with delegations in the future should have happened *already*. And remember: either top-down or down-top there will be always above your head able to cut the flux if you don't behave. We have spam because -
Re:NT was mutiprocessor from the start.
You don't know what you're talking about. The kernel and its functions are re-entrant: a syscall causes the user mode thread to continue execution in kernel mode immediately. The thread usually does all of its own work without the need for secondary threads. However, there are cases where auxiliary threads are needed, via work items serviced by thread pools:
In kernel mode, there are thread pools for general and DPC work items, each with multiple threads, expanded based on the number of CPUs and by load.
User mode services in NT use a RPC style request system with a pool of worker threads on the server side: an application calls into a server process by leaving a message, and one of the server's worker threads executes it and returns a result so the calling thread can continue. CSR, back when it was the graphical server, used to create a thread to parallel every application GUI thread. Now, user programs call into win32k directly, executing in the same context.
Looking through the threads with Process Explorer, I see 18 general system worker threads, 2 filesystem worker threads, 8 RDP worker threads, 2 redbook work threads, 3 usbport work threads, 4 client and 3 server SMB work threads + 7 general remote fs work threads, one for ACPI and one for NDIS (most NDIS work happens in the caller's context). CSR has 8 workers for winsrv and 6 for csrsrv. Winlogon has 4 for system file protection, 6 for RPC requests. LSA has 12 for servicing client requests, 2 for ipsec, and 3 specifically for RPC clients. This is for WS2003 (so there's extra workers, expecting many requests) with one CPU.
Most kernel requests are handled directly by the calling thread. Others use pools of multiple threads: hardly the single threaded system you were describing. -
Re:NT was mutiprocessor from the start.
You don't know what you're talking about. The kernel and its functions are re-entrant: a syscall causes the user mode thread to continue execution in kernel mode immediately. The thread usually does all of its own work without the need for secondary threads. However, there are cases where auxiliary threads are needed, via work items serviced by thread pools:
In kernel mode, there are thread pools for general and DPC work items, each with multiple threads, expanded based on the number of CPUs and by load.
User mode services in NT use a RPC style request system with a pool of worker threads on the server side: an application calls into a server process by leaving a message, and one of the server's worker threads executes it and returns a result so the calling thread can continue. CSR, back when it was the graphical server, used to create a thread to parallel every application GUI thread. Now, user programs call into win32k directly, executing in the same context.
Looking through the threads with Process Explorer, I see 18 general system worker threads, 2 filesystem worker threads, 8 RDP worker threads, 2 redbook work threads, 3 usbport work threads, 4 client and 3 server SMB work threads + 7 general remote fs work threads, one for ACPI and one for NDIS (most NDIS work happens in the caller's context). CSR has 8 workers for winsrv and 6 for csrsrv. Winlogon has 4 for system file protection, 6 for RPC requests. LSA has 12 for servicing client requests, 2 for ipsec, and 3 specifically for RPC clients. This is for WS2003 (so there's extra workers, expecting many requests) with one CPU.
Most kernel requests are handled directly by the calling thread. Others use pools of multiple threads: hardly the single threaded system you were describing. -
Haskell To The Rescue For Microsoft Apps:
Haskell for SMP cores can be found here. -
Re:What about the adoption of 64-bit?
There are few levers that Microsoft has on encouraging 64 bit computing. The first is having good tools and support for creating 64 bit drivers with a shipping OS. The second is requiring the existance of 64 bit drivers to get a Designed For Windows Vista Logo (and co-marketing dollars?) and making the 64 bit OS version easily available in the consumer market. The last lever is finally going 64 bit only in certain products and eventually Windows itself. We are long past the first lever, we just saw the second completed with Vista and there are signs that the third is coming with announcements like Exchange going 64bit only.
However there is no reason why such big shifts can't happen cocurrently in the pipeline of these steps or even in parallel. For example, last year the win2k3 networking stack got an optional update to do Receive Side Scaling allowing a network server to scale better with multi-core/cpu. This technology is already a builtin part of the OS in Vista. One of the features on win2k8 is to fix the serialization of terminal server login session creation. As long as the hardware appears and there is bang for the buck, it will show up in the OS. -
Re:Windows is already multithreaded
"just using MS software only uses 1 core by default" Really depends on which software you're using. A lot of applications like Word, Excel, etc don't usually do process-intensive tasks and the act of spreading the work over multiple threads would actually decrease performance (there is overhead for each thread, context switches, etc). Those apps are more often IO-bound... either waiting for user IO or disk IO. However, if you're using software like SQL Server which performs tasks that do benefit from multiple concurrent threads, it does use multiple cores out of the box. (Yes, it's actually just using multiple threads out of the box, but Windows tosses those to multiple cores... trying not to be too pedantic here) Also if you're manually setting the affinity of processes, you're probably inadvertently decreasing your performance. Windows will spread processing across multiple cores by default (not only using 1 core like you say). When you specifically set the affinity, you're not really moving the process to a different core so much as saying "don't use this core even if it's not being used by anything else." Multi-threading with IO intensive applications should make use of IO completion ports in Windows. That will give you much better perf than trying to manually control which core you explicitly want a thread running on. Keep in mind that IO is orders of magnitude slower than processing, and more often than not that's now the bottleneck in systems. Check out http://www.microsoft.com/technet/sysinternals/inf
o rmation/IoCompletionPorts.mspx/ for more info. Unfortunately, there are a lot of applications out there (both from MS and other vendors) that do multi-threading poorly. Hopefully if MS re-writes some of the Windows infrastructure to make multi-threading easier for applications we'll see better apps that more properly take advantage of the hardware that's out there. -
One possibility
It seems that they've already begun to develop services akin to the message passing systems in Erlang and Mozart-Oz. Given that those message passing systems are how those languages avoid the vast bulk of problems described, it seems likely that their attempts to prevent these problems are in fact well underway.
-
Re:Credit where due department
> Who said it was coming out? They are going to give a few away to corporate partners.
To quote http://microsoft.com/surface/ :
"While the first Microsoft Surface units won't hit the market until Winter 2007..."
Sounds like it is "coming out" to me...