You can have a reaction to nearly anything you can stick in your body. So nothing's 100% safe. The debate is always at the "is it the norm of the exception" point.
Not sure about the method, but its the only way. Really, as a general rule, even for things that are part of the criminal code and even felony, only socially unacceptable things aren't done on a daily basis. Kiddy rape -> socially unacceptable. Illegal immigration (also a felony) -> socially ACCEPTABLE. Piracy -> Socially VERY acceptable. Working under the table -> 50/50, depends who you hang out with.
And so on and so on. If something is legal or not often has very little effects on if people care or not (and I guess it makes sense... laws are probably supposed to some extent to represent what people think, on top of protecting minitories and other edge cases)
Devil May Cry 4 on PC will use 4 cores (actually, the performance difference between dual core and quad is quite extreme, and I beleive its designed to use more than 4). It doesn't change the validity of your argument, but just saying there ARE some:)
iTunes, Quicktime, and Safari are all capable and useful software products for Windows
iTunes and Quicktime, along with the major anti-virus (McAfee, Norton), are the source of a large chunk of the complains you'll get about Windows. The difference in the stability of the OS and the experience are major before and after. Quicktime STILL tries to hijack PNG rendering in IE, and it totally ignores when you tell it to return things to normal (the option is THERE, it just ignores it). iTunes install some system drivers (that it seriously shouldn't need) that sometimes can make the file explorer slower or even unstable (not as bad in Vista, quite bad in XP). Lots of conflicts (which you may or may not see depending on which software you use), and all around makes things slower in general, and do some stuff really weird.
They're easily in the top 20 worse pieces of Windows software currently (that is, when compared to current versions, and ignoring stuff from the past), up there with Norton, AOL, etc. They work fine on Mac as far as I can tell, but on Windows...ewww. Just ewww. Sometimes I wonder if Apple does it on purpose... since now virtually EVERYONE has itune installed... helps gain arguments to make em switch to MacOSX
Functional programming isn't faster in a multi-core environment per say. What makes it better for multi-core programming, is that through functional programming, it is easier for a non-human entity (read: the compiler) to defer your -intent- from your code. Once the compiler, and more so, the runtime, know your intent, it can do the heavy lifting to make your code work in parallel, which is easier than the alternative (manage and spawn threads on your own, the efficiency of which depends on the hardware, so you'd always have to test how many core are present, how many are available at under which load, etc...no fun).
So by moving some stuff on to functional programming, we can tend work on compilers and frameworks/runtimes that will take said code, and do whats best on the given platform to make it go fast, which, while possible, is much much more difficult using procedural.
An example off hand is Microsoft's Parallel LINQ. LINQ is just fancy syntax sugar over functional programming., and it lets you turn, by adding basically one method, any LINQ code to parallel code, adjusting itself to current system load and amount of cores. mylist.Select( o => DoSomething(o)) simply becomes mylist.AsParallel().Select( o => DoSomething(o)), and poof, you're now calling DoSomething on every element of mylist, in parallel, spreading the load as well as possible.
Now this is a simple example, and there IS equivalent syntax sugar to turn a normal For loop in parallel code... but with functional programming, you can push it further.
Roaming profiles still leave the administrator roaming from box to box to do updates of the OS
Err what? You mean the administrator goes to the admin console, click a button, and all the machines (or part of them, as he/she prefers) get updated. I have a feeling you may be meaning something else, because updating machines from box to box is absurd, regardless of OS.
Hey, i'm not trying to convince you of anything. I was just saying that what I was refering to couldn't be done before WinServer 2008 (in Windows land. Of course it could be done in Unix since the dawn of time).
Fortunately for me, by luck or not, I never had any issues with it, (since 2k and the standard terminal service). Good thing too, since most of my machines are headless, so I'd be in trouble! Use it with the VMs too.
Not what I was refering to. Windows Server 2008 has a new feature that works a bit like X11. It is still RDP based, but you only remote the apps you want, not the entire desktop (and you can integrate those apps in the start menu and stuff as you wish, so it really feels like the app is local).
On a local network, the experience is really like if the app was running locally (including modal windows and stuff).
I did that 1999~ on Windows NT 4.0. We had an image (with all approved legit software) on a lap-top harddrive for the smartbay. You could take any machine, stick the harddrive in the smartbay, copy the data, hook it up on the network and it "just worked".
Ok, you had to change the machine name. Maybe with your method you didn't have to do anything at all in Unix. So I guess it is simpler by 15 seconds and a reboot. I now bow down to the superiority of Unix.
The only difference is that in Linux, as long as the/home directory is mapped, you get all your settings and everything you installed in home. In Windows, you can map the user directory, so you get everything that doesn't need the registery right there, so a lot of app's settings, and your documents. The only thing missing is the registery, and thats just done by using roaming user profiles on the domain, which is one of the basic features.
So why exactly "can't I do it on Windows"? You -do- know that HKEY_CURRENT_USER can be roaming, yes?
On home network its a little more awkward, but in corporate environment, this is common and easy to do with Windows too. Its not auto-magical as it is with Linux, but still. Even at home, my User directory, and my user-specific settings are shared with a Windows Home Server, so I can go on any computer in the house and have access to my stuff.
Now, a little bit of configuration with a Windows Domain, and the registery settings and login stuff will follow. At work, I can go to any machine, and things follow. The only thing missing is that in Linux/Unix, 99% of software can be -installed- in your home directory, in Windows, many can, but not all. Aside that though, everything can be made not to be tied to the physical machine no problem. Windows wouldn't be a viable corporate platform without it.
If in Windows you really need the software to follow, for anything aside games, you can use Windows Server 2008's X11-like feature that allows you to remote app GUIs, and just install it on the server, problem solved.
These things are targeted at developer a lot more than they are at end user. So the difference? You can use your java background and existing java code (to some extent). More or less the same use case as Silverlight (except silverlight is a subset-like version of the already relatively used WPF framework...not sure if JavaFX has its root in something thats already adopted)
Just don't be an idiot and you're safe 99.9999% of the time. I mean, I've been running Windows since 1999 (no, I'm not 16 years old, I was just raised in a family too poor to get a computer, hehe), no anti-virus, no firewall (aside for a NAT router starting quite a few years later), and I never got a virus while using it! Wow! Must mean Windows is SOOOOOOOOOOOOOOOOOOOOO secure!
If you're a moron though...and I send you a Linux executable that will give me root access to your machine, with instruction saying "First, open a console, type sudo and...", well, you're gonna get owned. That is actually how the large majority of people on Windows get infected. Have you seen some of the spam/viruses targeting Vista?
I've received some with instructions on how to go through UAC while installing "amazing new smilies!", including images on how to enter the admin password and how its super important. No home-targeted operating system can survive that.
yeah, if you force my law to use this technology as an implant in all teenage girls, you can basically eliminate the need for coal/fossil fuel/nuclear fuel/etc in power plans of north america as a whole.
Because more people tried it, not everyone who tried it actually liked it, so they know better about its flaws than Apple bashers of old, who were bad mouthing it from an ivory tower.
A large part of the security issues with Windows is that Windows users were trained in a world where viruses werent a big threat. Sure there was the occasional malware, but back in the days, people barely ever had the internet, nevermind downloading viruses for it.
I think that will be the downfall of Apple security eventually. Linux users tend to take security a bit more seriously. Windows users are starting to. Apple users? Nada. They stick their fingers in their ears and go "LALALA IM NOT USING WINDOWS LAlALALA". Once a new attack vector is discovered that can target OSX "by design" (think ActiveX, but more subtle), things are going to go downhill from there, and Apple users will be totally unprepared for it.
Actually no, since there ARE caucasians that are lactose intolerant and need glasses, I was obviously generalizing. In my generalization, I decided it would be convenient to take a particular sample of one: in other words, me. Thus the little bit about a penalty to humility.
Seems like you have been mislead on a lot of concepts. Design patterns have ZERO (or very little) with the implementation. What they are about, is the intent. If most fresh college hires you see don't know Strategy, its time you look at hiring from different colleges, it is fairly standard, especially in software engineering degrees (a lot less in purist computer science schools, I'll admit).
Btw, while it is a possible implementation, it is actually uncommon (and not desirable) to implement Strategy by passing a function to a method, as that doesn't allow for a good upgrade path of the API (which is what Strategy is about).
Finally, not all good GUI code is MVC, far from it actually, as it doesn't apply well to event driven and composite application (the former is a large amount of desktop application, the later is also a lot of desktop application, and some heavily customizable web application package), in which case, one (out of many) prefered pattern is MVP, as MVC doesn't play well with the existing APIs and framework.
Finally, very few design patterns are "work around some limitations of C++", because, a gain, design patterns have nothing to do with the implementation, but everything to do with communication and intent. So Singleton in Ruby is actually built in, so you don't need to implement it at all. The concept of Singleton is still there when you talk about it. Observer in.NET doesn't need to be implemented, it is built in (multi-cast delegates). If your intent is to use Observer, thats still what is commonly talked about. And so on and so on.
They are more prevalent in certain fields than others, too. If you take a typical team that works on device drivers full time, you'll probably never find someone who has heard (much) about them, thats understandable.
That's because elves live for a thousand years and dwarves have darkvision.
So-called "races" don't have intrinsic differences.
Are you sure about that? Look at the percentage of south africans and chinese who are lactose intolerant, and asians who are near sighted.
So well...
Race: Caucasian No stat bonus or penalty Racial ability at level 1: Able to see more than 3 feets away without contacts. Racial ability at level 3: can digest milk even after reaching level 4
The caucasian also has -1 * Charisma modifier to the "Humility" skill.
Are they? I may be wrong, but I was under the impression that species were classified in accordance to their breeding compatibility... and in most fantasy settings, you can have half elves and half orcs, for example, which are made from mixing these with humans, so you end up with a messed up circular-species-alike situation, where you have A, B and C, A and B can breed, A and C can too, but B and C cannot... what a pain!
Same system in north america, with the same result in areas where using a cellphone make you lose points (at least here you have points and you lose them, instead of gaining points =P Same idea).
I saw once on the street a cop that caught someone driving while talking on the phone (in metropolitan areas, on big boulevards or small highways, I'd say its something like 1 car out of 20, even if there's a cop following them), and the person didn't stop, didn't pull on the side, just waved at the cop, and nothing happen. They didn't even lose their 2 points.
So I'll agree, at this point its all about the rocket launchers.
I see. I interpreted your original post (this is Slashdot, after all...it gets to you after a few years) as "people have been using CBs forever, why are we caring about this stuff NOW?!", thus my previous reaction.
if I had to make a guess though, I'd dare say cellphones are probably much, MUCH worse... people "lose themselves" in the conversations.
Design patterns ARE obvious ideas. They're just obvious ideas people agreed upon and put into books. They're not standards of the ISO/Ansi type, they're just heavily agreed upon. Call it a convention, if you will. They're not used as a "cookbook" solution to problem: they're used so we can communicate common ways of structuting code better.
For example, it is much easier to say "I implemented the picture processing code of images using the Strategy pattern" than to say "I implemented the picture processing code of my images using an algorythm that takes an object in parameter which implements a specific, common interface which involves a particular method that will handle the format-specific processing which will allow us to more easily plug in new formats in the future". Design patterns make up a vocabulary thats commonly agreed upon, thats language agnostic, that is very often taught in schools, etc etc etc.
Until people started taking MVC as anything involving a model, a view and a controller, I could say "MVC model 2" to anyone (in the know), and knew -exactly- what I meant. Not anymore in this case (thus this article), but it still holds true for the core design patterns as described in most design pattern books, the most well known being "Design Patterns: Elements of Reusable Object-Oriented Software", which is one of the most well known references in software development and architecture. But if I look up "Adapter design pattern" on Wikipedia, in my "Design Pattern with C# 3.0" book, in the book I described above, or in my best buddy's university notes (who went to a different college as me), it all described the -exact- same thing.
No one cares about devices that a small percentage of population use. Plus, a large amounts of them are truck drivers, and depending on where you live, those people are heavily audited/supervised and their jobs are on the line at the slightest mistake (well, depending on how annoying their union are).
The issue with cellphones is that its almost impossible to look out on the street and NOT see someone driving with a cellphone to his/her ear, and I live in a region where thats illegal! Imagine where its not!
Like with most all other problematic bad habits, its never an issue until a significant chunk of people do it.
You can have a reaction to nearly anything you can stick in your body. So nothing's 100% safe. The debate is always at the "is it the norm of the exception" point.
Not sure about the method, but its the only way. Really, as a general rule, even for things that are part of the criminal code and even felony, only socially unacceptable things aren't done on a daily basis. Kiddy rape -> socially unacceptable. Illegal immigration (also a felony) -> socially ACCEPTABLE. Piracy -> Socially VERY acceptable. Working under the table -> 50/50, depends who you hang out with.
And so on and so on. If something is legal or not often has very little effects on if people care or not (and I guess it makes sense... laws are probably supposed to some extent to represent what people think, on top of protecting minitories and other edge cases)
Devil May Cry 4 on PC will use 4 cores (actually, the performance difference between dual core and quad is quite extreme, and I beleive its designed to use more than 4). It doesn't change the validity of your argument, but just saying there ARE some :)
iTunes and Quicktime, along with the major anti-virus (McAfee, Norton), are the source of a large chunk of the complains you'll get about Windows. The difference in the stability of the OS and the experience are major before and after. Quicktime STILL tries to hijack PNG rendering in IE, and it totally ignores when you tell it to return things to normal (the option is THERE, it just ignores it). iTunes install some system drivers (that it seriously shouldn't need) that sometimes can make the file explorer slower or even unstable (not as bad in Vista, quite bad in XP). Lots of conflicts (which you may or may not see depending on which software you use), and all around makes things slower in general, and do some stuff really weird.
They're easily in the top 20 worse pieces of Windows software currently (that is, when compared to current versions, and ignoring stuff from the past), up there with Norton, AOL, etc. They work fine on Mac as far as I can tell, but on Windows...ewww. Just ewww. Sometimes I wonder if Apple does it on purpose... since now virtually EVERYONE has itune installed... helps gain arguments to make em switch to MacOSX
Functional programming isn't faster in a multi-core environment per say. What makes it better for multi-core programming, is that through functional programming, it is easier for a non-human entity (read: the compiler) to defer your -intent- from your code. Once the compiler, and more so, the runtime, know your intent, it can do the heavy lifting to make your code work in parallel, which is easier than the alternative (manage and spawn threads on your own, the efficiency of which depends on the hardware, so you'd always have to test how many core are present, how many are available at under which load, etc...no fun).
So by moving some stuff on to functional programming, we can tend work on compilers and frameworks/runtimes that will take said code, and do whats best on the given platform to make it go fast, which, while possible, is much much more difficult using procedural.
An example off hand is Microsoft's Parallel LINQ. LINQ is just fancy syntax sugar over functional programming., and it lets you turn, by adding basically one method, any LINQ code to parallel code, adjusting itself to current system load and amount of cores. mylist.Select( o => DoSomething(o)) simply becomes mylist.AsParallel().Select( o => DoSomething(o)), and poof, you're now calling DoSomething on every element of mylist, in parallel, spreading the load as well as possible.
Now this is a simple example, and there IS equivalent syntax sugar to turn a normal For loop in parallel code... but with functional programming, you can push it further.
Thats all there is to it.
Err what? You mean the administrator goes to the admin console, click a button, and all the machines (or part of them, as he/she prefers) get updated. I have a feeling you may be meaning something else, because updating machines from box to box is absurd, regardless of OS.
Hey, i'm not trying to convince you of anything. I was just saying that what I was refering to couldn't be done before WinServer 2008 (in Windows land. Of course it could be done in Unix since the dawn of time).
Fortunately for me, by luck or not, I never had any issues with it, (since 2k and the standard terminal service). Good thing too, since most of my machines are headless, so I'd be in trouble! Use it with the VMs too.
Not what I was refering to. Windows Server 2008 has a new feature that works a bit like X11. It is still RDP based, but you only remote the apps you want, not the entire desktop (and you can integrate those apps in the start menu and stuff as you wish, so it really feels like the app is local).
On a local network, the experience is really like if the app was running locally (including modal windows and stuff).
The irony.
I did that 1999~ on Windows NT 4.0. We had an image (with all approved legit software) on a lap-top harddrive for the smartbay. You could take any machine, stick the harddrive in the smartbay, copy the data, hook it up on the network and it "just worked".
Ok, you had to change the machine name. Maybe with your method you didn't have to do anything at all in Unix. So I guess it is simpler by 15 seconds and a reboot. I now bow down to the superiority of Unix.
The only difference is that in Linux, as long as the /home directory is mapped, you get all your settings and everything you installed in home. In Windows, you can map the user directory, so you get everything that doesn't need the registery right there, so a lot of app's settings, and your documents. The only thing missing is the registery, and thats just done by using roaming user profiles on the domain, which is one of the basic features.
So why exactly "can't I do it on Windows"? You -do- know that HKEY_CURRENT_USER can be roaming, yes?
On home network its a little more awkward, but in corporate environment, this is common and easy to do with Windows too. Its not auto-magical as it is with Linux, but still. Even at home, my User directory, and my user-specific settings are shared with a Windows Home Server, so I can go on any computer in the house and have access to my stuff.
Now, a little bit of configuration with a Windows Domain, and the registery settings and login stuff will follow. At work, I can go to any machine, and things follow. The only thing missing is that in Linux/Unix, 99% of software can be -installed- in your home directory, in Windows, many can, but not all. Aside that though, everything can be made not to be tied to the physical machine no problem. Windows wouldn't be a viable corporate platform without it.
If in Windows you really need the software to follow, for anything aside games, you can use Windows Server 2008's X11-like feature that allows you to remote app GUIs, and just install it on the server, problem solved.
These things are targeted at developer a lot more than they are at end user. So the difference? You can use your java background and existing java code (to some extent). More or less the same use case as Silverlight (except silverlight is a subset-like version of the already relatively used WPF framework...not sure if JavaFX has its root in something thats already adopted)
Just don't be an idiot and you're safe 99.9999% of the time. I mean, I've been running Windows since 1999 (no, I'm not 16 years old, I was just raised in a family too poor to get a computer, hehe), no anti-virus, no firewall (aside for a NAT router starting quite a few years later), and I never got a virus while using it! Wow! Must mean Windows is SOOOOOOOOOOOOOOOOOOOOO secure!
If you're a moron though...and I send you a Linux executable that will give me root access to your machine, with instruction saying "First, open a console, type sudo and...", well, you're gonna get owned. That is actually how the large majority of people on Windows get infected. Have you seen some of the spam/viruses targeting Vista?
I've received some with instructions on how to go through UAC while installing "amazing new smilies!", including images on how to enter the admin password and how its super important. No home-targeted operating system can survive that.
yeah, if you force my law to use this technology as an implant in all teenage girls, you can basically eliminate the need for coal/fossil fuel/nuclear fuel/etc in power plans of north america as a whole.
That would be awesome.
Because more people tried it, not everyone who tried it actually liked it, so they know better about its flaws than Apple bashers of old, who were bad mouthing it from an ivory tower.
Simple as that, IMO.
A large part of the security issues with Windows is that Windows users were trained in a world where viruses werent a big threat. Sure there was the occasional malware, but back in the days, people barely ever had the internet, nevermind downloading viruses for it.
I think that will be the downfall of Apple security eventually. Linux users tend to take security a bit more seriously. Windows users are starting to. Apple users? Nada. They stick their fingers in their ears and go "LALALA IM NOT USING WINDOWS LAlALALA". Once a new attack vector is discovered that can target OSX "by design" (think ActiveX, but more subtle), things are going to go downhill from there, and Apple users will be totally unprepared for it.
Actually no, since there ARE caucasians that are lactose intolerant and need glasses, I was obviously generalizing. In my generalization, I decided it would be convenient to take a particular sample of one: in other words, me. Thus the little bit about a penalty to humility.
Seems like you have been mislead on a lot of concepts. Design patterns have ZERO (or very little) with the implementation. What they are about, is the intent. If most fresh college hires you see don't know Strategy, its time you look at hiring from different colleges, it is fairly standard, especially in software engineering degrees (a lot less in purist computer science schools, I'll admit).
Btw, while it is a possible implementation, it is actually uncommon (and not desirable) to implement Strategy by passing a function to a method, as that doesn't allow for a good upgrade path of the API (which is what Strategy is about).
Finally, not all good GUI code is MVC, far from it actually, as it doesn't apply well to event driven and composite application (the former is a large amount of desktop application, the later is also a lot of desktop application, and some heavily customizable web application package), in which case, one (out of many) prefered pattern is MVP, as MVC doesn't play well with the existing APIs and framework.
Finally, very few design patterns are "work around some limitations of C++", because, a gain, design patterns have nothing to do with the implementation, but everything to do with communication and intent. So Singleton in Ruby is actually built in, so you don't need to implement it at all. The concept of Singleton is still there when you talk about it. Observer in .NET doesn't need to be implemented, it is built in (multi-cast delegates). If your intent is to use Observer, thats still what is commonly talked about. And so on and so on.
They are more prevalent in certain fields than others, too. If you take a typical team that works on device drivers full time, you'll probably never find someone who has heard (much) about them, thats understandable.
Are you sure about that? Look at the percentage of south africans and chinese who are lactose intolerant, and asians who are near sighted.
So well...
Race: Caucasian
No stat bonus or penalty
Racial ability at level 1: Able to see more than 3 feets away without contacts.
Racial ability at level 3: can digest milk even after reaching level 4
The caucasian also has -1 * Charisma modifier to the "Humility" skill.
Are they? I may be wrong, but I was under the impression that species were classified in accordance to their breeding compatibility... and in most fantasy settings, you can have half elves and half orcs, for example, which are made from mixing these with humans, so you end up with a messed up circular-species-alike situation, where you have A, B and C, A and B can breed, A and C can too, but B and C cannot... what a pain!
Same system in north america, with the same result in areas where using a cellphone make you lose points (at least here you have points and you lose them, instead of gaining points =P Same idea).
I saw once on the street a cop that caught someone driving while talking on the phone (in metropolitan areas, on big boulevards or small highways, I'd say its something like 1 car out of 20, even if there's a cop following them), and the person didn't stop, didn't pull on the side, just waved at the cop, and nothing happen. They didn't even lose their 2 points.
So I'll agree, at this point its all about the rocket launchers.
I see. I interpreted your original post (this is Slashdot, after all...it gets to you after a few years) as "people have been using CBs forever, why are we caring about this stuff NOW?!", thus my previous reaction.
if I had to make a guess though, I'd dare say cellphones are probably much, MUCH worse... people "lose themselves" in the conversations.
Design patterns ARE obvious ideas. They're just obvious ideas people agreed upon and put into books. They're not standards of the ISO/Ansi type, they're just heavily agreed upon. Call it a convention, if you will. They're not used as a "cookbook" solution to problem: they're used so we can communicate common ways of structuting code better.
For example, it is much easier to say "I implemented the picture processing code of images using the Strategy pattern" than to say "I implemented the picture processing code of my images using an algorythm that takes an object in parameter which implements a specific, common interface which involves a particular method that will handle the format-specific processing which will allow us to more easily plug in new formats in the future". Design patterns make up a vocabulary thats commonly agreed upon, thats language agnostic, that is very often taught in schools, etc etc etc.
Until people started taking MVC as anything involving a model, a view and a controller, I could say "MVC model 2" to anyone (in the know), and knew -exactly- what I meant. Not anymore in this case (thus this article), but it still holds true for the core design patterns as described in most design pattern books, the most well known being "Design Patterns: Elements of Reusable Object-Oriented Software", which is one of the most well known references in software development and architecture. But if I look up "Adapter design pattern" on Wikipedia, in my "Design Pattern with C# 3.0" book, in the book I described above, or in my best buddy's university notes (who went to a different college as me), it all described the -exact- same thing.
Hope that answer your question.
No one cares about devices that a small percentage of population use. Plus, a large amounts of them are truck drivers, and depending on where you live, those people are heavily audited/supervised and their jobs are on the line at the slightest mistake (well, depending on how annoying their union are).
The issue with cellphones is that its almost impossible to look out on the street and NOT see someone driving with a cellphone to his/her ear, and I live in a region where thats illegal! Imagine where its not!
Like with most all other problematic bad habits, its never an issue until a significant chunk of people do it.