I commented earlier that I had a hard time figuring out the chronological order of the posts in the stream. I've learned since that Google doesn't want us to care about that. Fine, that's their prerogative. But now I have a new problem: I don't know how to read this thing at all. I can't read it "by column," that is, one column after the other, because it's infinite scroll. But I can't read it "by line" either, because there are no lines, given that the posts have different heights. This is mildly annoying in two-column mode, and impossible in three-column mode (to which it switches automatically if the space is there). How do you read this, particularly in three-column mode, and be reasonably sure not to miss a post?
As I learned from billnguyen's post, you can make it change the number of columns by zooming in and out. With the 3 column layout your mind immediately gives up on wanting to figure out the chronological order. Am I the only one who thinks that the chronology matters?
I find the two-column layout hard to deal with. I think I have figured out an algorithm for visually determining the chronological order of the posts, without having to read the timestamp in each post. But my algorithm requires considerable visual and intellectual effort. Is there an intuitive way to see the chronology of the posts? BTW, I'm not a huge fan of facebook's two-column layout either, but at least the arrows pointing to the time axis show the order of the posts.
Several people have pointed out a possible irony in Item 1, "Try not to give unsolicited advice." Be that as it may, I have a different issue with this item. The vast majority of the unsolicited advice that I have received in my life was useless and annoying. But then practically all of the truly valuable advice that I have received was unsolicited.
Thanks for mentioning impostor syndrome. I think it is indeed closely related to the "generalized postnatal depression" that we're talking about here: the latter is not wanting the thing I worked for anymore, the former is believing that it is not deserved.
I have experienced, and heard of others experiencing, something even more drastic: when achieving a goal after a long and exhilarating journey, not only was I less happy than during the journey, I was actually depressed, thought the thing just achieved was worthless, and didn't want it anymore. It's like a generalized postnatal depression.
I agree that this feeling of being on the cusp of something big is ultimately just that, a feeling, and one should not try to be more specific about it. However, it seems to me that there is at least one type of situation where that feeling is grounded in fairly hard and verifiable facts, namely, when the idea in question is a scientific invention. Rudolf Diesel had a pretty good grasp of what the advantages of his engine were, and Tesla and Siemens knew pretty well why and how their AC power system was superior to Edison's DC. I'm a little irritated by the fact that this kind of scientific evidence for the value of an idea receives practically no attention at all in today's treatment of startup businesses, like the Lean Startup movement. Today, we ask the customers if they want AC or DC in their homes, and if the answer is DC, we pivot to that. Perhaps it would have been worth to stick with the AC idea a little longer, to fight for it, and to let its benefits sink in with people.
I am in the situation of having a product that doesn't sell. It may very well be that my product is no good and would not sell under any circumstances. However, I have observed the following behavior on the part of some potential buyers:
1) When I have barely explained what problem my product solves, people interrupt me with, "But I already have <crappy thing>." After that, they refuse to even consider the possibility that my solution may be better. It is almost comical how oftentimes, I am unable to finish a single sentence for the rest of the conversation. Everything I start saying gets interrupted with claims that <crappy thing> has all these awesome features, which I know it does not. That would be Principle 3, "The Endowment Effect."
2) People scan everything that I say for a potential loss or cost that my product may incur (and yes, there is a cost). After that, again, the conversation becomes almost comical, reminiscent of a Monty Python sketch: every sentence that I start will be interrupted with some remark on how devastating the cost would be. It is impossible for me to direct the other person's attention to any gains that they would get. That would be Principle 1, "Losses Loom Larger than Gains."
What I find interesting is how many respondents name worries that are in or related to their own profession or field of study. Note that the question is "What should we be worried about?" So now I am worried that nobody can see past the edges of their own little world anymore.
What I find interesting is that almost all respondents name worries that are in or related to their own profession or field of study. Note that the original question was "What should we be worried about?" So now I am worried that nobody can see past the edges of their own little world anymore.
One aspect that people stubbornly ignore in discussions of this kind is that nobody, in particular no 401k investor, has all his or her money at the beginning of the 50 year or so investment period. People start with a small amount, then add to that over the years. So each year, the principal grows via compounding and via addition of a certain amount. I am not going to bloat this thread with more math; it's not hard to do it right, and the fact remains that by and large, Wall Street fees are outrageous. I just want to remind everybody that all performance considerations must take into account that a real-life investor's account is subject to deposits (and eventually, withdrawals as well). Ok, self-praise is no recommendation, but I think I have all this pretty much figured out: check out greaterthanzero.com .
I think there's a bit of a misunderstanding in the paragraph about C++: when people say that a programming language is "inefficient," they usually mean that programs written in that language run slowly. That is certainly not the case with C++. The link that the author of the post gives is to a stackoverflow entry that explains why the C++ compilation process is slow. That is of course a different matter. As a matter of fact, C++ aficionados often argue that the efficiency of C++ programs is the one thing that outweighs all its disadvantages, like the slow compilation process.
Let's not forget that the more economically successful a society is, the more resources it has to help others, save people, and prevent people from dying. In other words, one can contribute to such causes indirectly, by creating economic value.
What's indeed somewhat questionable is if the only purpose of one's work is to divert some of the money that is moving around in the economy into one's own pocket. The patent troll is probably the purest example of that. But to be honest, I sometimes find it difficult to determine whether an economic activity is more about sucking value or creating value. The line doesn't always seem to be drawn clearly.
Sorry, I'll have to very strongly disagree on that one. If, for example, you conduct a public opinion poll in the United States, then all that matters is the size of the sample and your method of selecting the sample. If those are both adequate, then you can draw conclusions (with margins of error) about the entire population. Furthermore, you can repeat the same poll at different points in time and draw conclusions on the changes that you observe. What's happening here is different. Your population is all programmers. Of that, a subset is taken, namely, the set of all Dr. Dobbs readers. From that subset, you take your sample. I trust that the size of your sample and the method of taking it are fine. But we don't know if the subset from which your sample is taken is sufficiently random, and we don't know if and how it changes over time.
In short, you cannot draw conclusions about the entire population if your sample is taken from a subset that does not qualify as a random sample. That problem is very definitely not "inherent in all surveys," as you claim.
The hubbub of big city coffeehouses is indeed not conducive to hacking. If you have the luxury of being able to move around, it's worth checking out coffeehouses in small towns. My current favorite in Northern California is the Curly Wolf in Nevada City. Exquisite interior decoration, great people, quiet atmosphere, open til midnight Sun through Thu, til 2am Friday and Saturday. And if you're willing to travel farther, you can even still find hacker's paradise, like the Shot in the Dark in Tucson, AZ: open 24/7. Trust me, it's quiet in there at 3am.
I too find this to be a problem. So let's add this piece of advice to the author's list: watch out for the least unergonomic chair/table combinations, and memorize the good ones. I know of some decent ones that I keep returning to.
One caveat for those who are pushing the big 5-O (and trust me, sooner or later, you all will be): the title of the article should have been "Reasons Not to Stretch before Exercise." Stretching for the purpose of counteracting the loss of elasticity of the tendons that comes with age is a different matter. It's like "the other flossing": it's well-known that it should be done, but compliance is spotty.
At the risk of sounding like a nitpicker, as a statistician, I'll have to comment on the methodology. I believe the crucial clause in the article is
when the research and analysis firm Forrester recently surveyed our readers about how much time they spend writing in any given language
When the results change over time as indicated by the two charts, that can mean one of two things: either a lot of people who worked in just one language in 2010 now work in several languages, or a lot of people who work in just one language have stopped reading Dr. Dobbs. In order to support the claim that it's mainly the first and not the second possibility, one would have to submit at least some supporting evidence. (Edit: at first I thought that one would want to contact the same people in both surveys, but no, that's not good. It leaves out the effect of new people entering the arena. This doesn't seem to be easy.)
And also, this perhaps being a matter of taste, I find it questionable to have a caption like "Fraction of programmers..." underneath the charts. As much as I respect and admire Dr. Dobbs (I have published there): not every programmer is a Dr. Dobbs reader.
During the time when his vessel, the "Endurance," was stuck in the ice, Shackleton applied management principles from which perhaps startups can learn. He made sure to pay attention to what and how everybody was doing at all times. One thing he did then was to assigning people meaningful tasks to keep them from becoming despondent and dragging down morale. What he did there has actually been studied by military researchers who were interested in ways to get people and organizations through periods that seem utterly hopeless. Startups come to mind...
That was my first thought as well. Puzzling, vexing, yes, but there is nothing "controversial" here. Moreover, I'm not sure if the expression "controversial fact" even makes sense, linguistically speaking. Isn't it true that if something is a fact, it may be "disputed," but it can, by definition, not be "controversial?"
I've heard great things about Play. When I had to choose a Java framework about 2 years ago, I chose Stripes, and I've been very happy with it. But I notice that it doesn't even get mentioned in discussions like this one. Wonder why that is.
I agree with the author when he says, "Fundamentally, you only need to know one thing: To build wealth, you must spend less than you earn." But there remains one other thing. To build wealth, you'll have to keep your money somewhere. That somewhere is going to be some form of investment. Hence, to build wealth, you must make more on your investments than you lose. Now ask yourself: had I kept my money under the mattress instead of investing it, would I have more now, or would I have less? How much more or less? Funny thing is, most people don't know. This tool can tell you: greaterthanzero.com
Thanks for the explanation, this really piques my interest in Rust. BTW, now I have a follow-up to my question whether Rust's references are the analogue to C++ weak pointers. C++ weak pointers can be dangling, but in a controlled manner, that is, one can ask them whether they're dangling or not. Am I correct in assuming that Rust will never allow anything like a dangling pointer, not even the "controlled dangling" of a C++ weak pointer?
One issue with languages that use smart pointers (as opposed to a global garbage collector) for memory management is circular references. For example, one can create a memory leak with C++ shared pointers by having two objects each of which holds a shared pointer to the other. In C++, the solution is to use a weak pointer for one of the two pointers. This raises two questions: 1) Since the Rust compiler is more vigilant than the C++ compiler, does it do anything to prevent "pointer circles?" 2) Am I correct in assuming that the solution in Rust is to use a reference for one of the owning pointers? In other words, is the Rust reference the analogue to the C++ weak pointer?