How about, instead of auto-tagging flashing adverts to allow some people to opt-out of them, people can just not make annoying adverts, much like avoiding the <blink> tag even if it's still supported?
By the way, I've just googled 'blink tag' and the result is quite amusing (if you don't suffer from epilepsy, that is).
I wonder what made you post a reply that has nothing to do with the post you're replying to. Is it just to hang your post high enough in the tree to get noticed?
I think the point is that you don't win a 100m race by running 90m and then arguing about the exact definition of a metre.
It's an incredible feat to squeeze any variant of chess into 487 bytes, but if you're going to compare apples to apples and maintain a record, the games should follow the same rules.
And I disagree with that. Why would the expectation be to work overtime? My expectation is not to work overtime. My expectation is to be paid for the time I work, and then go home and not work (and not get paid for that time). I think it's a reasonable expectation. If the result of such a law is that I earn less money, I'm allowed to accept that and settle for a lower salary in return for my personal time. Maybe many people think like you, and maybe many people think like me.
But such a law would give me a choice. Yes, I could decide to work overtime and make up for the lower salary (but at least get paid for my work), or I could decide not to. Currently it's either free overtime or no job.
If I understand correctly, what you're saying is "the industry is bad, but it couldn't exist otherwise".
Isn't that the same as a factory that uses slave labour? If it didn't have slaves, it wouldn't be profitable and would fold. If the factory folded, you wouldn't be able to buy the ivory chess sets it was making. Paying for the skill required to make the chess sets is too expensive for the factory. Therefore it's OK to have slavery.
Slavery is great, but it was outlawed. Any company that depended on slave labour - folded. And that's a good thing. And we're still here, and we can live without ivory chess sets made by slaves.
(Note: I wish slave labour was gone from the world - it's still used in many parts of the world. But I'm not sure "the company would fold" or "if you live in this country you can expect to be a slave" are good excuses for it).
In other words, personally I could live without AAA titles made by slaves. There are a few game companies that somehow manage to make good games without killing their staff.
But seriously, isn't it better to see what's wrong and ask how the worse-looking risks are mitigated? I guess the answer is about the general business culture, i.e. whether you're more likely to lose your job when the shit hits the fan if you say "I made an information-based decision and unfortunately the risk materialised" than if you say "I know nuffin'... they said there were no bugs".
Personally I'd get rid of a buyer who gave me the second answer, but I that's just me.
There's no point in acting all surprised about it. All the planning charts and demolition orders have been on display at your local planning department in Alpha Centauri for fifty of your Earth years so you've had plenty of time to lodge any formal complaints and its far too late to start making a fuss about it now.
Come on, can't you just let someone be condescending without replying with a perfectly reasonable explanation? He gets to feel superior, you get to mumble something about idiots and reading comprehension, it's a win-win in my book.
Whether or not you want to trust a card given by the government is one thing.
But if the government actively encourages people to encrypt stuff then there is greater awareness of privacy and encryption. It means that more people understand the concept of private/public keys and are more likely to generate their own keys and use them. They're also no afraid of encryption as a concept (and a question such as "how do I ask for their public key without sounding like a geek" doesn't exist). I think that's a positive thing.
Other countries actively discourage privacy - yes, you can encrypt stuff, but if you don't give us the password then you'll end up in jail and we don't have to prove a thing. And why teach the masses to encrypt? It's so much easier listening to communication in the clear, and we can even perpetuate the notion that if you encrypt your files or communication then you're clearly hiding something and you're probably a dangerous criminal/terrorist/paedophile, because normal people don't use encryption.
I'm wondering about the mainframe comment: does it mean that bug-free software was only ever written for mainframes? Because I'm absolutely 100% convinced that not all the software that runs on mainframes is bug-free, having worked on mainframes. Even IBM COBOL compilers had (have?) bugs, and they must have been tested by thousands of businesses.
The reason is that for software to be perfect it has to be either proven or checked against every possible input.
The first may be possible in some cases, but is very time consuming for anything other than trivial exercises (and almost no one is willing to pay for that). The second is simply impossible and some "representative subset" must be used for testing. This means that the once-in-a-lifetime case could be missed.
So what happens now with last minute customer requirement changes? I'm really trying to understand this (and hopefully learn from this). If you have to push them in anyway, then you're still working to crazy deadlines. And if you don't have to push them in, couldn't you have said "no" before moving to Agile? How did moving to Agile change your relationship with the customer?
That's one possibility. Another is that whatever is supposed to be The One True Agile (tm) requires certain pre-conditions that aren't always met.
I could say "don't blame the single-pass waterfall process - if it failed for you, then you're doing it wrong". In some (rare) cases, single-pass waterfall is exactly right - a single programmer implementing a rigid specification (for example writing an H.264 decoder). But that's a pre-condition. It won't always fail and it won't always work, just like "Agile" or any other "methodology".
The truth is that there's no silver bullet. Every set of guidelines also includes a set of conditions (implicit or explicit). For example, most software development processes assume that the programmers involved are not all back-stabbing psychos. But even that's not always the case. Blaming reality for the failure of a process is the wrong way around.
I hardly pay attention to most of what I read online, especially when I'm on LinkedIn (I'm trying not to look at adverts, so I miss the content as well).
I found myself once entering my LinkedIn password into some "password" input box, which, as I wasn't paying much attention, I thought was LinkedIn's "your session has expired". However, it rejected the password, which made me look again. I was entering my password into the "we've got your email address, now just give us the password" box. As I have different passwords for different things, no problem. But I'm sure that some people use the same password for everything, and suddenly LinkedIn sends an email to every contact on their gmail account.
What does it even mean? NP is the class of problems that can be decided using a non-deterministic Turing machine in polynomial time. "Polynomial time" refers to the class of algorithms that run in O(n^c) where c is a constant. The "n" in O(n^c) refers to the size of the input. Big-O notation is only meaningful when talking about asymptotic behaviour (as n approaches infinity).
But chess is a given, specific problem, where n=8 (let's say), and there is no asymptotic behaviour anywhere. N is always the same - it's a specific problem, with a specific input size. So talking about NP in relation to chess is simply meaningless. It's only relevant to chess on an NxN board, but who plays THAT? (and more importantly, how many computer programs play NxN chess? What are the rules? How many bishops are there on the NxN board?)
It's easier to answer "why didn't you do <the right thing>?" than "why did you do <the wrong thing>?". In most cases, "we didn't have enough information at the time" is good enough for the former, whereas it takes a lot more effort to explain the latter.
An entrepreneur only has to answer "where's my money?" (if s/he's playing with someone else's money), but doesn't have to justify each and every decision.
That should be the discussion part of the interview.
In your code you calculate mod(i,3) twice for every number. You also calculate mod(i,5) twice in cases where mod(i,3) is zero (33 times). In total, you have 2 * 100 + 1 * 100 + 1 * 33 modulo calculations (333 expensive operations).
The code you called "inelegant" calculates mod(i.15) for every number (100 in all). It then calculates mod(i,5) for those that failed the test (94 cases) and mod(i,3) for those that failed the second test (80 cases). In all, it performs 100 + 94 + 80 = 274 expensive operations. So his code will be about 17% faster than yours.
You also call "print" more times (instead of 100 times, you call it 200 times - once for the number/string and once for the end of line).
I won't argue whether it's more elegant or not (that's a bit subjective), but it's just as readable and definitely faster.
How about, instead of auto-tagging flashing adverts to allow some people to opt-out of them, people can just not make annoying adverts, much like avoiding the <blink> tag even if it's still supported?
By the way, I've just googled 'blink tag' and the result is quite amusing (if you don't suffer from epilepsy, that is).
I wonder what made you post a reply that has nothing to do with the post you're replying to.
Is it just to hang your post high enough in the tree to get noticed?
I think the point is that you don't win a 100m race by running 90m and then arguing about the exact definition of a metre.
It's an incredible feat to squeeze any variant of chess into 487 bytes, but if you're going to compare apples to apples and maintain a record, the games should follow the same rules.
And I disagree with that. Why would the expectation be to work overtime? My expectation is not to work overtime. My expectation is to be paid for the time I work, and then go home and not work (and not get paid for that time). I think it's a reasonable expectation. If the result of such a law is that I earn less money, I'm allowed to accept that and settle for a lower salary in return for my personal time. Maybe many people think like you, and maybe many people think like me.
But such a law would give me a choice. Yes, I could decide to work overtime and make up for the lower salary (but at least get paid for my work), or I could decide not to. Currently it's either free overtime or no job.
If I understand correctly, what you're saying is "the industry is bad, but it couldn't exist otherwise".
Isn't that the same as a factory that uses slave labour? If it didn't have slaves, it wouldn't be profitable and would fold. If the factory folded, you wouldn't be able to buy the ivory chess sets it was making. Paying for the skill required to make the chess sets is too expensive for the factory. Therefore it's OK to have slavery.
Slavery is great, but it was outlawed. Any company that depended on slave labour - folded. And that's a good thing. And we're still here, and we can live without ivory chess sets made by slaves.
(Note: I wish slave labour was gone from the world - it's still used in many parts of the world. But I'm not sure "the company would fold" or "if you live in this country you can expect to be a slave" are good excuses for it).
In other words, personally I could live without AAA titles made by slaves. There are a few game companies that somehow manage to make good games without killing their staff.
I guess you only buy bug-free software, then.
But seriously, isn't it better to see what's wrong and ask how the worse-looking risks are mitigated?
I guess the answer is about the general business culture, i.e. whether you're more likely to lose your job when the shit hits the fan if you say "I made an information-based decision and unfortunately the risk materialised" than if you say "I know nuffin'... they said there were no bugs".
Personally I'd get rid of a buyer who gave me the second answer, but I that's just me.
There's no point in acting all surprised about it. All the planning charts and demolition orders have been on display at your local planning department in Alpha Centauri for fifty of your Earth years so you've had plenty of time to lodge any formal complaints and its far too late to start making a fuss about it now.
I have a really important question about a piece of string.
Absolutely! That's why Google named their programming language "Go". They clearly know a thing or two about name searching.
Funny how the link is a Google link. Even when you try to avoid Google, you still have to do it through Google.
Come on, can't you just let someone be condescending without replying with a perfectly reasonable explanation?
He gets to feel superior, you get to mumble something about idiots and reading comprehension, it's a win-win in my book.
But you can't play 8-bit crap from 1984 on a Nntendo DS. Definitely worth the extra $400.
(Don't get me wrong, I was the right age in 1984 to really enjoy that crap. But it's 2014 now and I'm older and wiser).
Symmetric?
Maybe they should outlaw death as well.
Whether or not you want to trust a card given by the government is one thing.
But if the government actively encourages people to encrypt stuff then there is greater awareness of privacy and encryption. It means that more people understand the concept of private/public keys and are more likely to generate their own keys and use them. They're also no afraid of encryption as a concept (and a question such as "how do I ask for their public key without sounding like a geek" doesn't exist). I think that's a positive thing.
Other countries actively discourage privacy - yes, you can encrypt stuff, but if you don't give us the password then you'll end up in jail and we don't have to prove a thing. And why teach the masses to encrypt? It's so much easier listening to communication in the clear, and we can even perpetuate the notion that if you encrypt your files or communication then you're clearly hiding something and you're probably a dangerous criminal/terrorist/paedophile, because normal people don't use encryption.
I'm wondering about the mainframe comment: does it mean that bug-free software was only ever written for mainframes? Because I'm absolutely 100% convinced that not all the software that runs on mainframes is bug-free, having worked on mainframes. Even IBM COBOL compilers had (have?) bugs, and they must have been tested by thousands of businesses.
The reason is that for software to be perfect it has to be either proven or checked against every possible input.
The first may be possible in some cases, but is very time consuming for anything other than trivial exercises (and almost no one is willing to pay for that).
The second is simply impossible and some "representative subset" must be used for testing. This means that the once-in-a-lifetime case could be missed.
The car analogy doesn't work here.
So what happens now with last minute customer requirement changes? I'm really trying to understand this (and hopefully learn from this).
If you have to push them in anyway, then you're still working to crazy deadlines.
And if you don't have to push them in, couldn't you have said "no" before moving to Agile? How did moving to Agile change your relationship with the customer?
That's one possibility. Another is that whatever is supposed to be The One True Agile (tm) requires certain pre-conditions that aren't always met.
I could say "don't blame the single-pass waterfall process - if it failed for you, then you're doing it wrong". In some (rare) cases, single-pass waterfall is exactly right - a single programmer implementing a rigid specification (for example writing an H.264 decoder). But that's a pre-condition. It won't always fail and it won't always work, just like "Agile" or any other "methodology".
The truth is that there's no silver bullet. Every set of guidelines also includes a set of conditions (implicit or explicit). For example, most software development processes assume that the programmers involved are not all back-stabbing psychos. But even that's not always the case. Blaming reality for the failure of a process is the wrong way around.
The one consistent thing about Agile: "you're doing it wrong". I have never seen a different answer to any complaint about Agile.
I'm pretty sure you're right.
I hardly pay attention to most of what I read online, especially when I'm on LinkedIn (I'm trying not to look at adverts, so I miss the content as well).
I found myself once entering my LinkedIn password into some "password" input box, which, as I wasn't paying much attention, I thought was LinkedIn's "your session has expired". However, it rejected the password, which made me look again. I was entering my password into the "we've got your email address, now just give us the password" box. As I have different passwords for different things, no problem. But I'm sure that some people use the same password for everything, and suddenly LinkedIn sends an email to every contact on their gmail account.
Yes, I vaguely remember a time when "screensaver" wasn't an official synonym for "a zombie-making, disk encrypting, key logging trojan".
What does it even mean? NP is the class of problems that can be decided using a non-deterministic Turing machine in polynomial time.
"Polynomial time" refers to the class of algorithms that run in O(n^c) where c is a constant.
The "n" in O(n^c) refers to the size of the input. Big-O notation is only meaningful when talking about asymptotic behaviour (as n approaches infinity).
But chess is a given, specific problem, where n=8 (let's say), and there is no asymptotic behaviour anywhere. N is always the same - it's a specific problem, with a specific input size. So talking about NP in relation to chess is simply meaningless. It's only relevant to chess on an NxN board, but who plays THAT? (and more importantly, how many computer programs play NxN chess? What are the rules? How many bishops are there on the NxN board?)
It's easier to answer "why didn't you do <the right thing>?" than "why did you do <the wrong thing>?". In most cases, "we didn't have enough information at the time" is good enough for the former, whereas it takes a lot more effort to explain the latter.
An entrepreneur only has to answer "where's my money?" (if s/he's playing with someone else's money), but doesn't have to justify each and every decision.
That should be the discussion part of the interview.
In your code you calculate mod(i,3) twice for every number. You also calculate mod(i,5) twice in cases where mod(i,3) is zero (33 times).
In total, you have 2 * 100 + 1 * 100 + 1 * 33 modulo calculations (333 expensive operations).
The code you called "inelegant" calculates mod(i.15) for every number (100 in all). It then calculates mod(i,5) for those that failed the test (94 cases) and mod(i,3) for those that failed the second test (80 cases). In all, it performs 100 + 94 + 80 = 274 expensive operations. So his code will be about 17% faster than yours.
You also call "print" more times (instead of 100 times, you call it 200 times - once for the number/string and once for the end of line).
I won't argue whether it's more elegant or not (that's a bit subjective), but it's just as readable and definitely faster.