If your developers didn't write shitty code you wouldn't need the comments. Comments are extremely useful for explaining edge cases that aren't apparent just by looking at the code so some other developer doesn't remove your changes thinking they are incorrect or explaining a configuration of an object or external service that other developers might not be familiar with. If every single line of code is unintelligible or it isn't obvious what it's doing you have way bigger problems.
Most organizations see PCI compliance as a huge annoyance. It's generally too technical for an executive to have eyes on so it falls to a technical person to enforce it. Once you get big enough merchants tend to go easier on you because it's a huge cost to be PCI compliant and they really want your business. Then shit like this happens.
If your code needs a lot of comments, then your code is not easy to read by definition. Code should be written to be easily read with small functions with names that are self explanatory as to what the code is doing. Comments are great for those little exceptions and cases where the code looks daft but has a legitimate purpose that you don't want someone else to remove, but if your code is 20% or more comments, then they are either completely unnecessary or your code is not well written.
Good code should be easy to follow with no function taking more than a minute to read and understand with meaningful names that can be trusted to do what they imply they do. Each function should ideally have 4 or less paths through the code with greater complexity being shoved into another method. Test Coverage is sexy. There is nothing that will make me hate a codebase more than when I have to dig deep down into a code base and find that one little variable that's getting set to null in some peripheral object instead of what it's supposed to be after hours of debugging.
You don't think banks have the money or the interest to support a linux distro that will be a core component of all of their ATM's. Next you'll tell me they pay taxes.
Even if you aren't a vegan and don't care about the environment it makes great economic sense. Animal protein is expensive and wasteful to produce. If a vegan option can mimic what is a fairly plain tasting foodstuff, then the cost savings on a lot of dishes and processed foods would be huge.
It is taking away exactly the key features that languages like Java have that make them ideal for business logic. It takes away the generalist properties and ties each line of code into a database process, removing the separation of logic from implementation. It encapsulates functionality without giving access to it by tying procedural code to relationship statements rather than to actual calls, making it extremely vulnerable to the law of leaky algorithms, making it more difficult to both debug and optimize. There's no way this could actually produce scalable, stable codebase that you could use to provide a large scale solution to any business problem.
Infrastructure ceases to function and an upgrade is the cheapest long term solution.
The cost of upgrading is less than the savings in productivity, which is frequently true because manpower tends to be significantly more expensive than hardware.
Google apps aren't really that powerful, but then I've never considered any of Microsoft's office products to really be professional tools. Even in college when I wanted to produce papers I'd use some laTeX or DITA editor. Word, Excel and the rest always felt amateurish. If you're going to use poor amateurish WYSIWYG tools you might as well use the free ones.
And what did you watch on that Trinitron? Exactly. Fuck all that that resolution.
What are you really going to do with a 4K television and why is anyone going to make content at that resolution for you? No one will make content at that resolution for consumers because noone has the bandwidth to stream that kind of content. Upscaled content generally looks awful and graphics cards are always being pushed to the limit in terms of what we can render at acceptable framerates with given resolutions. Hell current gen consoles are still stuck at 30 fps at 1080p and plenty of games are pushing the hardware to the absolute limit. Even if we have 60 100 times the graphical processing power that we did ten years ago, it doesn't mean we should be using a resolution 60-100 times bigger, every improvement takes its toll(framerates, resolution, antialiasing lighting, texture quality, filtering,realworld physics offloaded to the graphics card.)
Expect your 4K monitor in a good five years or more when graphics cards are almost 20 times more powerful. Expect your 4K TV when 100Mb/s down stream fiber bundles are common place. And then barely expect it to change for a good decade after that.
We really need to know how they came up with that figure. If you have decently paid employees not able to work for 2-3 days while repaving those computers that could be a large chunk of that cost in terms of lost productivity. 3 days of 170 employees not working is almost 2 years of one employee not working. Then consider the age of the computers. For little over a third more of the cost to fix, they could get new computers, it could easily be worth it to upgrade to new computers if the original ones were old enough. The increased lifespan of new computers could alone justify the cost and the increased productivity from having up to date hardware only helps.
It's a huge problem if they selling them below their own production costs. It's a strategy to push your competitors out of a market by selling a competing product at a an unsustainable loss. When the competitor leaves the market you use your new found monopoly to ramp up the prices to extortionate rates. The outcome is almost never in the public interest.
It's probably just SC's equivalent of matchmaking and DRM. If some minor calculations were being done server side, they could probably be done on any client machine and the lack of any subscription cost with the game means they certainly didn't invest much more in server hardware than they needed to prop up their DRM scheme. In any case it was shown that no more than 40 MB were downloaded from the servers for every hour of play and unless there's some serious number crunching to produce that data that any moderately powerful dual core processor can't handle, that functionality could have been emulated for an offline mode especially if it is all based around your interactions with other players.
Piracy has never been shown to do as much damage as publishers claimed. Somehow I doubt that if each incident of piracy was a lost sale and that piracy was double digit percentage points of the userbase that we'd see recession proof growth in the video game industry. There are a multitude of reasons why each incident of piracy is not a lost sale and why pirates eventually become paying customers as well as whhy EA's DRM stances could be doing more harm to them than the piracy they're deterring. That's why people don't like EA. They're not scumbags, but they are complete morons who don't understand why what they're doing is completely absurd.
Leaky abstractions lead developers to consult resources that deal directly with their specific problem with specific solutions that have already been shown to work in practice. Most developers write documentation explaining what their APIs do, which is usually pretty obvious based on service calls, method names etc. When a developer consults documentation it is to find out why something is not working as the original author intended it to.
What documentation needs to be doing and frequently does not is explain its abstractions so that a developer can better identify the underlying problems assumptions based on those abstractions are causing. Maybe your implementation of a LinkList using an array under the cover is horribly optimized for the use I intended for it, if you documentation does not explain how it is working then that leaves 3 ways to find this out:
1. Find you and talk to you (definitely not feasible for widely used code)
2. Look at the source(needs to be open source or my company's code)
3. Find other people who have figured this out by trial and error or have experience from 1 and 2 (oh hey, that sounds a lot like what stack overflow does).
Most of development is very straight forward. Overall, the bulk of work done for something like XQuery or SQL is very simple stuff. The majority of problems that require an expert to solve have to do with those leaky abstractions, where the problem the class or api writer wanted to make disappear with their magical function is not airtight and the complexities seep through. This is where your expert needs to look under the cover and see what's really going on in order to rectify a problem. If documentation doesn't cover this then frequently the quickest way to find the information needed is to look for someone who has come across this problem before and see what worked for them.
Blizzard has become the J.J. Abrams of game developers in the last couple years. Nothing they do is risky or ambitious. As a result Diablo 3 turned into a snoozefest with no new mechanics and a loot system that was less exciting than its predecessor. They showed they can't break away from core mechanics in Starcraft 2 that were terrible for the multiplayer scene. If they were to make a DotA style game at this point, I would give an absolute vote of no confidence in their ability to turn it into a quality competitive game. Sure it'll look pretty and it'll run smooth. It'll either be well balanced and boring as hell or broken beyond all belief. They'll ignore player feedback and commit themselves to horrible design decisions.
The thing I dislike most about Blizzard right now is that they seem to think that they have bottled the formula for fun. They think that they have a perfect statistical method for determining balance while completely ignoring how their games are actually being played. What they've actually bottled is the perfect formula for average clones of prior success. So not really all that excited.
(hint: In the United States, the governments spends more per household than the median income of households)
Statistically this statement is meaningless in the context of the point you are trying to make. Go look up the difference between mean and median. Then go learn about income inequality.
Students are the ones who are to gain from IT in the class room, not professors. Easily accessible and detailed syllabus online? Professor already has it memorized. Easy access to slides and notes from classes? Doesn't help the professor. Online study material? Again, does nothing for the professor. Online submission of coursework? Professor might actually take longer to grade it or even have to print it out to hardcopy, or else learn to use a software solution to mark the paper. Professors aren't motivated to use it because it means changing their existing process and they see no direct benefit to themselves.
Are you suggesting phones with powerful processors that perform countless background processes that rival computers for five years ago use a lot of power on a regular basis? Madness. Nobody gives a shit that your non smart phone has a long battery life. Do you know how long it takes a rock to lose 50% of it's charge? Fucking never. You should swap out your phone for a rock, it's clearly superior. At a certain point people decided the trade off was worth it, or everyone would have switched back. You and every other annoying person on/. need to realize this and stop bringing up your god damn "dumb" phones in every one of these articles.
Breaking news: actions have consequences.
You seem to think that freedom of speech means "My words and actions shouldn't have any consequences."
If your developers didn't write shitty code you wouldn't need the comments. Comments are extremely useful for explaining edge cases that aren't apparent just by looking at the code so some other developer doesn't remove your changes thinking they are incorrect or explaining a configuration of an object or external service that other developers might not be familiar with. If every single line of code is unintelligible or it isn't obvious what it's doing you have way bigger problems.
Most organizations see PCI compliance as a huge annoyance. It's generally too technical for an executive to have eyes on so it falls to a technical person to enforce it. Once you get big enough merchants tend to go easier on you because it's a huge cost to be PCI compliant and they really want your business. Then shit like this happens.
If your code needs a lot of comments, then your code is not easy to read by definition. Code should be written to be easily read with small functions with names that are self explanatory as to what the code is doing. Comments are great for those little exceptions and cases where the code looks daft but has a legitimate purpose that you don't want someone else to remove, but if your code is 20% or more comments, then they are either completely unnecessary or your code is not well written.
Good code should be easy to follow with no function taking more than a minute to read and understand with meaningful names that can be trusted to do what they imply they do. Each function should ideally have 4 or less paths through the code with greater complexity being shoved into another method. Test Coverage is sexy. There is nothing that will make me hate a codebase more than when I have to dig deep down into a code base and find that one little variable that's getting set to null in some peripheral object instead of what it's supposed to be after hours of debugging.
You don't think banks have the money or the interest to support a linux distro that will be a core component of all of their ATM's. Next you'll tell me they pay taxes.
Even if you aren't a vegan and don't care about the environment it makes great economic sense. Animal protein is expensive and wasteful to produce. If a vegan option can mimic what is a fairly plain tasting foodstuff, then the cost savings on a lot of dishes and processed foods would be huge.
If a more declarative/rule based model appeals to you, you should check out Drools.
It is taking away exactly the key features that languages like Java have that make them ideal for business logic. It takes away the generalist properties and ties each line of code into a database process, removing the separation of logic from implementation. It encapsulates functionality without giving access to it by tying procedural code to relationship statements rather than to actual calls, making it extremely vulnerable to the law of leaky algorithms, making it more difficult to both debug and optimize. There's no way this could actually produce scalable, stable codebase that you could use to provide a large scale solution to any business problem.
Google apps aren't really that powerful, but then I've never considered any of Microsoft's office products to really be professional tools. Even in college when I wanted to produce papers I'd use some laTeX or DITA editor. Word, Excel and the rest always felt amateurish. If you're going to use poor amateurish WYSIWYG tools you might as well use the free ones.
Have you been living under a rock for the last 2 decades?
And what did you watch on that Trinitron? Exactly. Fuck all that that resolution.
What are you really going to do with a 4K television and why is anyone going to make content at that resolution for you? No one will make content at that resolution for consumers because noone has the bandwidth to stream that kind of content. Upscaled content generally looks awful and graphics cards are always being pushed to the limit in terms of what we can render at acceptable framerates with given resolutions. Hell current gen consoles are still stuck at 30 fps at 1080p and plenty of games are pushing the hardware to the absolute limit. Even if we have 60 100 times the graphical processing power that we did ten years ago, it doesn't mean we should be using a resolution 60-100 times bigger, every improvement takes its toll(framerates, resolution, antialiasing lighting, texture quality, filtering,realworld physics offloaded to the graphics card.)
Expect your 4K monitor in a good five years or more when graphics cards are almost 20 times more powerful. Expect your 4K TV when 100Mb/s down stream fiber bundles are common place. And then barely expect it to change for a good decade after that.
We really need to know how they came up with that figure. If you have decently paid employees not able to work for 2-3 days while repaving those computers that could be a large chunk of that cost in terms of lost productivity. 3 days of 170 employees not working is almost 2 years of one employee not working. Then consider the age of the computers. For little over a third more of the cost to fix, they could get new computers, it could easily be worth it to upgrade to new computers if the original ones were old enough. The increased lifespan of new computers could alone justify the cost and the increased productivity from having up to date hardware only helps.
It's a huge problem if they selling them below their own production costs. It's a strategy to push your competitors out of a market by selling a competing product at a an unsustainable loss. When the competitor leaves the market you use your new found monopoly to ramp up the prices to extortionate rates. The outcome is almost never in the public interest.
It's probably just SC's equivalent of matchmaking and DRM. If some minor calculations were being done server side, they could probably be done on any client machine and the lack of any subscription cost with the game means they certainly didn't invest much more in server hardware than they needed to prop up their DRM scheme. In any case it was shown that no more than 40 MB were downloaded from the servers for every hour of play and unless there's some serious number crunching to produce that data that any moderately powerful dual core processor can't handle, that functionality could have been emulated for an offline mode especially if it is all based around your interactions with other players.
Piracy has never been shown to do as much damage as publishers claimed. Somehow I doubt that if each incident of piracy was a lost sale and that piracy was double digit percentage points of the userbase that we'd see recession proof growth in the video game industry. There are a multitude of reasons why each incident of piracy is not a lost sale and why pirates eventually become paying customers as well as whhy EA's DRM stances could be doing more harm to them than the piracy they're deterring. That's why people don't like EA. They're not scumbags, but they are complete morons who don't understand why what they're doing is completely absurd.
Leaky abstractions lead developers to consult resources that deal directly with their specific problem with specific solutions that have already been shown to work in practice. Most developers write documentation explaining what their APIs do, which is usually pretty obvious based on service calls, method names etc. When a developer consults documentation it is to find out why something is not working as the original author intended it to.
What documentation needs to be doing and frequently does not is explain its abstractions so that a developer can better identify the underlying problems assumptions based on those abstractions are causing. Maybe your implementation of a LinkList using an array under the cover is horribly optimized for the use I intended for it, if you documentation does not explain how it is working then that leaves 3 ways to find this out:
Most of development is very straight forward. Overall, the bulk of work done for something like XQuery or SQL is very simple stuff. The majority of problems that require an expert to solve have to do with those leaky abstractions, where the problem the class or api writer wanted to make disappear with their magical function is not airtight and the complexities seep through. This is where your expert needs to look under the cover and see what's really going on in order to rectify a problem. If documentation doesn't cover this then frequently the quickest way to find the information needed is to look for someone who has come across this problem before and see what worked for them.
I'm not usually one to complain about the broadness of these ask slashdot questions, but this one essentially boils down to furniture advice.
Blizzard has become the J.J. Abrams of game developers in the last couple years. Nothing they do is risky or ambitious. As a result Diablo 3 turned into a snoozefest with no new mechanics and a loot system that was less exciting than its predecessor. They showed they can't break away from core mechanics in Starcraft 2 that were terrible for the multiplayer scene. If they were to make a DotA style game at this point, I would give an absolute vote of no confidence in their ability to turn it into a quality competitive game. Sure it'll look pretty and it'll run smooth. It'll either be well balanced and boring as hell or broken beyond all belief. They'll ignore player feedback and commit themselves to horrible design decisions.
The thing I dislike most about Blizzard right now is that they seem to think that they have bottled the formula for fun. They think that they have a perfect statistical method for determining balance while completely ignoring how their games are actually being played. What they've actually bottled is the perfect formula for average clones of prior success. So not really all that excited.
I wouldn't use MS Office if it were free.
(hint: In the United States, the governments spends more per household than the median income of households)
Statistically this statement is meaningless in the context of the point you are trying to make. Go look up the difference between mean and median. Then go learn about income inequality.
Students are the ones who are to gain from IT in the class room, not professors. Easily accessible and detailed syllabus online? Professor already has it memorized. Easy access to slides and notes from classes? Doesn't help the professor. Online study material? Again, does nothing for the professor. Online submission of coursework? Professor might actually take longer to grade it or even have to print it out to hardcopy, or else learn to use a software solution to mark the paper. Professors aren't motivated to use it because it means changing their existing process and they see no direct benefit to themselves.
Are you suggesting phones with powerful processors that perform countless background processes that rival computers for five years ago use a lot of power on a regular basis? Madness. Nobody gives a shit that your non smart phone has a long battery life. Do you know how long it takes a rock to lose 50% of it's charge? Fucking never. You should swap out your phone for a rock, it's clearly superior. At a certain point people decided the trade off was worth it, or everyone would have switched back. You and every other annoying person on /. need to realize this and stop bringing up your god damn "dumb" phones in every one of these articles.