For the most part, if you limit your search to open-source contributors, you are skewing your results toward single people, mostly men, who may or may not have any social skills outside work, and leaving behind a great many well-adjusted people with well-balanced lives, who are equally great coders.
I think it's natural to want to hire people who have coding deep in their DNA, who enjoy programming in their free time, just as if I were to be hiring a gardener I would want to hire one who had some plants of their own.
I think this is where people who don't have families miss the point (and I realise I'm going out on a limb and assuming you don't). There comes a point where it's no longer about enjoying programming, it's about having other things in your life that are more important. Things like a wife, kids. To the point where you don't even have the time (or energy) to think about doing coding in your free time.
If you're lucky enough to have a wife who is happy for you to spend several evenings per week coding, rather than, say, talking to her. Or spending time with the kids. Or doing housework or the gardening. Or just chillin watching a movie together, then more power to you, hope it works out for you. And if your wife would rather that you leave work at work and do some of this other stuff, then you have a choice - keep your wife, or keep coding.
I find it frustrating when people suggest that I don't enjoy/can't be very good at software development just because I have a wife and kids. Or because I have other interests.
I am shortsighted, and with my glasses on I could still read the bottom line on my most recent eye test, a few months back.
Isn't that the primary function of glasses?
Yes, of course. But if 20-20 were truly "normal" then one would expect my corrected vision to be 20-20. The fact that it is two or three levels better (and believe me, that makes a big difference for distance vision) again suggests that 20-20 isn't "normal". Again, 20-20 is the minimum below which you consider corrective vision.
According to wikipedia average visual acuity of healthy eyes is 20/16 to 20/12
Thing is, 20-20 vision isn't that good. Have you ever actually taken a good look at the chart that determines what 20-20 vision is?
It's normally 3rd or 4th from the bottom of the chart. I am shortsighted, and with my glasses on I could still read the bottom line on my most recent eye test, a few months back.
Calling 20-20 vision "normal" in this discussion is misleading at best, dishonest at worst. Especially since the author quotes Wikipedia, which says, and I quote: The significance of the 20/20 standard can best be thought of as the lower limit of normal or as a screening cutoff. When used as a screening test subjects that reach this level need no further investigation, even though the average visual acuity of healthy eyes is 20/16 to 20/12.
So there you have it, 20/20 isn't "normal", it's the bottom end of what is generally considered to be "normal" and below which one considers corrective vision (my words there).
True "normal" vision is more like 20/16 or 20/12, which gives a resolution of more like 0.8 to 0.6 arcmin - closer to the figures in the original article than in this one, making the original article more truthful than this one, and validating (to me at least) the accusation that Jobs' claim is hyperbole.
Although the "can't own for less than a day" idea strikes me as a bit simplistic and a bandaid to the symptom rather than addressing the problem.
Try this for an idea. Instead of continuous trading from 10am (say) to 4pm (say), have a day-long bookbuild from 10am to 3:59pm. At 4pm all crossed orders are executed according to a published and well known algorithm that, for instance, maximises executed volume. No continuous trading. No day trading (of the type you describe and wish to outlaw with your minimum hold time of 1 day rule).
To avoid gaming the system you could add a random offset to the end of the bookbuild, but the end result is the same, if not better, than your proposal. No intraday volatility, no day trading, no flash trading, nobody gets the jump on anyone else because they have faster computers, no mad panics.
As married man with two kids, I always found it unfair the way some of my employers gave me benefits over some of my single co-workers. If I asked to have a day off to go on a field trip with my kids, I'd get approval without little trouble. A single person asking to have a Friday off since friends were coming into town would generally get a refusal.
Don't know about others, but I don't ask for time off. I tell them that I'm taking time off.
I've never had it refused (without *good* reason), and if they did refuse once, they wouldn't get a chance to refuse again.
My first year, first semester University CS-101 course was in functional programming. I think it was a good idea as it forced us to think in a completely new way - including those of us who had some previous brushes with programming (C64-basic anyone?).
Second semester moved on to C, and the joys of pointers and memory management etc.
Indeed, and believe me when I say that trawling through code to change ints to time_ts or size_ts is neither as fun or as easy as it sounds when previous programmers have used int/long/size_t/time_t interchangeably.
software that's recompiled for 64-bit machines will automagically use 64-bit ints where the programmer held the time in an int.
Umm... no.
Depending on your architecture (x86, sparc for two) and compiler (sunpro for one), 64bit compilers may still define an int as 32 bits, but redefine long, time_t, size_t, ptrdiff_t etc. as 64-bits (and FYI long long is also still 64bits).
So, if an programmer has typed
int i = time(NULL);
then that code is still going to have the Y2K38 bug in it when recompiled in a 64 bit environment.
This makes multi-core programming almost a no-brainer.
While you did say 'almost', I'm still going to take exception with that statement.
That is a very dangerous thing to say without reams of qualifications.
Programming (of any non-trivial nature) is not currently, nor is it likely to be any time soon, a 'no-brainer'. No library, no framework, no toolset, no abstraction takes away from the core fact that programming is hard. Sure, you can take away the boring/trivial stuff and give the programmers more time to work on the hard/interesting stuff, but that doesn't make it a 'no-brainer'.
Abstracting away mapReduce just means you don't have to know how to write your own mapReduce implementation. It doesn't automatically make the user of Qt (or whatever) an expert in designing parallel algorithms, nor parallel debugging, nor the performance benefits and tradeoffs and gotchas of parallel programming.
The OLPCs won't get into the hands of people under an oppressive government, because oppressive governments won't buy them for the people they are trying to starve.
Indeed. Of course, rich people like us could buy laptops to send over there.
But there is another positive that a laptop has over a bag of rice in that situation. The oppressive government can't hijack a truckload of laptops and use them as leverage to force the poor/starving to do their bidding - something that can easily be done with rice.
Personally, I think the people who judge other people fit to be "darwinised" - especially based on a page-long Web article - are the ones we could do without, rather than the people who's worst known flaw is that they can't count below zero.
Whilst I agree in principle with your sentiment, the key word here is known. I put it to you that an inability to count below zero is a very likely indicator of a large number of more serious flaws, and not just in mathematics.
I agree wholeheartedly with your post. What I objected to mostly was the way the OP explained away why it was broken like it didn't matter. It does matter when companies put out software that doesn't do what it says it does, moreso when it's security software and what it doesn't do is make things more secure.
Don't explain it away with "the apple experience". Apple stuffed up badly, and now have fixed it. Simple
Quick update before I get flamed, I re-read my original post and saw where I said they should not be forgiven. Seems I'm the one who should read their own posts.
I admit in my original post my words were inaccurate.
I meant something more like "forgive, but don't forget". Also more like I said in my reply to your reply.
Again, apologies for inaccurate and/or argumentative tone.
Yeah,Apple screwed up but they are fixing it and the admit it. Integerity can go a long way.
Like I said, they deserve applause for recognising the issue, admitting the problem, and fixing it. Kudos to them.
In your world it seems nothing and nobody can every be forgiven for making a mistake. How sad.
Wow. Did you read my post?
They should be forgiven for making a mistake. But they deserve a spanking first, otherwise what reason is there for them to get better? You think they'll just learn to be better because some of their customers are annoyed? If so then you are either delusional or a fanboi, because anyone in tune with recent Apple support issues (specifically with regards to problems with the new aluminium iMacs) will know that Apple's shit does, in fact, stink.
Let me first say that I get what you're saying, and I can understand where Apple are coming from....
But... can anyone here honestly say that if you took the entire story about the 'dodgy' firewall and replaced Apple with Microsoft that there wouldn't be people literally screaming themselves blue in the face about how insecure MS is _by_design_?
Seriously, if an MS-shipped firewall decided (without telling you) that 'block all incoming connections' really meant 'block all incoming connections except for MSN Messenger and oh, I don't know, maybe Media Player', would you be making excuses about how it was really necessary and understandable to deliver the "Microsoft Experience(TM)"?
No, I didn't think so either.
Yes, Apple should be applauded for recognising a problem in their software, as well as a problem in the way their software presents itself, and fixing it.
But they should not be forgiven for creating the problem in the first place because their hearts were in the right place. That kind of thinking leads to bad places.
Nobody with a modicum of sense is mining bitcoin at Australian retail prices.
Probably Safe For Work Unless You Work For A Religious-extremist? Russian?
For the most part, if you limit your search to open-source contributors, you are skewing your results toward single people, mostly men, who may or may not have any social skills outside work, and leaving behind a great many well-adjusted people with well-balanced lives, who are equally great coders.
I think it's natural to want to hire people who have coding deep in their DNA, who enjoy programming in their free time, just as if I were to be hiring a gardener I would want to hire one who had some plants of their own.
I think this is where people who don't have families miss the point (and I realise I'm going out on a limb and assuming you don't). There comes a point where it's no longer about enjoying programming, it's about having other things in your life that are more important. Things like a wife, kids. To the point where you don't even have the time (or energy) to think about doing coding in your free time.
If you're lucky enough to have a wife who is happy for you to spend several evenings per week coding, rather than, say, talking to her. Or spending time with the kids. Or doing housework or the gardening. Or just chillin watching a movie together, then more power to you, hope it works out for you. And if your wife would rather that you leave work at work and do some of this other stuff, then you have a choice - keep your wife, or keep coding.
I find it frustrating when people suggest that I don't enjoy/can't be very good at software development just because I have a wife and kids. Or because I have other interests.
I am shortsighted, and with my glasses on I could still read the bottom line on my most recent eye test, a few months back.
Isn't that the primary function of glasses?
Yes, of course. But if 20-20 were truly "normal" then one would expect my corrected vision to be 20-20. The fact that it is two or three levels better (and believe me, that makes a big difference for distance vision) again suggests that 20-20 isn't "normal". Again, 20-20 is the minimum below which you consider corrective vision.
According to wikipedia average visual acuity of healthy eyes is 20/16 to 20/12
Thing is, 20-20 vision isn't that good. Have you ever actually taken a good look at the chart that determines what 20-20 vision is?
It's normally 3rd or 4th from the bottom of the chart. I am shortsighted, and with my glasses on I could still read the bottom line on my most recent eye test, a few months back.
Calling 20-20 vision "normal" in this discussion is misleading at best, dishonest at worst. Especially since the author quotes Wikipedia, which says, and I quote: The significance of the 20/20 standard can best be thought of as the lower limit of normal or as a screening cutoff. When used as a screening test subjects that reach this level need no further investigation, even though the average visual acuity of healthy eyes is 20/16 to 20/12.
So there you have it, 20/20 isn't "normal", it's the bottom end of what is generally considered to be "normal" and below which one considers corrective vision (my words there).
True "normal" vision is more like 20/16 or 20/12, which gives a resolution of more like 0.8 to 0.6 arcmin - closer to the figures in the original article than in this one, making the original article more truthful than this one, and validating (to me at least) the accusation that Jobs' claim is hyperbole.
Fascinating idea.
Although the "can't own for less than a day" idea strikes me as a bit simplistic and a bandaid to the symptom rather than addressing the problem.
Try this for an idea. Instead of continuous trading from 10am (say) to 4pm (say), have a day-long bookbuild from 10am to 3:59pm. At 4pm all crossed orders are executed according to a published and well known algorithm that, for instance, maximises executed volume. No continuous trading. No day trading (of the type you describe and wish to outlaw with your minimum hold time of 1 day rule).
To avoid gaming the system you could add a random offset to the end of the bookbuild, but the end result is the same, if not better, than your proposal. No intraday volatility, no day trading, no flash trading, nobody gets the jump on anyone else because they have faster computers, no mad panics.
Just an idle thought.
What are you, a stockholder or just a tool?
You seem to imply he can't be both.
Yeah, except The Beatles (Apple Corp) lost that court case to Apple Computer. http://en.wikipedia.org/wiki/Apple_Corps_v_Apple_Computer
Don't know about others, but I don't ask for time off. I tell them that I'm taking time off.
I've never had it refused (without *good* reason), and if they did refuse once, they wouldn't get a chance to refuse again.
My first year, first semester University CS-101 course was in functional programming. I think it was a good idea as it forced us to think in a completely new way - including those of us who had some previous brushes with programming (C64-basic anyone?). Second semester moved on to C, and the joys of pointers and memory management etc.
Well, fancy injecting some sense and informed opinion?! How dare you sir!
The guy's just lucky the council didn't set the cops on to him for 'hacking' their network!
End of fiscal year?! Some managers have trouble thinking past the end of next week!
You just described... pretty much everything in business.
Indeed, and believe me when I say that trawling through code to change ints to time_ts or size_ts is neither as fun or as easy as it sounds when previous programmers have used int/long/size_t/time_t interchangeably.
Umm... no.
Depending on your architecture (x86, sparc for two) and compiler (sunpro for one), 64bit compilers may still define an int as 32 bits, but redefine long, time_t, size_t, ptrdiff_t etc. as 64-bits (and FYI long long is also still 64bits).
So, if an programmer has typed
int i = time(NULL);
then that code is still going to have the Y2K38 bug in it when recompiled in a 64 bit environment.
While you did say 'almost', I'm still going to take exception with that statement.
That is a very dangerous thing to say without reams of qualifications.
Programming (of any non-trivial nature) is not currently, nor is it likely to be any time soon, a 'no-brainer'. No library, no framework, no toolset, no abstraction takes away from the core fact that programming is hard. Sure, you can take away the boring/trivial stuff and give the programmers more time to work on the hard/interesting stuff, but that doesn't make it a 'no-brainer'.
Abstracting away mapReduce just means you don't have to know how to write your own mapReduce implementation. It doesn't automatically make the user of Qt (or whatever) an expert in designing parallel algorithms, nor parallel debugging, nor the performance benefits and tradeoffs and gotchas of parallel programming.
The OLPCs won't get into the hands of people under an oppressive government, because oppressive governments won't buy them for the people they are trying to starve.
Indeed. Of course, rich people like us could buy laptops to send over there.
But there is another positive that a laptop has over a bag of rice in that situation. The oppressive government can't hijack a truckload of laptops and use them as leverage to force the poor/starving to do their bidding - something that can easily be done with rice.
If I had mod points I'd mod you +1 Funny. I expect you'll get some +1 Informative and probably some -1 Troll as well. Good work, sir.
Whilst I agree in principle with your sentiment, the key word here is known. I put it to you that an inability to count below zero is a very likely indicator of a large number of more serious flaws, and not just in mathematics.
Shhh, keep that under your hat, we don't want it spreading...
Don't explain it away with "the apple experience". Apple stuffed up badly, and now have fixed it. Simple
I admit in my original post my words were inaccurate.
I meant something more like "forgive, but don't forget". Also more like I said in my reply to your reply.
Again, apologies for inaccurate and/or argumentative tone.
Yeah,Apple screwed up but they are fixing it and the admit it. Integerity can go a long way.
Like I said, they deserve applause for recognising the issue, admitting the problem, and fixing it. Kudos to them.
In your world it seems nothing and nobody can every be forgiven for making a mistake. How sad.
Wow. Did you read my post?
They should be forgiven for making a mistake. But they deserve a spanking first, otherwise what reason is there for them to get better? You think they'll just learn to be better because some of their customers are annoyed? If so then you are either delusional or a fanboi, because anyone in tune with recent Apple support issues (specifically with regards to problems with the new aluminium iMacs) will know that Apple's shit does, in fact, stink.
But... can anyone here honestly say that if you took the entire story about the 'dodgy' firewall and replaced Apple with Microsoft that there wouldn't be people literally screaming themselves blue in the face about how insecure MS is _by_design_?
Seriously, if an MS-shipped firewall decided (without telling you) that 'block all incoming connections' really meant 'block all incoming connections except for MSN Messenger and oh, I don't know, maybe Media Player', would you be making excuses about how it was really necessary and understandable to deliver the "Microsoft Experience(TM)"?
No, I didn't think so either.
Yes, Apple should be applauded for recognising a problem in their software, as well as a problem in the way their software presents itself, and fixing it.
But they should not be forgiven for creating the problem in the first place because their hearts were in the right place. That kind of thinking leads to bad places.