As a long-time Linux user (over 10 years) I was always in the "Windows Sucks" camp. Recently I decided to really understand windows at the level of my understanding of Linux. I just finished a 5 year stint doing Linux systems level programming with the latter 2 years doing more on BSD. After reading "Windows Systems Progamming" by Johnson Hart, I was astonished at the complexity of the windows api (win32). Things that are really straight forward with posix programming are a genuine mess with win32. The nubmer of synchronization mechanisms is overwhelming. But after a while you begin to appreciate the flexiblity that the system provides. I decided to move on and buy "Microsoft Windows Internals" by Russinovich and Solomon and am currently reading that. Again, they expose some nasty details of windows and again you'll be saying to yourself, "Oh my god, they over engineered the shit out of this thing." But they continually bring up what the design goals were and again you begin to appreciate what Microsoft has accomplished with windows. Of course you can't expect the system to be flawless. Linux certainly isn't. If you're a windows user, just be glad there are people like Russinovich who can actually understand the windows kernel enough so that Microsoft can continue to make improvements. If you couldn't care less about windows, then I'd still reccomend either book. If you're into Linux (or any posix-like) systems level programming, check out Johnson Hart's book. It's audience is unix converts. If you're just interested in the windows kernel or are a sys admin, check out Russinovich's book. It's really interesting.
This is a result of the way that most people are developing code. They build some huge app and then finally realize that it doesn't work because it's riddled with defects and memory leaks. What should have been taking place is the creation of small units tests which were then run under some runtime analyzer like pruify. With that said, I've used purify, insure++, and valgrind. I found insure++ to be the best. I will admint that the code runs much more slowly but I was amazed at the stuff that it found. I've never used the windows version, but you can get it for windows with dev studio integration.
I've noticed that people are using the term "parallel programming" pretty losely here. Multi-threaded programs are not necessarily what some people call "parallel programming". There are many apps that have lots of threads doing several disjoint tasks concurrently or in "parallel" if the hardware permits (>1 core). But the term "parallel programming" is usually a term reserved for high performance computing apps. This is generally a bunch of threads or forked processes all working on the same task. Very big difference from the former.
I would not referr to your typical producer/consumer application as "parallel programming". You're web-browser usually has multiple threads pulling content down in "parallel", but I'm sure the microsoft developers who work on IE don't consider themselves parallel programmers.
Point being. Parallel programming and multi-threaded programming aren't necessarily the same thing. Don't use the terms interchangeable.
http://en.wikipedia.org/wiki/Parallel_computinghttp://en.wikipedia.org/wiki/Multithreading
Rick, 1 license sold equals 1 copy purchased. They can give licenses away, but it's either purchased or not. Who they sold them to isn't all that important. Sooner or later most of the licesense sold will become installed software on either a consumer or business desktop. Not too many people are going to buy a brand new dell with Vista and install XP or something else. Some will.. yes. With that said, yes, Microsoft is marketing this thing like crazy. I'd event say that they're doing a pretty good job at marketing the product. From most perspectives it "appears" that they've beaten the naysayers.
Well, you can't totally blame the providers. The local cable companies have been trying to block verizon everywhere. Verizon is required to get permits before setting up shop, and they're likely to install the fiber in locations that are going to allow them to provide both internet and cable services. Something else I really never thought about, until I saw mention of recently, was that many newer communities have underground utilities. This is obviously more difficult for verizon (or anyone else) to install. In my neighborhood (pgh,pa), they ran fiber in a matter of weeks. They even left large spools of unused cable hanging around the poles. Presumably for the just in case situation. I'm waiting to see some of it on ebay soon.
I guess my point is that theoretically it's pretty straight forward - run an optical cable to my house and turn it on. But when you throw in the logistics and red tape, only a big player like verizon with lobbyists, laywers, and lots of money can really pull it off. Don't you love local government?
Yes, but the likely solution will be similar to one for foot fungus. Your body has good fungus and bad fungus. The drug companies apprently never figured out how to manufacture a drug to kill off the bad foot fungus, but they did stumble upon one that kills it all. The virus companies will likely (in my opinion), come to a similar solution. You'll probably see virus updates that remove the software and undo any good that bots did while inhabiting the system.
Yes, but it's a little odd that both articles are so similar in wording. The first paragraph is basically a cut and paste. I tend believe what you've stated. The author probably worked a lot more with win32 for the past few years and became very familiar with the API. I, on the other hand, have been working with posix threads for about 5 years now, and the idea of a signal being persistent like that seems very strange. I've become so used to writing.
pthread_mutex_lock(m); while (invariant)
pthread_cond_wait(m,c);
pthread_mutex_unlock(m);
From what it sounds like, I'd have to unset that condition in there somewhere. One other thing that I don't like is the idea of referring to objects of different types (mutexes and conditions) with the same type of "Handle". Seems to be counter to the c++ philosophy of type safety. What happens when I notify a mutex? This simply wouldn't compile using the pthread api. e.g. I couldn't write pthread_cond_notify(m) and expect that to compile.
The biggest problem I have with this new device is that it's only going to work with iTunes. I want to have a media distribution box (preferrably linux) streaming audio, video, and pictures to my tv and stereo. I don't want the vendor locking that apple is trying to accomplish.
By the way, this is the stuff that makes me want to wear a tinfoil hat. The idea of google and apple teaming up to take over our living rooms by selling a little white box, all the while the only thing consumers are thinking of is when can I get one.
I just realized that I'm reading something written by someone named Frosty Piss about two guys named coondoggie and inkslinger.
As a long-time Linux user (over 10 years) I was always in the "Windows Sucks" camp. Recently I decided to really understand windows at the level of my understanding of Linux. I just finished a 5 year stint doing Linux systems level programming with the latter 2 years doing more on BSD. After reading "Windows Systems Progamming" by Johnson Hart, I was astonished at the complexity of the windows api (win32). Things that are really straight forward with posix programming are a genuine mess with win32. The nubmer of synchronization mechanisms is overwhelming. But after a while you begin to appreciate the flexiblity that the system provides. I decided to move on and buy "Microsoft Windows Internals" by Russinovich and Solomon and am currently reading that. Again, they expose some nasty details of windows and again you'll be saying to yourself, "Oh my god, they over engineered the shit out of this thing." But they continually bring up what the design goals were and again you begin to appreciate what Microsoft has accomplished with windows. Of course you can't expect the system to be flawless. Linux certainly isn't. If you're a windows user, just be glad there are people like Russinovich who can actually understand the windows kernel enough so that Microsoft can continue to make improvements. If you couldn't care less about windows, then I'd still reccomend either book. If you're into Linux (or any posix-like) systems level programming, check out Johnson Hart's book. It's audience is unix converts. If you're just interested in the windows kernel or are a sys admin, check out Russinovich's book. It's really interesting.
This is a result of the way that most people are developing code. They build some huge app and then finally realize that it doesn't work because it's riddled with defects and memory leaks. What should have been taking place is the creation of small units tests which were then run under some runtime analyzer like pruify. With that said, I've used purify, insure++, and valgrind. I found insure++ to be the best. I will admint that the code runs much more slowly but I was amazed at the stuff that it found. I've never used the windows version, but you can get it for windows with dev studio integration.
I've noticed that people are using the term "parallel programming" pretty losely here. Multi-threaded programs are not necessarily what some people call "parallel programming". There are many apps that have lots of threads doing several disjoint tasks concurrently or in "parallel" if the hardware permits (>1 core). But the term "parallel programming" is usually a term reserved for high performance computing apps. This is generally a bunch of threads or forked processes all working on the same task. Very big difference from the former. I would not referr to your typical producer/consumer application as "parallel programming". You're web-browser usually has multiple threads pulling content down in "parallel", but I'm sure the microsoft developers who work on IE don't consider themselves parallel programmers. Point being. Parallel programming and multi-threaded programming aren't necessarily the same thing. Don't use the terms interchangeable. http://en.wikipedia.org/wiki/Parallel_computing http://en.wikipedia.org/wiki/Multithreading
Rick, 1 license sold equals 1 copy purchased. They can give licenses away, but it's either purchased or not. Who they sold them to isn't all that important. Sooner or later most of the licesense sold will become installed software on either a consumer or business desktop. Not too many people are going to buy a brand new dell with Vista and install XP or something else. Some will.. yes. With that said, yes, Microsoft is marketing this thing like crazy. I'd event say that they're doing a pretty good job at marketing the product. From most perspectives it "appears" that they've beaten the naysayers.
Well, you can't totally blame the providers. The local cable companies have been trying to block verizon everywhere. Verizon is required to get permits before setting up shop, and they're likely to install the fiber in locations that are going to allow them to provide both internet and cable services. Something else I really never thought about, until I saw mention of recently, was that many newer communities have underground utilities. This is obviously more difficult for verizon (or anyone else) to install. In my neighborhood (pgh,pa), they ran fiber in a matter of weeks. They even left large spools of unused cable hanging around the poles. Presumably for the just in case situation. I'm waiting to see some of it on ebay soon. I guess my point is that theoretically it's pretty straight forward - run an optical cable to my house and turn it on. But when you throw in the logistics and red tape, only a big player like verizon with lobbyists, laywers, and lots of money can really pull it off. Don't you love local government?
Wait, you mean Vista has medical billing software built-in now? Is that home or pro only?
Yes, but the likely solution will be similar to one for foot fungus. Your body has good fungus and bad fungus. The drug companies apprently never figured out how to manufacture a drug to kill off the bad foot fungus, but they did stumble upon one that kills it all. The virus companies will likely (in my opinion), come to a similar solution. You'll probably see virus updates that remove the software and undo any good that bots did while inhabiting the system.
Yes, but it's a little odd that both articles are so similar in wording. The first paragraph is basically a cut and paste. I tend believe what you've stated. The author probably worked a lot more with win32 for the past few years and became very familiar with the API. I, on the other hand, have been working with posix threads for about 5 years now, and the idea of a signal being persistent like that seems very strange. I've become so used to writing.
pthread_mutex_lock(m);
while (invariant)
pthread_cond_wait(m,c);
pthread_mutex_unlock(m);
From what it sounds like, I'd have to unset that condition in there somewhere. One other thing that I don't like is the idea of referring to objects of different types (mutexes and conditions) with the same type of "Handle". Seems to be counter to the c++ philosophy of type safety. What happens when I notify a mutex? This simply wouldn't compile using the pthread api. e.g. I couldn't write pthread_cond_notify(m) and expect that to compile.
great, you mean youtube was just promoted from website to on-demand cable channel.
The biggest problem I have with this new device is that it's only going to work with iTunes. I want to have a media distribution box (preferrably linux) streaming audio, video, and pictures to my tv and stereo. I don't want the vendor locking that apple is trying to accomplish. By the way, this is the stuff that makes me want to wear a tinfoil hat. The idea of google and apple teaming up to take over our living rooms by selling a little white box, all the while the only thing consumers are thinking of is when can I get one.
well it's obviously not an intiative started by a bunch of women.