You're attitude is exactly the reason why the vast majority of software projects shoot past deadlines and budget, and result in shockingly substandard quality products.
You really think these "rules" are just some form of elitism? Best practises have come about after decades of learning from past mistakes. They are there to help improve programmer efficiency, improve teamwork, improve product quality and maintainability. I've lost track of the number of times where I have personally seen someone take some kind of shortcut to "save time", only to have it bite them in the ass later and require hours if not days to fix.
So if you honestly think that you're too good to have to subject yourself to something inconvenient like "Rules" and "Best Practises", then please do everyone else a favour and stay away from anything even vaguely resembling programming. You'll be doing the rest of us a huge favour.
Personally, I see no problem with this, because using i, j, k have been used as iteration variables for decades. In fact, I have never once seen a classic example of iteration that *doesn't* use them.
I do get upset when I see idiotic articles like this. It implies that these "habits" are acceptable, when in fact they should be avoided unless you have a very good and specific reason to do so. For things like documentation, there is NO conceivable excuse to justify being so lazy as to not being willing to add a quick blurb about what your routine does, *especially* when it's doing something unusual.
Anyone who thinks that the habits in that article, are acceptable in day to day coding, is an asshole who shouldn't be allowed near a keyboard. People who do this arn't clever. They are people who just don't care about the quality of their work.
These are the habits that guarantee difficult, if not impossible, to maintain code that some poor sucker later on has to deal with, and I dare you to find one single veteran programmer who has been on the recieving end of such a monstrosity, to say otherwise.
Sometimes there may be a very good reason to use a goto, or to roll your own version of an already existing data structure. But if there is, you *damn* well better document why you did that. It doesn't matter if your code is "self documenting". If there is any reason at all that you broke convention, then you owe it to the next person down the line (who, I should add, may well be yourself a year later) to at least add a single sentence comment to explain why you did that.
How much time do you save by not explicitly typing a variable? A few seconds? You must feel so smart and efficient! Especially when you piss away 3 hours debugging a routine that did an type conversion into a result you weren't expecting?
This isn't about having perfect code. It's about sanity. It's about giving yourself and others a fighting chance when you're down to the deadline and marketing insists that these 15 additional features must be included. Having to fight your own code when you're under pressure does nothing but increase the chances of making even more mistakes, and possibly having your project showcased on http://thedailywtf.com/ as a warning to others.
Yes, other servers are now MUCH more picky today about who they accept mail from, compared to a couple of decades ago. Sometimes it seems like recieving servers are looking for any excuse at all to reject your email. Your only option is to find and cross every possible t, THEN find and dot every possible i, to show that you are unequivocally a Good Internet Citizen.
Off the top of my head: -You need an SPF record -Make sure your server is configured with forward domain AND a reverse domain. The only way to do the latter is to talk to your ISP and get them to do it for you. -Make sure your server speaks all the appropriate SMTP lingo, such as making sure your HELO request provides your fully qualified server name, AND that server name matches your domain name/SPF records. -Make sure your server doesn't give up on the first try, as some recipients *intentionally* reject the first attempt, which admittedly is a good way of blocking a great deal of spam.
Others have mentioned DKIM. I haven't run into this particular issue.... yet. Doesn't mean that won't change in the future, and if you have the impetus to take care of that during setup, you may as well do it to save yourself future headache.
And sometimes that STILL isn't enough. I had an issue where a recipient was using some obscure anti-spam provider, and it turned out they objected to some obscure aspect of the email I was sending, even though it wasn't even an official part of the SMTP protocol. I don't remember anymore what that exact thing was, but the point is that despite thinking that you've configured everything correctly, you'll still need to roll up your sleeves and do extravagant detective work just cause one particular recipient decides they can be anal-retentive douchebags.
In cases like this, the point of the lawsuit is to punish, not to get something out of it. This behaviour harms the consumer, and the consumer has no choice but to bend over and take it because, as you've rightly pointed out, there really isn't any other option out there.
The problem is that the DoJ has already demonstrated that they have neither the teeth nor the will to do what's right. A class action lawsuit probably wouldn't even accomplish anything at this point cause (I believe) you have to be able to prove harm has been done, and IANAL so I have no idea how you would go about doing that.
Holy cow... Do you really think that the average consumer is going to have a clue on how to read that article? I mean, some of the settings require making changes directly to your registry!
That's like abandoning someone on a boat, in the middle of the ocean, with no gas and only the most basic navigation tools, but "technically" they're fine because they can just paddle to shore with their arms.
Microsoft has set a very bad precedent with this, and I don't see it improving anytime soon. All of their other privacy invading features are on by default, and some of which *cannot* be shut down unless you are using the enterprise version (cause if Microsoft tried to pull the same stunt against big business, they'd be sued into oblivion)
This whole situation is absolutely BEGGING for a class action lawsuit. Once again, Microsoft is abusing their monopoly status for their own gain.
Looks like the new boss really is just like the old boss.
Because up until fairly recently, it wasn't even considered stable. It's RAID capabilities are also still immature. Those are two very big blockers for anyone who considers not only their data, but their usable time, to be sacrosanct.
Surprises should be left for birthday parties, not servers.
Instead of spewing the usual "GMOz are teh devil!" idiocy, how about some actual facts?
1. There have been countless studies done regarding GMO crops. Not a single one has found any evidence that GMO plants are in any way harmful. 2. Monsanto's Roundup-Ready seeds were modified to protect them from Roundup, AKA Glyphosate. Without modification, Glyphosate would kill the seeds before they even had a chance to germinate. 3. Every seed is coated with the stuff, and as the plant grows, Glyphosate enfuses the entire plant, roots, stems, leaves and fruit. 4. Glyphosate is an exceedingly toxic compound. Monsanto says that by the time you're harvesting, the concentrations are so diluted as to be inconsequential. 5. Independent tests have shown that Glyphosate is a devastating compound, even at infinitesimally small concentrations, causing a wide variety of problems.
And on top of that, Monsanto squeezes Farmers for licensing fees, putting large numbers of them at the risk of bankruptcy. More than a few farmers have committed suicide from despair.
TL;DR version: -GMOs are *NOT* bad. -Glyphosate IS bad. -Monsanto are a bunch of evil fuckwits that are poisoning our food supply and destroying lives for the sake of profits.
If you're gonna be pissed off about stuff, be pissed off for the *right* reasons, otherwise you look like a fool, make the movement look foolish, and impede efforts to fix the problem.
It's unfortunate that Google gave away so much control of Android. This means pretty much all Android devices are vulnerable, and unless the user has the skill and ability to install a non-vendor version of Android (eg: cyanogenmod), then these people are screwed.
Most android device manufacturers can't be bothered to release updates for their devices, and even when they do, you may still get railroaded by the carrier, leaving a very large number of devices vulnerable to who knows how many exploits. Of course, considering that Google itself has abandoned it's own devices within months of selling them, they arn't exactly a shining example either.
I'm waiting for the IoT to turn into the BoT (Botnet of Things).
TLDR; A 'Pro' product isn't defined by some arbitrary nonsense like the number of buttons it has. It's defined by how well it does the job it is set out to do. Use the tool that matches your needs.
--- If you think the definition of "Pro" requires having a nasa-like control panel to manage the fiddly details of your equipment, then your not a professional... you're a child who only wants to impress his friends.
A professional-level device helps you get your work done with as minimal hassle as possible. A professional-level device is reliable, because the person using it is trying to get *real* work done, and doesn't want to waste time dicking around with inconsequential bullshit like whether the color of your window borders are exactly #FEFEB0, or if you can shut off the wifi using a physical toggle button.
It doesn't matter who makes the device, or . What matters is whether it does the job you need it to do, and that it does so reliably without getting in your way.
I switched to using Macs when I finally got fed up with Windows and it's utter inability to suspend/resume reliably (among other things). I had initially tried to switch to linux, multiple times, but I couldn't find a single distro that could handle suspending properly, not to mention there was no decent virtualization software to run non-linux applications on, and there were no decent alternatives on Linux that compared to stuff like Microsoft Office or Adobe products.
So I moved to using OSX and haven't looked back since. It's the perfect combination (for me) of all possible worlds. Major vendor support, good virtualization tools for when I am in a pinch and am forced to run something windows-based, but I still get all my unixy command-line goodness, etc. And everything for the most part works. I don't have this perpetual worry in the back of my head that I'm going to sit down in front of my computer one morning and my computer is completely fubared because of something I couldn't have anticipated (Like Microsoft botching yet another update).
Game support on Mac is more or less crap compared to Windows, but I'm not a big gamer so I don't really care that much.
You're attitude is exactly the reason why the vast majority of software projects shoot past deadlines and budget, and result in shockingly substandard quality products.
You really think these "rules" are just some form of elitism? Best practises have come about after decades of learning from past mistakes. They are there to help improve programmer efficiency, improve teamwork, improve product quality and maintainability. I've lost track of the number of times where I have personally seen someone take some kind of shortcut to "save time", only to have it bite them in the ass later and require hours if not days to fix.
So if you honestly think that you're too good to have to subject yourself to something inconvenient like "Rules" and "Best Practises", then please do everyone else a favour and stay away from anything even vaguely resembling programming. You'll be doing the rest of us a huge favour.
Personally, I see no problem with this, because using i, j, k have been used as iteration variables for decades. In fact, I have never once seen a classic example of iteration that *doesn't* use them.
I do get upset when I see idiotic articles like this. It implies that these "habits" are acceptable, when in fact they should be avoided unless you have a very good and specific reason to do so. For things like documentation, there is NO conceivable excuse to justify being so lazy as to not being willing to add a quick blurb about what your routine does, *especially* when it's doing something unusual.
Anyone who thinks that the habits in that article, are acceptable in day to day coding, is an asshole who shouldn't be allowed near a keyboard. People who do this arn't clever. They are people who just don't care about the quality of their work.
These are the habits that guarantee difficult, if not impossible, to maintain code that some poor sucker later on has to deal with, and I dare you to find one single veteran programmer who has been on the recieving end of such a monstrosity, to say otherwise.
Sometimes there may be a very good reason to use a goto, or to roll your own version of an already existing data structure. But if there is, you *damn* well better document why you did that. It doesn't matter if your code is "self documenting". If there is any reason at all that you broke convention, then you owe it to the next person down the line (who, I should add, may well be yourself a year later) to at least add a single sentence comment to explain why you did that.
How much time do you save by not explicitly typing a variable? A few seconds? You must feel so smart and efficient! Especially when you piss away 3 hours debugging a routine that did an type conversion into a result you weren't expecting?
This isn't about having perfect code. It's about sanity. It's about giving yourself and others a fighting chance when you're down to the deadline and marketing insists that these 15 additional features must be included. Having to fight your own code when you're under pressure does nothing but increase the chances of making even more mistakes, and possibly having your project showcased on http://thedailywtf.com/ as a warning to others.
They should have called this thing Cymothoa Exigua instead.
Yes, other servers are now MUCH more picky today about who they accept mail from, compared to a couple of decades ago. Sometimes it seems like recieving servers are looking for any excuse at all to reject your email. Your only option is to find and cross every possible t, THEN find and dot every possible i, to show that you are unequivocally a Good Internet Citizen.
Off the top of my head:
-You need an SPF record
-Make sure your server is configured with forward domain AND a reverse domain. The only way to do the latter is to talk to your ISP and get them to do it for you.
-Make sure your server speaks all the appropriate SMTP lingo, such as making sure your HELO request provides your fully qualified server name, AND that server name matches your domain name/SPF records.
-Make sure your server doesn't give up on the first try, as some recipients *intentionally* reject the first attempt, which admittedly is a good way of blocking a great deal of spam.
Others have mentioned DKIM. I haven't run into this particular issue.... yet. Doesn't mean that won't change in the future, and if you have the impetus to take care of that during setup, you may as well do it to save yourself future headache.
And sometimes that STILL isn't enough. I had an issue where a recipient was using some obscure anti-spam provider, and it turned out they objected to some obscure aspect of the email I was sending, even though it wasn't even an official part of the SMTP protocol. I don't remember anymore what that exact thing was, but the point is that despite thinking that you've configured everything correctly, you'll still need to roll up your sleeves and do extravagant detective work just cause one particular recipient decides they can be anal-retentive douchebags.
In cases like this, the point of the lawsuit is to punish, not to get something out of it. This behaviour harms the consumer, and the consumer has no choice but to bend over and take it because, as you've rightly pointed out, there really isn't any other option out there.
The problem is that the DoJ has already demonstrated that they have neither the teeth nor the will to do what's right. A class action lawsuit probably wouldn't even accomplish anything at this point cause (I believe) you have to be able to prove harm has been done, and IANAL so I have no idea how you would go about doing that.
This is exactly what we'll need if the Conservatives are voted in again.
But what does the fox say?
Holy cow... Do you really think that the average consumer is going to have a clue on how to read that article? I mean, some of the settings require making changes directly to your registry!
That's like abandoning someone on a boat, in the middle of the ocean, with no gas and only the most basic navigation tools, but "technically" they're fine because they can just paddle to shore with their arms.
"For now" is the key term here.
Microsoft has set a very bad precedent with this, and I don't see it improving anytime soon. All of their other privacy invading features are on by default, and some of which *cannot* be shut down unless you are using the enterprise version (cause if Microsoft tried to pull the same stunt against big business, they'd be sued into oblivion)
This whole situation is absolutely BEGGING for a class action lawsuit. Once again, Microsoft is abusing their monopoly status for their own gain.
Looks like the new boss really is just like the old boss.
Except that's the *point* of Steam. It's primary reason for existing is to sell games. This is how it's been since it first came to existence.
I've never had an xbox so I dunno what the point of the dashboard is, but to complain about Steam doing what it was designed to do is just silly.
Wow, with all that money coming in, that means they can reduce tuition fees, right? Right??
Because up until fairly recently, it wasn't even considered stable. It's RAID capabilities are also still immature. Those are two very big blockers for anyone who considers not only their data, but their usable time, to be sacrosanct.
Surprises should be left for birthday parties, not servers.
Wow, with all the hostile responses your post has been getting, I almost started thinking that I had joined the LKML by mistake.
Instead of spewing the usual "GMOz are teh devil!" idiocy, how about some actual facts?
1. There have been countless studies done regarding GMO crops. Not a single one has found any evidence that GMO plants are in any way harmful.
2. Monsanto's Roundup-Ready seeds were modified to protect them from Roundup, AKA Glyphosate. Without modification, Glyphosate would kill the seeds before they even had a chance to germinate.
3. Every seed is coated with the stuff, and as the plant grows, Glyphosate enfuses the entire plant, roots, stems, leaves and fruit.
4. Glyphosate is an exceedingly toxic compound. Monsanto says that by the time you're harvesting, the concentrations are so diluted as to be inconsequential.
5. Independent tests have shown that Glyphosate is a devastating compound, even at infinitesimally small concentrations, causing a wide variety of problems.
And on top of that, Monsanto squeezes Farmers for licensing fees, putting large numbers of them at the risk of bankruptcy. More than a few farmers have committed suicide from despair.
TL;DR version:
-GMOs are *NOT* bad.
-Glyphosate IS bad.
-Monsanto are a bunch of evil fuckwits that are poisoning our food supply and destroying lives for the sake of profits.
If you're gonna be pissed off about stuff, be pissed off for the *right* reasons, otherwise you look like a fool, make the movement look foolish, and impede efforts to fix the problem.
Because then it would be trivial for you to also read books that you *didn't* get from Amazon. And we can't have that, now can we?
Apple's entire marketing department would collapse in on itself into a hyperbolic black hole!
It's unfortunate that Google gave away so much control of Android. This means pretty much all Android devices are vulnerable, and unless the user has the skill and ability to install a non-vendor version of Android (eg: cyanogenmod), then these people are screwed.
Most android device manufacturers can't be bothered to release updates for their devices, and even when they do, you may still get railroaded by the carrier, leaving a very large number of devices vulnerable to who knows how many exploits. Of course, considering that Google itself has abandoned it's own devices within months of selling them, they arn't exactly a shining example either.
I'm waiting for the IoT to turn into the BoT (Botnet of Things).
Hey, I gotta afford that Macbook Pro somehow!
http://slashdot.org/comments.p...
But I will check out Robo Linux. I hadn't heard of that distro before.
*pat pat* There there.
You have the support of people who actually look at code for a living. :)
You can't take current tools and retroactively apply them to a situation from over a decade ago.
Linux Mint didn't exist. Heck, Ubuntu itself was relatively new.
VMWare workstation didn't support linux until v6.
Virtualbox was very mediocre at best.
So yeah, if I try to make the switch now, I'll probably have much better success. But then? Not even remotely.
TLDR; A 'Pro' product isn't defined by some arbitrary nonsense like the number of buttons it has. It's defined by how well it does the job it is set out to do. Use the tool that matches your needs.
---
If you think the definition of "Pro" requires having a nasa-like control panel to manage the fiddly details of your equipment, then your not a professional... you're a child who only wants to impress his friends.
A professional-level device helps you get your work done with as minimal hassle as possible. A professional-level device is reliable, because the person using it is trying to get *real* work done, and doesn't want to waste time dicking around with inconsequential bullshit like whether the color of your window borders are exactly #FEFEB0, or if you can shut off the wifi using a physical toggle button.
It doesn't matter who makes the device, or . What matters is whether it does the job you need it to do, and that it does so reliably without getting in your way.
I switched to using Macs when I finally got fed up with Windows and it's utter inability to suspend/resume reliably (among other things). I had initially tried to switch to linux, multiple times, but I couldn't find a single distro that could handle suspending properly, not to mention there was no decent virtualization software to run non-linux applications on, and there were no decent alternatives on Linux that compared to stuff like Microsoft Office or Adobe products.
So I moved to using OSX and haven't looked back since. It's the perfect combination (for me) of all possible worlds. Major vendor support, good virtualization tools for when I am in a pinch and am forced to run something windows-based, but I still get all my unixy command-line goodness, etc. And everything for the most part works. I don't have this perpetual worry in the back of my head that I'm going to sit down in front of my computer one morning and my computer is completely fubared because of something I couldn't have anticipated (Like Microsoft botching yet another update).
Game support on Mac is more or less crap compared to Windows, but I'm not a big gamer so I don't really care that much.
So let me get this straight...
First they downloaded a dodgy version of a free development tool...
Then they completely disabled Gatekeeper, which would have warned them that they were using a problematic version of xcode...
People/Companies who demonstrate such a shockingly poor level of judgement shouldn't be allowed to flip burgers, let alone be near a computer.