Domain: microsoft.com
Stories and comments across the archive that link to microsoft.com.
Comments · 34,132
-
Re:Actually, I consider this the big newsFlight Sim is gone.
Where did you hear that? The Flight Sim website doesn't seem to say anything about it being discontinued. On the other hand, I wish somebody would kill Vista,...
;-) -
Re:Surprise?
Ahem. http://support.microsoft.com/kb/216641
Ah, yes. Because a kb article for Windows 95/98 is relevant to a discussion about Vista reliability.
APPLIES TO
* Microsoft Windows 95
* Microsoft Windows 98 Standard Edition -
Re:My experience dictates it...
speaking of memory testing, Vista comes with the Windows Memory Diagnostic (WMD for short, not to be mistaken for the Iraq kind) tool with the OS. There are several ways to get to it such as F8 boot, then ESC, then select the diagnostic tool (my laptop also includes a direct function key to that page, I think F4 - it is the same key as for partition recovery). I think it's also under admin tools, but it requires a reboot that way.
That is the same memory test as here, so XP users can create a boot disk/CD.
I don't know which is better, but in every case where I've had memory issues both tools have identified the same problem (usually in Stride - I'm not sure if that is a typical failure point, but it is for me), so especially with Vista you may just want to try the built-in tool first.
-
Re:Surprise?
Ahem. http://support.microsoft.com/kb/216641
I don't have any real point. I just think it's funny. -
Re:i find it so hard
Or you could go and manually download the updates. Its not that hard really. Sure, you can't get all the updates, but any of the critical ones can be downloaded and installed manually. Really, to be honest, it isn't MS's responsibility to ensure that your illegal software works and is secure, that is your problem. MS isn't really fucking anyone over by not offering updates to pirate copies, you never paid them, so they don't give you anything. Nothing in life is free, there is always a cost of some kind. You buy a legit copy, you get updates and support; you download an illegal copy, its your own problem.
Really all those people with illegal copies should just smarten up. If you are smart enough to download and install an illegal copy of windows, you should be smart enough to manually download the updates that are critical off of the MS website without using the windows update site. People with this attitude are really frustrating because all that they do is further perpetuate the problem. In this case, all any illegal user has to do is go to http://support.microsoft.com/ and type MS08-067. Not hard, don't need to be a genius to do it, nor do you need any "L33t hax" or 3rd party groups providing it.
-
Re:Memtest not perfect.
I've had a lot more success with Microsoft's RAM tester, free download here: http://oca.microsoft.com/en/windiag.asp
See, good things do come out of Redmond!
-
Re:Memtest not perfect.
Which will work, as a matter of fact, given the proper hardware: http://www.microsoft.com/whdc/system/pnppwr/hotadd/hotaddmem.mspx
-
Re:Answers
3GB is not so much a "sweet spot" as it is a limitation based on a 32 bit OS.
You can address 4GB max using 32 bits.I beg your pardon, but this is limited by your version of windows, not by hardware nor even by 32bit systems.
http://www.microsoft.com/whdc/system/platform/server/PAE/PAEdrv.mspx
-
Re:Let me rephrase
To run IEs 6-8, at least, you need only one Windows license.
-
At least it's not Lupus.
Maybe I'm wrong here, but doesn't it make more sense to get everyone trying to fight this virus/bot/whatever early rather than wait?
They're trying. Microsoft has released a patch that supposedly blocks the primary vector (a vulnerability in the Server service affecting all Microsoft operating systems since Windows 98), and updated their repair tool MSRT to detect and remove it (download it from a machine that's not infested). It has probably removed it from several million of the estimated 15 million infested machines. Microsoft is working with ICANN to block registration of the generated domain names in the case where they're not yet registered and the owners of the domains that were previously registered to mitigate downtime. Every managed service provider and major IT shop I know of has pushed out all of this stuff. Unfortunately, this is not even close to enough. The secondary vector, autorun, is pernicious. This thing is now on the root thousands of major shares and every time they remove it one of the thousands of Conficker clients puts it back. It's on millions of pen drives, millions of backups. It's been burned to millions of CDs. It's on iPods and mp3 players, Blackberries and iPhones and Windows Mobile phones, picture frames and DVDs. It's probably now in the root of DVD ISOs distributed via all the popular media distribution sites. Tertiary vectors include compromising network neighbors. Your grandchildren are going to be installing this thing if they don't figure out the whole "autorun is stupid" thing.
This thing is really very well engineered. The next one will be even better. And the next one better still. If you're in a Microsoft shop you're going to be working half your holiday weekends for the rest of your career, and a lot of planned vacations too. Remember that this is not the only Windows malware currently making the rounds. There are at least three major development groups and all of them have active botnets and a release schedule for new exploits.
We've been playing this game for a long time and the black hats are getting more proficient than the white hats. The problem is that the target platform - Windows - cannot be made invulnerable to these threats without defeating its main selling point: application compatibility. Most of the people who work with this toxic stuff do their development on BSD, OS-X or Linux and refer to Windows boxes as "targets". If Microsoft makes Windows so secure that this junk won't spread, most of the apps for it won't run. You might as well run an OS that's not a target now as wait for that to happen.
But TFA is right. April Fools is the day the botmaster begins to harvest his crop of bots. May 22 is more likely the beginning of operations. I could be wrong about this because I previously guessed January 16.
-
At least it's not Lupus.
Maybe I'm wrong here, but doesn't it make more sense to get everyone trying to fight this virus/bot/whatever early rather than wait?
They're trying. Microsoft has released a patch that supposedly blocks the primary vector (a vulnerability in the Server service affecting all Microsoft operating systems since Windows 98), and updated their repair tool MSRT to detect and remove it (download it from a machine that's not infested). It has probably removed it from several million of the estimated 15 million infested machines. Microsoft is working with ICANN to block registration of the generated domain names in the case where they're not yet registered and the owners of the domains that were previously registered to mitigate downtime. Every managed service provider and major IT shop I know of has pushed out all of this stuff. Unfortunately, this is not even close to enough. The secondary vector, autorun, is pernicious. This thing is now on the root thousands of major shares and every time they remove it one of the thousands of Conficker clients puts it back. It's on millions of pen drives, millions of backups. It's been burned to millions of CDs. It's on iPods and mp3 players, Blackberries and iPhones and Windows Mobile phones, picture frames and DVDs. It's probably now in the root of DVD ISOs distributed via all the popular media distribution sites. Tertiary vectors include compromising network neighbors. Your grandchildren are going to be installing this thing if they don't figure out the whole "autorun is stupid" thing.
This thing is really very well engineered. The next one will be even better. And the next one better still. If you're in a Microsoft shop you're going to be working half your holiday weekends for the rest of your career, and a lot of planned vacations too. Remember that this is not the only Windows malware currently making the rounds. There are at least three major development groups and all of them have active botnets and a release schedule for new exploits.
We've been playing this game for a long time and the black hats are getting more proficient than the white hats. The problem is that the target platform - Windows - cannot be made invulnerable to these threats without defeating its main selling point: application compatibility. Most of the people who work with this toxic stuff do their development on BSD, OS-X or Linux and refer to Windows boxes as "targets". If Microsoft makes Windows so secure that this junk won't spread, most of the apps for it won't run. You might as well run an OS that's not a target now as wait for that to happen.
But TFA is right. April Fools is the day the botmaster begins to harvest his crop of bots. May 22 is more likely the beginning of operations. I could be wrong about this because I previously guessed January 16.
-
Re:Let me rephrase
If you are running on windows already, you can use the free VM that MS provides for this exact purpose: http://www.microsoft.com/downloads/details.aspx?FamilyId=21EABB90-958F-4B64-B5F1-73D0A413C8EF&displaylang=en
For testing a single site, I've found that I can use as little as 200MB of RAM for the image to run with. Which is pretty good, since that is still 1/5 of what I have available.
-
Correction: There is no Mac Expression Studio
The OP mentions that this is not available for the Mac version of the Expression suite.
This is because that doesn't exist. The Expression Media product is cross-platform, as it is a new version of iView, a cross-platform product Microsoft purchased.
http://www.microsoft.com/expression/products/overview.aspx?key=media
The other products in Expression Studio began life as Windows-only products, and remain so.
That said, The Expression Professional Subscription does include a license for Parallels, so I suppose it's supported on Mac in that sense
:).http://www.microsoft.com/expression/products/ProfessionalSubscription.aspx
-
Correction: There is no Mac Expression Studio
The OP mentions that this is not available for the Mac version of the Expression suite.
This is because that doesn't exist. The Expression Media product is cross-platform, as it is a new version of iView, a cross-platform product Microsoft purchased.
http://www.microsoft.com/expression/products/overview.aspx?key=media
The other products in Expression Studio began life as Windows-only products, and remain so.
That said, The Expression Professional Subscription does include a license for Parallels, so I suppose it's supported on Mac in that sense
:).http://www.microsoft.com/expression/products/ProfessionalSubscription.aspx
-
Re:I could use that
If you use Outlook and Exchange, there is a message recall feature. Of course, for those who don't, we just get an annoying two line email saying "Foo would like to recall message blah". Even funnier is that in French, the word they use for recall can mean either of recall or highlight/remind.
It took me a while to understand why some senders always wanted to remind me of some silly email.
-
Re:*Finally*
That's not transactions though, in the ACID sense. A transaction is atomic, either it completes or is rolled back. fbarrier() doesn't quite cut it because it some file operations may complete.
http://en.wikipedia.org/wiki/ACID
Atomicity - a bunch of file operations ending with an fbarrier is not atomic because some operations will complete before the fbarrier cal.
Consistency - it is consistent.
Isolation - it's not isolated either, for the same reason it is not atomic.
Durability - ok, it is durableNTFS has real, ACID compliant, transactions spanning several files.
http://msdn.microsoft.com/en-us/library/aa365738(VS.85).aspx
It's not surprising really NTFS is built like a database and has always had per file transactions. VMS was tradionally a transaction processing environment - I think that's where the culture comes from.
-
Re:Berkeley DB is awesome
Well guess what, folks: Berkeley DB ain't the Exchange database (actually, maybe Exchange wouldn't be so unreliable if they switched to Berkeley DB).
Exchange uses a database backend similar in features to BDB internally. Yes, it also has journalling and ACID transactions. I don't know what the problem with Exchange mail loss might be, but it may not necessarily be the DB problem.
-
Re:Virtual Desktops?
Yes. It will have Virtual Desktops, just like they have had since... god, Windows 2k, I think? Here is the XP version that turns it on.
Just because it's not in there straight off the disk doesn't mean it's not in there... -
AWS, Azure
Cloud computing as a whole is vaporware
Amazon Web Services and Windows Azure beg to differ.
-
Re:Slippery slope to non-free
GPL is certainly not the only free license. And what about people that go the "GPL\0for files in the \"GPL\" directory" way?
Well for the latter, obviously we'd fix the bug that allows poison null bytes to break a string, since that's a pretty serious security vulnerability in a web browser.
For the former, all of the following are valid in both HTML 4.01 Strict and XHTML 1.0:
<link rel="copyright" href="http://www.gnu.org/licenses/gpl.html"
/><link rel="copyright" href="http://www.opensource.org/licenses/mit-license.php"
/><link rel="copyright" href="http://www.microsoft.com/opensource/licenses.mspx#Ms-PL"
/>And all of the following work in any included ECMAScript file:
// License: http://www.gnu.org/licenses/gpl.html // License: http://www.opensource.org/licenses/mit-license.php // License: http://www.microsoft.com/opensource/licenses.mspx#Ms-PLYou certainly have the freedom to alter your user agent to require any set of licenses you're comfortable with.
-
This is a good thing for open source applications
Disclaimer: I work for http://acquia.com/ , and we provide commercial support and network services for the open-source Drupal CMS. Over several weeks, we worked with Microsoft to make sure Drupal would be well represented in the Windows Application Gallery to provide IIS users access to an easy to use Drupal installation. The result is here http://www.microsoft.com/web/gallery/AcquiaDrupal.aspx We already provide Drupal Windows and Mac stack installers for Apache at http://acquia.com/downloads and so this was a natural extension of our mission to increase Drupal usage. Overall it was a positive experience and a way for us to ensure that the Drupal market continues to grow by supporting end-users who are committed to Microsoft's IIS and can't or prefer not use Apache. Microsoft of course also is motivated to ensure IIS is a great platform for any application, so we see this as a win-win. If you'd like to learn more, our CTO Dries Buytaert wrote about it when the Windows Application Gallery launched at http://buytaert.net/microsoft-promoting-drupal
-
So do C/C++ &/or Delphi (multiple thread capab
Those aren't the only language tools that can do that (older ones can as well):
C & C++ + Borland Delphi compilers have had access to the CreateThread API -> http://msdn.microsoft.com/en-us/library/ms682453(VS.85).aspx call since they & the Win32 API came out!
(&/or, even
SetProcessorAffinity -> http://msdn.microsoft.com/en-us/library/microsoft.xna.net_cf.system.threading.thread.setprocessoraffinity.aspx
+
SetThreadAffinity -> http://www.delphipraxis.net/topic134206.html
Win32 API calls & that's ALL a body needs (in addition to actual tasks to "spread around" available physical CPUs &/or multiple cores present, once they are detected for, IF you want to go about this manually that is)).
You CAN do this yourself, OR, let the OS process scheduler kernel subsystem component do that for you, your choice...
HOWEVER: Just by coding with multiple threads, you CAN just let the OS process scheduler kernel subsystem take care of it, for you, just by allowing the OS to wait until one of the processors or cores present become fully saturated, & then, it will send other child threads of a parent process to the least saturated CPU cores present.
E.G.-> The OS' process scheduler subsystem in Microsoft's Windows NT-based OS family (Windows NT 3.5x- 4.x, 2000/XP/Server 2003/VISTA/Server 2008/Windows 7) is aware of how many threads (smallest atomic unit of execution on Microsoft OS') an application has &, that is all it needs!
I.E.-> Even taskmgr.exe can show anyone that much, as to how many independent threads of execution an app has...
(The OS & its process scheduler core/kernel component subsystem has to know how many there are in order to send threads of execution that an application has across the least saturated CPU (physical, or core) present, assuming the other CPU's present are @ or nearing 100% cpu cycles saturation).
APK
P.S.=> This is done by the OS, & for ANY multithreaded application, & no "SetProcessAffinity" type API calls (explicit multithreaded apps that do all the checks for CPU's present, & schedule their own thread executions across them as needed) required... multiple threads of execution designed apps (that use what I call "implicit multithreaded design" that use multiple threads) are really all that is required here (though you can do the processor detections yourself, routines abound galore online for this if needed & then send the threads you have to diff. CPUs/cores yourself, manually, as noted above IF need be)...
Well, that's "all you need", & GOOD logic (PLUS, applications that actually require more than a single thread to do a particular job, & NOT ALL DO, & that is "part of the problem", because not all do & many others note it here)
Imo? Well - the article is misleading (it's more about the apps riding on the OS, & not the OS) - however, I have 17 processes running here, and not a single one is single threaded (Dual Core CPU @ present as I look @ this here)...
I use Windows Server OS', which can use 1-8 cores outta the box ->
CPU and memory scalability for Exchange Server 2003 and for Exchange 2000 Server
http://support.microsoft.com/kb/827281
(Read carefully to the bottom & it lists what OS' it applies to & the article deals in this w/ Exchange Server)
Windows Server 2003 &/or Windows Server 2008 can use up to 8 CPUs/cores, outta the box, & install as "WorkStation/Pro" models by default (meaning you can install server-class/back-office class apps like IIS later on, IF ever needed onto them)... apk
-
So do C/C++ &/or Delphi (multiple thread capab
Those aren't the only language tools that can do that (older ones can as well):
C & C++ + Borland Delphi compilers have had access to the CreateThread API -> http://msdn.microsoft.com/en-us/library/ms682453(VS.85).aspx call since they & the Win32 API came out!
(&/or, even
SetProcessorAffinity -> http://msdn.microsoft.com/en-us/library/microsoft.xna.net_cf.system.threading.thread.setprocessoraffinity.aspx
+
SetThreadAffinity -> http://www.delphipraxis.net/topic134206.html
Win32 API calls & that's ALL a body needs (in addition to actual tasks to "spread around" available physical CPUs &/or multiple cores present, once they are detected for, IF you want to go about this manually that is)).
You CAN do this yourself, OR, let the OS process scheduler kernel subsystem component do that for you, your choice...
HOWEVER: Just by coding with multiple threads, you CAN just let the OS process scheduler kernel subsystem take care of it, for you, just by allowing the OS to wait until one of the processors or cores present become fully saturated, & then, it will send other child threads of a parent process to the least saturated CPU cores present.
E.G.-> The OS' process scheduler subsystem in Microsoft's Windows NT-based OS family (Windows NT 3.5x- 4.x, 2000/XP/Server 2003/VISTA/Server 2008/Windows 7) is aware of how many threads (smallest atomic unit of execution on Microsoft OS') an application has &, that is all it needs!
I.E.-> Even taskmgr.exe can show anyone that much, as to how many independent threads of execution an app has...
(The OS & its process scheduler core/kernel component subsystem has to know how many there are in order to send threads of execution that an application has across the least saturated CPU (physical, or core) present, assuming the other CPU's present are @ or nearing 100% cpu cycles saturation).
APK
P.S.=> This is done by the OS, & for ANY multithreaded application, & no "SetProcessAffinity" type API calls (explicit multithreaded apps that do all the checks for CPU's present, & schedule their own thread executions across them as needed) required... multiple threads of execution designed apps (that use what I call "implicit multithreaded design" that use multiple threads) are really all that is required here (though you can do the processor detections yourself, routines abound galore online for this if needed & then send the threads you have to diff. CPUs/cores yourself, manually, as noted above IF need be)...
Well, that's "all you need", & GOOD logic (PLUS, applications that actually require more than a single thread to do a particular job, & NOT ALL DO, & that is "part of the problem", because not all do & many others note it here)
Imo? Well - the article is misleading (it's more about the apps riding on the OS, & not the OS) - however, I have 17 processes running here, and not a single one is single threaded (Dual Core CPU @ present as I look @ this here)...
I use Windows Server OS', which can use 1-8 cores outta the box ->
CPU and memory scalability for Exchange Server 2003 and for Exchange 2000 Server
http://support.microsoft.com/kb/827281
(Read carefully to the bottom & it lists what OS' it applies to & the article deals in this w/ Exchange Server)
Windows Server 2003 &/or Windows Server 2008 can use up to 8 CPUs/cores, outta the box, & install as "WorkStation/Pro" models by default (meaning you can install server-class/back-office class apps like IIS later on, IF ever needed onto them)... apk
-
So do C/C++ &/or Delphi (multiple thread capab
Those aren't the only language tools that can do that (older ones can as well):
C & C++ + Borland Delphi compilers have had access to the CreateThread API -> http://msdn.microsoft.com/en-us/library/ms682453(VS.85).aspx call since they & the Win32 API came out!
(&/or, even
SetProcessorAffinity -> http://msdn.microsoft.com/en-us/library/microsoft.xna.net_cf.system.threading.thread.setprocessoraffinity.aspx
+
SetThreadAffinity -> http://www.delphipraxis.net/topic134206.html
Win32 API calls & that's ALL a body needs (in addition to actual tasks to "spread around" available physical CPUs &/or multiple cores present, once they are detected for, IF you want to go about this manually that is)).
You CAN do this yourself, OR, let the OS process scheduler kernel subsystem component do that for you, your choice...
HOWEVER: Just by coding with multiple threads, you CAN just let the OS process scheduler kernel subsystem take care of it, for you, just by allowing the OS to wait until one of the processors or cores present become fully saturated, & then, it will send other child threads of a parent process to the least saturated CPU cores present.
E.G.-> The OS' process scheduler subsystem in Microsoft's Windows NT-based OS family (Windows NT 3.5x- 4.x, 2000/XP/Server 2003/VISTA/Server 2008/Windows 7) is aware of how many threads (smallest atomic unit of execution on Microsoft OS') an application has &, that is all it needs!
I.E.-> Even taskmgr.exe can show anyone that much, as to how many independent threads of execution an app has...
(The OS & its process scheduler core/kernel component subsystem has to know how many there are in order to send threads of execution that an application has across the least saturated CPU (physical, or core) present, assuming the other CPU's present are @ or nearing 100% cpu cycles saturation).
APK
P.S.=> This is done by the OS, & for ANY multithreaded application, & no "SetProcessAffinity" type API calls (explicit multithreaded apps that do all the checks for CPU's present, & schedule their own thread executions across them as needed) required... multiple threads of execution designed apps (that use what I call "implicit multithreaded design" that use multiple threads) are really all that is required here (though you can do the processor detections yourself, routines abound galore online for this if needed & then send the threads you have to diff. CPUs/cores yourself, manually, as noted above IF need be)...
Well, that's "all you need", & GOOD logic (PLUS, applications that actually require more than a single thread to do a particular job, & NOT ALL DO, & that is "part of the problem", because not all do & many others note it here)
Imo? Well - the article is misleading (it's more about the apps riding on the OS, & not the OS) - however, I have 17 processes running here, and not a single one is single threaded (Dual Core CPU @ present as I look @ this here)...
I use Windows Server OS', which can use 1-8 cores outta the box ->
CPU and memory scalability for Exchange Server 2003 and for Exchange 2000 Server
http://support.microsoft.com/kb/827281
(Read carefully to the bottom & it lists what OS' it applies to & the article deals in this w/ Exchange Server)
Windows Server 2003 &/or Windows Server 2008 can use up to 8 CPUs/cores, outta the box, & install as "WorkStation/Pro" models by default (meaning you can install server-class/back-office class apps like IIS later on, IF ever needed onto them)... apk
-
Re:Direct link to explanation
There's a presentation that explains how it works: http://download.microsoft.com/download/7/2/8/728FE40F-93B6-47BD-B67D-78D04B63E27D/Automated%20Security%20Crash%20Dump%20Analysis.pptx
sweet! a new leaked windows 7 serial key!
-
Re:Or maybe you're pulling that from your ass
And how do you imagine they test "all use scenarios"? They can't, it's simply unfeasible. Not that they need to, because your example is rather lame.
Go to WalMart and Best Buy and grab a copy of everything on the shelves. Have a group of interns sit down and use each piece of software. Hell they could even do a double blind test with different optimizations turned on or off. Maybe I should have been more explicit and said "all *common* use scenarios". In any case, the problems in gaming should have been picked up by the MS usability labs. Oh and thanks for the ad hominem there.
I will agree with the point that it's infeasible to capture 100% of all possible situations in testing. This is why the ability to turn features and optimizations off is a good troubleshooting tool. I would love to know, personally, why I get corrupted images sometimes, in some games, in full screen mode, at some color depths after my system has been on for some period of time. Apparently so would quite a few other people with an Athlon x2, a nForce chipset and a Geforce 7900 series GPU. I'd love to be able to turn things off until the problem goes away and stays away. The best I can find are a few registry settings that may or may not have the effect I'm looking for and may or may not be just dummy keys placed for the benefit of legacy software that expected those keys to be present on Win2k. I don't care if it's nVidia or MS to blame. I just want to be able to apply a workaround until either the problem is fixed or I have the disposable cash for my next round of upgrades.
Watch that 2GB of RAM go from 2GB to around 20MB in less than 2 seconds.
And that's the point. The system stalls just long enough to be noticed. I never said that garbage collection, cache flushing or whatever superfetch is actually doing to thrash my pagefile takes long enough for me to get up and make a pot of coffee. It's just a short hiccup. Like your car missing a cylinder as you pull away from a stop light. By the time it registers it's done and gone but it did last long enough to actually be noticed.
I used gaming as an example because it's easier to feel and visualize what I'm talking about compared to more traditional apps. When I apply a photoshop filter, update an excel formula or open a new browser tab, I'm not surprised when I have to wait a fraction of a second for the system to deal with it. I told the program to do something and it did. However, when I'm just turning the corner in South Qeynos and a guard seems to teleport 5 feet between one frame and the next, I want to say "WTF?".
Vista does a lot of neat tricks with memory that it's predecessors did not. I just want to have the option of turning those tricks off or going to a more conservative caching strategy when something doesn't work right.
-
Re:Intense Rant: Don't fucking write it there
It seems as if you didn't even read my post. Side by Side assemblies solve all of those problems.
http://msdn.microsoft.com/en-us/library/aa376307.aspx
http://msdn.microsoft.com/en-us/library/aa375680(VS.85).aspx
Applications don't need to supply depedencies, they simply install the compatible version of the DLL and use it. The DLL publisher can then assign "upgrade policies" to direct all or specific applications to use a newer version when it gets installed. Applications can override those policies with their own policies. None of this is typically done by the user, it is usually done by the application maintainers and the DLL maintainers. However, the policies are text files and are completely accessible to the power user for troubleshooting and experimentation. The whole process is complicated and error-prone, just like Linux package management. -
Re:Intense Rant: Don't fucking write it there
It seems as if you didn't even read my post. Side by Side assemblies solve all of those problems.
http://msdn.microsoft.com/en-us/library/aa376307.aspx
http://msdn.microsoft.com/en-us/library/aa375680(VS.85).aspx
Applications don't need to supply depedencies, they simply install the compatible version of the DLL and use it. The DLL publisher can then assign "upgrade policies" to direct all or specific applications to use a newer version when it gets installed. Applications can override those policies with their own policies. None of this is typically done by the user, it is usually done by the application maintainers and the DLL maintainers. However, the policies are text files and are completely accessible to the power user for troubleshooting and experimentation. The whole process is complicated and error-prone, just like Linux package management. -
Re:!static code analyzer
It's not "free and open" but do you mean a source code analyzer like this one which is available in Visual Studio 2005?
-
Specialize in architecture, not languagesBefore someone flames me for the title of my post, let me start with this:
If I had a chance to turn the clock backwards when I left grad school to look for a job, I would have accepted a job as a C++ instead of chasing the Java dream during the dot-com era. I've been unemployed for 3 months, and if I had at least a year of working experience in C or C++, I would be employed and making much more money now.
But that was then, this is the now, so I'll keep my suggestions generic:
In addition to learning C, C++ and Java (but learning their fundamentals really well), learn C# and get proficient with Unix tools (vi, awk, sed, perl, make). If you don't have access to a Linux/Unix box, install the cygwin stuff on your PC.
On the four languages mentioned above, get really good at (or at least acquainted with) multithreading, resource allocation and de-allocation, error logging, sockets. It is horrendously surprising how bad Java programmers tend to be. I've made a living rewriting f-horrible Java code that tanks because the retards that wrote them don't know they need to close connection pools or avoid creating a kazillion objects that bring the gc to its knees under heavy load.
Never assume you have infinite memory, CPU or shit like that. This applies to any platform you wish to pursue.
Since my experience is with Java, if you were to go that way, I'd suggest you immediately train for the Sun Certified Java Programmer (SCJP) exam.
People are going to say that certs don't mean anything, and they are usually right. But you need to stand out as a green horn, plus the certs help you verify if you really know what you think you know.
Then pursue the SCJWCD (Web Components) and SCJBCD (Business Components) certs - leave the certs for web services and enterprise architecture for later. These three certs will truly prepare you to talk intelligently about the J2EE stack - obviously this will only work if you are a decent programmer. You might have only the basics of programming, but there are principles by which you can abide and be a good programmer.
Then learn the basics of the Spring Framework, Hibernate and iBatis. This is pretty much the training path I would suggest for anyone trying to get into the Java market with some solid footing. Webucator.com has e-learning classes that you can take at your leasure in basic web services, ejb components and J2EE architecture, for $100 each course. Now with the new EJB 3.x being available, now it's a good time to really learn J2EE (which wasn't the case with the monstrosities that were EJB 1.x and EJB 2.x.) There are different vendors that provide professional training in 5-day long seminars that cost between $2 and $4 (training ain't cheap, but it's a good way to go.)
If you don't feel like working towards those certs (which I think it will be a shame), then get 'EJB 3 In Action', 'Head First Servlets & JSP' and 'Spring Recipes'. Take 3 months to learn that stuff inside out, download WebLogic and JBoss and learn how to configure those containers, and how to deploy stuff. Learn how to use log4j (this is very important!), Maven and Ant.
You could also go the C# way - there are more jobs in C# than Java, but they pay less. And also, don't ever be dogmatic or fall for religious wars. A tool is a tool, and to be honest, C# and
.NET are not bad technically speaking. I prefer to work on non-MS platforms, but I'm not a dogmatic idiot - don't be one of those.For the C# platform, Microsoft has a series of free training lessons available, all laid out according to the specialization path you wish to follow:
http://msdn.microsoft.com/en-us/beginner/bb308760.aspx
Then aim to get a MSCT or two from them.
For C or C++ I can't say anything. I had my chance when fresh out of college. If you get a chance to get a junior position, get it, even if you don't have a clue. Just do it and go the extra mil
-
Winqual is not available to individuals
I honestly want to know why vendors don't use MSI.
For one thing, they might have an installer that works, so don't touch it. Or they might have to support users who don't have the latest version of Windows Installer installed.
I'd love to see Microsoft make compulsory MSI usage as part of their Windows certification programme.
I could try to verify it, but apparently one has to have a Winqual account to get the logo requirements, and you need a paid certificate from VeriSign to get a Winqual account. VeriSign won't issue certificates directly to individuals; the sign-up form requires a "company", and various PDFs that VeriSign makes available through the certificate application process imply that this means a corporation or partnership, not a mere DBA form.
-
Winqual is not available to individuals
I honestly want to know why vendors don't use MSI.
For one thing, they might have an installer that works, so don't touch it. Or they might have to support users who don't have the latest version of Windows Installer installed.
I'd love to see Microsoft make compulsory MSI usage as part of their Windows certification programme.
I could try to verify it, but apparently one has to have a Winqual account to get the logo requirements, and you need a paid certificate from VeriSign to get a Winqual account. VeriSign won't issue certificates directly to individuals; the sign-up form requires a "company", and various PDFs that VeriSign makes available through the certificate application process imply that this means a corporation or partnership, not a mere DBA form.
-
Direct link to explanation
There's a presentation that explains how it works: http://download.microsoft.com/download/7/2/8/728FE40F-93B6-47BD-B67D-78D04B63E27D/Automated%20Security%20Crash%20Dump%20Analysis.pptx
-
Re:in-memory patching?
I believe it's done like this, assuming you have a process already identified:
(1) Call OpenProcess to get a handle
(2) Use VirtualQueryEx to get the memory map for the process
(3) Use ReadProcessMemory and WriteProcessMemory to (surprise!) read from and write to that process's memory -
Re:in-memory patching?
I believe it's done like this, assuming you have a process already identified:
(1) Call OpenProcess to get a handle
(2) Use VirtualQueryEx to get the memory map for the process
(3) Use ReadProcessMemory and WriteProcessMemory to (surprise!) read from and write to that process's memory -
Re:in-memory patching?
I believe it's done like this, assuming you have a process already identified:
(1) Call OpenProcess to get a handle
(2) Use VirtualQueryEx to get the memory map for the process
(3) Use ReadProcessMemory and WriteProcessMemory to (surprise!) read from and write to that process's memory -
Re:in-memory patching?
I believe it's done like this, assuming you have a process already identified:
(1) Call OpenProcess to get a handle
(2) Use VirtualQueryEx to get the memory map for the process
(3) Use ReadProcessMemory and WriteProcessMemory to (surprise!) read from and write to that process's memory -
So is a $1,300 Microsoft "SeniorPC" a Better Deal?
Microsoft is touting $1,300 SeniorPC Packages. According to the sales pitch, it's "what seniors want in a PC." Think SteveB feels this a better value than a Mac?
:-) -
Re:Not acceptable
They don't want that though.
MSOffice 2007 SP2 will add ODF support.
-
Re:This is a patent I can get behind
SOAP via xmlhttprequest: http://support.microsoft.com/kb/208427
More browser-based soapiness: http://livedocs.adobe.com/flex/2/langref/mx/rpc/soap/mxml/WebService.html
So... I'm wondering who's in the wrong job at this point. But good luck with that attitude, buddy!
This is all made pointless with what I described above. Your application should be serving up content, not your centralized API. The only views your centralized API should have is logic on how to serialize models for digest by your applications.
And another thing, SOAP is an utterly pointless technology. It reinvents HTTP for no real reason at all. If you're still using SOAP, then you obviously miss the point of what HTTP is and what it represents.
Try harder next time
:P -
Re:This is a patent I can get behind
SOAP via xmlhttprequest: http://support.microsoft.com/kb/208427
More browser-based soapiness: http://livedocs.adobe.com/flex/2/langref/mx/rpc/soap/mxml/WebService.html
So... I'm wondering who's in the wrong job at this point. But good luck with that attitude, buddy!
-
Re:This is a patent I can get behind
As to GET and PUT limitations: http://support.microsoft.com/kb/208427
As to browser cache and proxy behavior: You are assuming app developers have control over their users' browsers and proxy servers. That's a false assumption. You just failed to meet the minim requirements for the project (working on ie6 with ghettoproxy 0.1).
You don't know what you're talking about. Who mentioned browsers? Since when do browsers make direct SOAP calls to SOAP-based web services? They don't. Applications make SOAP-based requests to web services and then serves up views based on the data models the web service returns. The problem with SOAP is that SOAP reinvented HTTP. HTTP is perfectly geared to handle this notion of a centralized API with many applications using the same API. You can use this setup with ANY KIND OF APPLICATION, whether it be a desktop app, a web app, a command line app. You don't even need the internet.
- User makes request
- Application receives request, fetches data from RESTful webservice over HTTP
- Centralized API fetches data, returns it to application
- Application displays top ten favorite movies to user
If you somehow see a problem with this, then you're working in the wrong job.
-
Re:This is a patent I can get behind
As to GET and PUT limitations: http://support.microsoft.com/kb/208427
As to browser cache and proxy behavior: You are assuming app developers have control over their users' browsers and proxy servers. That's a false assumption. You just failed to meet the minim requirements for the project (working on ie6 with ghettoproxy 0.1).
-
Re:Password
As of Windows2k the default authentication protocol is Kerberos, not NTLM and definitely not LM. Source: http://technet.microsoft.com/en-us/library/bb457114.aspx
I'll admit I did not peruse this article, just a quick skim, and therefore am not certain it applies to how the password is being stored.
Also, along with the private key (belonging to the UID/password), EFS also provides a "master" key (for the recovery agent) that NTbackup can utilize to recover EFS encrypted files should your password get reset by an admin. For home use, just be sure to backup your certificate in a secure .pfx file. -
Re:Truecrypt
It's certainly possible to move the whole Documents and Settings folder to a new drive even after the install. I've done it several times and it isn't all that horrible. It is a lot of manually searching and replacing in the registry though.
-
Re:Avoid Windows file encryption.
It has the same shortcoming as any other encryption scheme. If you forget the password or lose the keys you're hosed.
Export the keys to a thumbdrive (or two), write down the password and put it all in a safe.
-
Re:EFS?
If someone alters your password not through the normal password change process (i.e. an Administrator uses 'reset password'), you lose access to your private keys, and thus your encrypted files.
You can mitigate this though by backing up your EFS certificate, which is recommended.
-
Password
One very important thing to remember if you choose to use Windows built in encryption is that it uses the Windows password to encrypt the keys, and by default that password is stored using an LM hash which is extremely insecure (in addition to the NTLM which is less insecure).
To prevent this, you can either modify a registry setting to disable LM Hashes, or you can pick a password 15 characters or longer (since LM is limited to 14, it will be filled in with garbage and NTLM used instead).
Note that this also applies if you use TrueCrypt or some other program, but use the same password as you use for Windows.
-
IE Download Speed - the Slashdot Effect
Well, props to Microsoft. I just downloaded IE 8 at this link: http://www.microsoft.com/windows/internet-explorer/default.aspx I figured it might be slow, or unreachable - but, guess what? Average download speed: 1.48 MB / Sec. Wow. Two possibilities here: 1) They threw some serious bandwidth at this thing. Or, 2) IE 8 is already a dismal failure because only 17 people in the entire United States have downloaded it so far today. I'm guessing #1 - but you may disagree...
-
Re:Standalone version?
Free VHDs for IE6, IE7 and IE8
Yes it says it will expire, but before then a new set of VHDs gets released.