Electrial Conductivity of Thin Metal Films

Question: What is the best way to find specific/electric conductivity which is dependent of very thin film thickness?
Comment: How thin? Few atoms? Few million atoms?
Comment: Like 250nm thin.
Answer: One way to do this is either a two point or four point measurement - the four point will be more accurate if you have significant contact resistance. If not, a simpler two point setup will be sufficient.
One basic setup is to pass a known current between two probes which lie on the outside of two other probes, which you are trying to measure the voltage difference across. Using the known current and measured voltage (and a known geometry), you can deduce the sheet resistance in Ohms (per square). From that, you can then multiply by the film thickness to get resistivity.
More information from:
 http://en.wikipedia.org/wiki/Four-terminal_sensing
http://en.wikipedia.org/wiki/Sheet_resistance#section_2
Answer: Your problem is that the conductivity depends on the film structure. Back in the dawn of time (mid 1980s!) I spent a happy three years studying reactions of silver films, and one of the techniques used was to measure the resistance of the film. As the silver reacted the film thickness went down and the resistance went up.
However once the film thickness forms below around 400$\mathring{A}$ the film is no longer solid metal. As the thickness falls you get voids, then a reticulate structure and finally isolated islands of metal. You'll also find that annealing films can reduce the resistance by a factor of two. I found that if you control the film preparation very carefully you can get reproducible resistances, but it does take some work. For example the substrate cleanliness was very important and I had to plasma etch my glass substrates before growing the films. With careful preparation you can construct a resistivity vs thickness curve for your films (but note this curve will probably differ from researchers using different preparation methods).
Actually measuring the resistance is dead easy. I just used scored a track in the film then measured the resistance as a function of track length, and one linear regression later I had the resistance. You don't need any special techniques to get measurements more accurate than the natural variability in the films.
Answer: If the film is thick enough to be more-or-less smooth and contiguous, then
$$(\text{sheet resistance}) = (\text{resistivity}) / (\text{thickness}).$$
How thick? It differs from metal to metal. John Rennie's answer says that 40nm is roughly the threshold for silver to be contiguous. I know that gold is very susceptible to dewetting when you deposit too thin a film. It depends on the substrate too. But I think most if not all metals would be "more-or-less smooth and contiguous" if they are as thick as 250nm.
Surface scattering or surface disorder can also cause the above equation to be inaccurate. But for metals, I doubt that would be noticeable except for films thinner than maybe 10nm.


Work for constant volume compression by adding moles of gas

Question: I often see the expression $W = V \Delta P$ for the work of a constant volume compression where there are a fixed number of moles and the compression is caused by heating.  Is this the work equation for a constant volume, isothermal process where the pressure is increased by adding moles of a gas?
Comment: Welcome to physics.SE. We have [MathJax](http://www.mathjax.org/) active on the site, which means that you can write mathematics in LaTeX syntax as I have done in the edit.
Answer: In classical gas dynamics, in order to have work, you need a volume change $dV$. If volume $V$ is constant, no work is performed.
The traditional picture is to think of a piston closing a cylinder containing the gas. The gas inside the cylinder will be characterized by pressure $p$, temperature $T$ and volume $V$. To actually perform work, the piston needs to be moved, which implies a change of volume $dV=S\, dx$, where $S$ is the moving surface of the piston and $dx$ the distance it moved. Work is then performed by the force pushing the piston, related to pressure by $F=p\cdot S$, and during a slight motion $dx$ of the piston, work performed is
$dW=F\cdot dx=p\,S\,dx=p\, dV$. Adding work on small motions yields an integral, $W=\int p\, dV$.
If volume doesn't change, no work is performed. Energy may still be transfered into or out of the "cylinder" (whatever the gas' container is), but in a disorderly, non-directional fashion, that is as Heat, not Work.
Comment: ""The gas inside the piston will be..."" Inside the piston? I try to imagine that. In vain.
Comment: @Georg: I rephrased the offending sentence, which should now make sense ;-)


When do kids usually stop believing in Santa Claus?

Question: My 7-year old son treats Santa as a real person. He probably suspects something, but me and my wife always find a way to persuade him.
What is the normal age when children realize that Santa is not real, and what is the proper transition strategy?
Comment: I never understood the purpose of teaching children that Santa Claus is a real person who flies around in a sleigh and brings presents on Christmas.  If nothing else, it teaches kids that their parents are liars.
Comment: As for the Jesus comment, yes, this will start a flame war, but Santa is as real as Jesus in that they are both based on people that lived at one time who now have myths built up around them. Coincidently, at least near xmas, their myths deliver the same messages: be good and nice to each other.
Comment: What do you mean, "as a real person"? Isn't he?? ;-)
Comment: I have always told my kids santa clause is pretend. I fear my children one day thinking "if mommy and daddy told me santa is real and he's not, what about Jesus?"
Comment: How about a SPOILER ALERT!?
Comment: @torbengb - Ohhh sorrryyyy. I did not mean to break your heart.
Comment: Well, since St. Nicholas was a Christian, I don't know how coincidental the similarity in messages is.  Point still remains though.
Comment: when their parents/peers tell them
Comment: @j.rightly you may have a point here, but it also depends on your own beliefs and values. I can reflect on having good memories from those stories even though he isn't real. I didn't judge my parents for lying to me, I believe that kids should have their dreams and those dreams will not always be Santa :) If kids rationalize everything they will live by facts and not by their own imagination of what might be possible. Would you agree with me on this? Let kids dream as long as they want, real life will catch up very fast and then their less and less space for imagination and dreams.
Comment: I always liked this article from the straight dope: http://www.straightdope.com/columns/read/1370/is-there-a-santa-claus "Wherefore if there's someone who's going to say flat out that Santa Claus doesn't exist, it's not going to be me."
Answer: From my own and others' experience, I'd say around 6-9 years of age is the time when they figure it out. Most will probably have a sneaking suspicion for a year or two, which they spend probing and observing. Isn't it odd that Dad always misses Santa because he's chatting with the neighbors just then, every year?
When he does figure it out, try to praise him for his observation skills and get him in a satisfied I knew it! state of mind rather than being sad about a myth debunked. It's actually cool that he figured it out all by himself!
And, if he has younger siblings, he's now in on a special secret that he can help the parents keep, and see how the siblings handle it.

Edit, 6½ years later: My son was 7 years old when he mentioned on the 24th,
"Do I still have to pretend Santa is real?" He was aware of the fairy-tale aura and considerate enough to ask while his younger brother couldn't hear him. We praised him for his smarts as well as for his consideration, and asked him to help us keep up the fun until his brother catches on, too, just because it's fun to pretend things. He happily agreed.
Comment: This question can help with the how to deal when they do figure it out.  http://parenting.stackexchange.com/q/6208/2876
Answer: We've always taught our children that Santa is a game that people play, not something real -- it's important for us not to lie to our children.  They still enjoy playing the game.
We also find that this helps when interacting with other children who very much believe in Santa -- encouraging our children not to spoil the game.
Comment: Just because they know fairies aren't real doesn't stop my children from having great fun pretending :).
Comment: @torbengb: We've always told them, from the first Christmas when they could understand Santa being there.  Making a fun game out of it is a bonus (and it's a game that most adults in my family still enjoy), but it's being honest that motivated us.
Comment: I constantly feel ill at ease about this very subject; on one hand, I really want them to have an imagination, and to think of fairies, santa and such like.  On the other hand, I want my kids to grow up in a culture of truth, and trust.  My wife struggles with this, as she never wants to lie to the kids, where I believe sometimes it's necessary. +1 for a very good point by the way.
Comment: I read about someone who would tell his kids "some people say Santa is a jolly fat man who..." so: he wouldn't be lying, the kids can play along with their peers and, at the end, the kid can figure it out for themselves.
Comment: Letting your kids in on the "secret" so that they don't spoil it for others is a good approach - but you didn't answer the question: when did you tell your kids, or when did they start asking?
Answer: Answer -watch your kid. Every kid might need something different. You know your kids. Strangers don't.
On this don't lie to your kids thing ---Seriously?  There is an age range where magical thinking is good for kids.
Santa? I figured out it didn't make sense when I was 4, though I didn't tell anyone and staged an elaborate catch the parents trap to obtain proof, y'know, just in case.  My little brother didn't figure  it out until he was 8.5.  I don't know when my older brothers and sister figured it out because they faked it until my little brother caught on.   (Strangely, I didn't figure out the tooth fairy until I was 8 and my brother never believed that one!  The logistics bothered me less.)
None of us thought our parents were liars.  Maybe if they tried to stretch it on past when we didn't believe... but I don't know.  We thought it was cool that we could have played a game, and I look back with fond memories of believing.
I have never said to my daughter Santa is real, because I wasn't sure at first whether to because of what I heard others felt about it.  I did a lot of reading on child development and the experts agree at ages 2-6 it's good for them (Upper age may vary by kids developmental stage).  At two, she started asking about the images of Santa, and I asked What do you think?  She had some great explanations and it is great fun.  She has already at 3 wondered how Santa could visit every house, and it led us down a path of learning different Christmas traditions and who celebrates and who doesn't, and which regions celebrate Santa on a different day.  She loves the fun of it and the challenge of thinking why. At 3 she has thought of some things that I never would have.
I never have told her monsters aren't real either; we just thought together on how to deal with them and the girl is fearless.
When she's old enough that her answers to how something happens isn't positive/magical and she doubts on her own, I won't push it, I will let her come to her conclusion.  Forcing adult thinking on a child who needs to indulge a certain developmental part of themselves is just selfish and acting superior about it is ridiculous.  I suspect it might happen before 6 for my daughter because she is extremely bright and inquisitive, but it will happen when it happens and I will not steal the fun away earlier.
Don't get me wrong, maybe some kids are better with it never being "real."  You know your kid. You decide. But don't act like you know what every other kid needs, too.
My ex is an atheist and while he is going along with Santa because he remembered it fondly, he told her out right Jesus isn't real.  She came home crying - not because I lied to her, but because she wanted to believe.  (I am a Christian and I told her people can believe different things and there is nothing wrong with that, but to go with what she feels in her heart is true, and she is much happier)  He thought his parents telling him about Jesus when it never made sense to him was this horrible thing, and it never occurred to him to watch his daughter instead of his own biases.
Comment: Oh, and I have done a few "helping" things like ordered a Santa letter from the North Pole, sign the presents she asked Santa for from Santa with different wrapping paper from those from us and hide that paper away - so I am definitely telling her Santa is real without saying "Santa is real"  It's fun for her and I love having fun with her!
Answer: It is important to promote a kid's imagination, help them not worry about what other people believe, and encourage self confidence and self esteem.  I have told mine that all things cease to exist the moment they stop believing in it.
A lot of the kids at school tease my daughter for believing in Santa (she is 7.5), saying he doesn't exist.  I told her that he did, if she wanted to believe in him.  She's a bright kid, and I believe, picked up on this, and linked it to her belief in God (I am an atheist). I told her I stopped believing in Santa Claus when I was 10, and then I stopped seeing him.
As an aside, I took her to Lapland last Xmas to see 'the real Santa Claus' in a log cabin, by a frozen lake.  It was a magical, once in a lifetime trip.  'Santa' gave her a present and told her not to unwrap it.  She then told me what she asked Santa for.  I spent a long week finding it and wrapping it in the same paper. Seeing her face when she unwrapped the very present in the very same paper was magical.  Although they were different sizes, she suggested if he was magical enough to fly around the world, he could have changed the present after he knew what she really wanted.
Comment: I'm not personally familiar with any religions that claim their deity only exists if you believe. I'm sure some must exist, but if you look at the largest 5-6, which give you about 75-80% of people, that belief is absent to my knowledge.
Comment: I really have to disagree with you in the strongest possible terms. The point of parenting is to raise children that can cope with and deal with reality. Something's existence is not conditional on anyone's belief and instilling that in a child is setting them up for disappointment and delusion.
Comment: I believe it is, sorry William, but the entire world of religion is built on the same idea; God's existence is entirely conditional on your bel;ief he/she exists.  Sorry
Comment: @Ricibob: And my (somewhat tongue-in-cheek) point is that I personally have more objective evidence for God's existence than for Ricibob's. But we're getting off-topic here.
Comment: @Kramii "I personally have more objective evidence" is an oxymoron.  If its personal it isn't objective (duh).
Comment: Well William, we'll have to agree to disagree.  I think Christianity is solely based on your own personal belief in their existence.
Comment: @William If I truely believe in God (in some form) then he/it exists for me (by definition).  If I don't believed then for me he/it does not.  There is no objective proof for the exisitance of God - so that is all we have - so in this sense I think Hairy is right.  I don't think he means it in any disrespectful way.  But because there is no objective evidence for the existance of god this is all we have - our own belief / faith.
Comment: @Ricibob: So, if I don't believe in *you*, then... hey! where'd Ricibob go? ;-
)
Comment: @william, you claim that coping with reality is the point of parenting, but deny the simple logic that gods can only exist for those that believe in them. So it's a contradictory mindset. Which isn't bad, by any means. We humans believe all sorts of different things whether they are based on reality or not.
Comment: @Kramii You clearly missed the point.  There IS objective evidence for the existance of Ricibob.  There IS NOT object evidence for the existance of God.  It is that that makes belief/faith play such a key role.  That is precisely the point I was attempting to make - I clearly failed because you failed to see that.
Answer: Don't lie to your child. Santa is a poor reason to ruin trust between you and your child. If your child is coming to you asking about santa being real, it's because they trust you and they want to know what the truth is.
You stand to gain NOTHING from lying to your son. Sit him down today and break the news to him, he'll trust you more when you're done.
Comment: Well said, Jonathon.  I think the answer could be paraphrased as, "Children stop believing in Santa Claus when their parents decide not to lie to them."
Comment: This is a silly argument. My older son has figured out the truth about Santa, and doesn't trust me or my wife any less for "lying" to him all these years. All of us had a lot of fun with it over the years, and he understands that we kept it going because he and his little brother enjoyed Christmas even more because of it.
Comment: You're not answering the question ("when?"). You could expand your "sooner than later" into something that could be an answer.
Comment: @DA01 I love that you picked this answer by this answerer to post your irreverent list of truth.
Answer: My brother is 10 years old, and he is in that (i don't think he's real, but i still want to get presents, so i say he is) stage. I myself found out when i was 11, My 2nd brother found out when he was 9, and the youngest is getting there. And for those who say "don't lie to your kids about santa, that makes them not trust you" please, keep that stuff to yourself. I am glad my parents made santa so believable. I honestly had no idea. But let your kids find out on their own. As long as you believe santa is real, then he will always be there, in your heart. :)
Answer: My parents always inspired us to spend all of December in a Christmas Spirit. We volunteered and gave away old toys. My mom tricked me by saying that the toys would be given to other kids, by Santa. If we wanted him to bring us great toys we had to take care of the old ones. If we ruined our toys he would bring us stuff other kids ruined. It did mean my stuff lasted longer though, so I am much better at taking care of my belongings today and I'm not a hoarder because I know it feels better to give something you've cared for away than to keep it even when you stop using it. The lies my parents told actually made me a much more creative person. I didn't grow up with my head in the clouds, though I visit up there and it's helped me so much with my career. So don't worry about 'should my child still believe...'
Everyone wants to treat their kids like tiny adults, even through the greatest inventors and creative minds say the best thing that ever happened was no one putting limitations in their minds. Kids want to believe they can fly to the stars in a cardboard box? What are you going to do? Tell them about physics and density and the atmosphere and what happens when all the chemicals we need to live are suddenly absent in a vacuum; or are you going to buy them a box? We would never have gotten to the moon if everyone had been told it wasn't possible.
So my best advice as a child who grew up and has been a part of over six thousand children's lives: Let them believe. It's fun for both sides and you're rarely going to encounter a kid who says 'my mom and dad LIED to me about Santa! I hate them for that." You are giving them presents after all. Almost 1/4th of the kids I work with say they knew Santa was not real around the age of 6 or 7 (a few knew at around the age of as early as 4 and as late as 9. Both groups seemed to be similar in development and intelligence, the difference was in their parents' ability to keep the fantasy going and how curious the kids were about meeting Santa) but kept pretending to believe because it got them toys and it was fun to kind of counter their parents. A sort of mine battle with their parents, where there was no fighting and no real winner or loser.
Parents: "Tell Santa what you want for Christmas."
Child: "What?! He didn't get my letter?"
Parents: Er... not yet. Tell him again.
Child: Okay! I want the stuff I didn't get last year. You have your list, right?"
It's a fun game. For me, I respected my mom and dad more because of what they went through to keep the game going, and I saw them more as people rather than authority figures because it was a time when they would not tell me "Because I said so..." They couldn't just say Santa did something because they said so. They had to get creative about it and think up explanations that a child could understand.
It was so much fun to hear their explanations!
"How do reindeer fly?"
"The reindeer don't fly. They just control the direction. The sled and the straps are made of star dust, and you know how everything floats in space, right? The sleigh and even the reindeer's shoes are all made of stardust..."
I can still see him trying to find a story a child would understand all the while he's actually a physicist who had to go back to work in 9 days and teach college Juniors and Seniors about how nothing he told me was true at all. My mom was an engineer though, and she came up with the most amazing explanations. She actually had me back on the fence of if I believed or not for awhile. My brother is autistic and he stopped believing at around 8 years old, be immediately teamed up with my parents. No hurt feelings or loss of trust. He's a smart kid, he just dissolves into his own world sometimes. Trying to keep the Santa myth alive was actually really good for him. He actually felt like an older brother and would talk more. It was amazing, actually. If someone tried to tell my sister or I that Santa wasn't real, my brother could often get his thoughts back into the real world and tell that kid to back off or get punched (my mom and dad are 5'11 and 6'3... my brother towered over everyone and he liked super heroes so he mimicked them sometimes.)
Have fun with it and your kids will do the same, but understand that around the age of 7 they usually know the truth. If you're creative enough to have them believe longer, then just keep playing! It's not like they'll get to 6th grade and still believe in Santa. You say your kids treat Santa like a real person, and that's fine. There is a chance that someone at their school will have parents who didn't teach their kids to respect the beliefs of others, and they'll be crying and ask you if Santa is real. Best thing to do is tell them about the real Santa and how it honors him to pretend and that is why many parents do that- to keep the memory of a great man alive. So is there an age? Yeah, 7-ish, but it's not a rule.
Answer: As for ages, I don't know. I figured out that Santa was my sister when I was four, I'm told. I don't think my younger siblings ever believed in Santa. So I have no experience in when kids in general figure it out.
As for transition, my answer to "Is Santa real?" will be: "Well, what do you think?" Teach the kids to think for themselves.
Then again, I don't see the point in lying to kids about Santa or the Tooth Fairy or anything else, so I suspect I'll have an easier transition, as I won't have lies to explain away. :) I guess a good explanation is that Santa is make belief and pretend, like dragons, and The Cat in a Hat, or when you play Colonialists and Indigenous Population.
Comment: Hold the phone. Santa was your *sister*? That's... a novel approach to the legend.
Comment: @deworde: I suspect the choice was highly limited. It's not like I had a brother.
Comment: Sure, but how long did they reckon they could keep that fiction going... Well, 2-4 years, apparently.
Comment: @deworde: It's not like you have any concept of what is going on at that age. I do remember that I recognized my sister on the shoes. Probably wouldn't have mattered who it was. And who says mum expected it to to work more than once? The year after we probably went to grandma and grandpa, and there would have been more options. I think you assume a lot of weird things here. :-)
Answer: When do Kids Stop Believing?
There is no right answer to this question.  Kids will believe based on their experience, the evidence they've witnessed, and other factors like the testimony of their friends at school.  Certainly there are different Christmas traditions (some outlined below) that will play into how long a child continues to believe.
I wouldn't worry if a child of any age continues to believe (although there is a point in which they will all figure it out).
In terms of how to handle the transition, I suggest opting this stance.  When you tell your child that "Yes, Santa is Real" what you are really telling them as that "The Christmas Spirit is Real".  Santa becomes a metaphor for all that is good about Christmas, sharing with family and friends, and celebrating the season together.  Putting it in that context, you need never admit that Santa is not real on some level.
Just read this classic editorial if you never have, and then tell me that you don't believe yourself.  From this perspective, I certainly do.  And you can certainly show this piece to an older child, helping to share with them the true meaning of Santa, and at the same time encouraging them not to spoil the mystery for younger children.
Some Background On My Own Experience
I believed in Santa for a long time, maybe till I was 9 or 10.  My Mother (to this day) won't actually say out loud that Santa isn't a "real guy".  She took a lot of precautions to preserve this beautiful little mystery for my siblings and I.
I know some families have the tradition of an adult dressing up as Santa Claus and making an appearance for the sake of the kids.  Based on what some people have told me, in these families the children will stop believing in Santa Claus much earlier, because obviously, after a certain age, they begin to recognize the adult under the costume.
In my family things were different.  Santa was a mysterious notion -- he never made an appearance in person.  We were told that Santa wouldn't come unless we were really sleeping.  We also had some Christmas rituals that helped create "evidence" to prolong the mystery.  On Christmas eve we would always leave a plate of cookies out, and a carrot for Rudolph.  When we awoke in the morning, not only were the stockings full, with a neat stack of new toys for each child, we would have a personal note from Santa, written a gold pen.  An empty glass of milk, cookie crumbs, and the stub of the carrot provided further evidence that he'd been by.
Another thing that might play a role in kids "figuring it out" more quickly is whether toys are wrapped or not.  In my case, toys under the tree that were "from Santa" were never wrapped in paper.  If you do wrap toys from Santa, you'll want to save out the paper in a hidden place and use the same stuff every year.  Or at the very least, use a different roll of wrapping paper than what you've used for your family presents.
Answer: I am in that same postion with my son. He is 9 years old. So far he still believes. I don't plan on telling him anything. He will figure it out because he is a smart boy. He asked me last week if I believed in Santa and I told him yes I did. That wasn't a lie. Maybe in a different way then he does but I do beleive in Santa. I would NEVER take away the magic of it all. If kids can't believe in magic then it's a sad thing.
I find out when I saw my father putting presents under the tree. I was 9 years old.  I never thought that my parents lied to me or I couldn't trust them. Kids don't think like that.  They believe all parents are good. They have untainted hearts and thoughts.
Answer: I had the same question, which is how I landed on this page.  My older son is 9, and he is starting to ask a lot of questions.  Instead of flat out lying to him and insisting that Santa is real, I tend to ask him a lot of open-ended questions to get him thinking.  If he wants to still believe, he will.
I was probably about 10-11 (and my older sister about the same) when I stopped believing.  I never once thought of my parents as bad parents or liars because they told us Santa was real - it was a very magical time, and to this day, I know Christmas is much more magical with believers in our midst.  Part of why I will let the boys hang on to it as long as their hearts want to.
We do a lot to "help" the boys believe...  we leave out cookies and milk for Santa, and carrots for the reindeer.  The boys sprinkle "reindeer dust" in the yard - which is oats and glitter, so they can find us better.  All presents are from Santa, so we don't have to worry about wrapping paper.  Tags are written with my left hand (I am right-handed), and we ring a sleigh bell in the house at midnight on Christmas Eve after the stockings are filled, presents are under the tree, milk/cookies/carrots are gone and letters from Santa to each of the boys are in place.  My sister lives 12 hours away and she gets in on the fun by sending the boys each a letter with a North Pole postmark about 2-3 weeks before Christmas.  And yes, we have an Elf on the Shelf.
It's such a magical time of the year, and I will cherish every memory of "Santa-time", as the boys already do.
Answer: Our daughter suspected the tooth fairy wasn't real by age 6 but decided it was in her interests to keep believing for a bit longer. We don't do xmas so santa was never an issue. In one breath she'd tell us there is no santa but in the next she'd talk about the tooth fairy as if she were real. There is not a lot of logic in a child.
Comment: A trusted source told her the Tooth Fairy exists, but never claimed the same about Santa. As a result she believes in the Tooth Fairy but not Santa. That's perfectly logical, and you would do the same. Lack of logic only comes into it if they continue to believe something despite being proved wrong. And kids don't do that. Only adults do. :)
Answer: I always told my (7 yo) daughter that Santa is real, for little kids. As you age, he brings fewer and fewer presents, and your parents give presents too - definitely separate paper! As you get to nine or ten, it's all from parents, but Santa still loves you. She loves it, even though she suspects, we both enjoy it so much. It's harmless and kind of magical.
All these people who "never lie to their children" - I suspect they don't have any kids. I never hesitate to lie to my child if it protects hurt feelings and I'm able to pull it off, or, in the case of her heart defect, prevented the child knowing her life was/is in danger. I keep her out of the room when doctors and nurses discuss her health, and lie to her sweet, blue little face about her long healthy life. Lies are not just harmless but necessary sometimes. Lies can take good care of a child until they are strong enough to bear the truth.
I LOOOOVE Christmas. I was raised without it, and it's bleak to be outside looking in. Even if the kids know the truth, you can make it a magical time of year, if not with Santa and present, then with charity and good works.
Comment: I understand your sentiments (because I do have a child) but in general disagree with them. I want my son to grow up able to deal with the world as it is, not as some pink and fluffy place where nothing ever hurts nor disappoints. Of course I emphasise the positives, and there are things I choose not talk about because my boy isn't mature enough to deal with them yet. Nevertheless, I don't think it is healthy to pretend we live in fairyland. Moreover, there is a world of diffference between lies about Santa and lies about a life threatening illness.
Answer: I personally stopped believing at age nine.  I believe it is best to just let them figure it out but would suggest you tell them if they get too old.  Personally, ten seems about the right age to tell a kid if they haven't already figured it out.
Comment: It is *very* important that when you give an answer you give some context as to *why* you believe it to be true.  If people just wanted a number, they would set up a facebook poll: the value of a Stack Exchange question is that people get real, thought-out answers.
Comment: The asker didn't ask for stories or context.
Answer: Psh! I lie to my kids all the time. From a technical stand point that is. If in general lying is just not stating the truth then yes, we all do.
I suppose I would go with about 5 based on my kids' general development and how they handle the concept of creative thinking, like movies. They have asked me if the disney movie little mermaid was real. Of course it is. It's one of the finest documentaries ever made. And so is the predator, stephen king's IT and a wealth of other stories that are so obviously made up they will resolve their truths by natural order much sooner than later. So yeah, I don't really tell them santa is real. I tell them he breaks into your house at night looking for cookies but he's clumsy, so he tends to drop presents while doing so. If he finds none, he will burn down your tree. And his HO HO HO is more like a horrid evil cackle like a cartoon villain whose plan has unfolded perfectly. The way I tell it, they laugh like they know I'm joking. Am I lying? Well, I guess to the staunch, stick in the rear, strict insane moral standard parent I am, but honestly I don't care.
I'm actually more afraid of them believing in the whole christian side of the holiday, if that exists anymore, than whether or not they will be mad at me for going along with such an absurd pseudo-truth as santa clause. As the years go by we try to get them involved with charities and helping out so they transition from crazy gift showers to giving a damn about society. It will happen gradually, and 5 years is a good age. We got ours volunteering with a soup kitchen at 4. But 5 years, they were much more lingual and communication was a lot easier. When they can follow what you say, then you can devise your own methods for desaturating the myths of any holidays.
Just figure this one thing though - The world sucks. What little magic there is out there may be of utmost importance. Think of a clever way to transition the magic instead of outright saying it doesn't exist. It's not that santa clause is false. We're all santa clause for our kids. If they choose to be santa some day, they will be too.


Anyone know of a Finder replacement?

Question: I am starting to dislike the Finder. Does anybody know of a good Finder replacement, something Unixy or Nexty which will still work with all Mac OS X applications?
Comment: How Unixy? Terminal is about as Unixy a Finder replacement as you can find!
Comment: Something that works like WindowMaker or CDE for example.
Comment: I actually do use Terminal for a lot of my tasks. It is most of the time easier and faster.
Answer: When it comes to alternatives of Finder, there are two major alternatives.
First, you have TotalFinder. It looks a lot like the normal Finder, but it can do so much more. You can copy/paste across windows, you can work with tabs or dual screen,... It's my personal favorite. I've been using it for many months now.
The second alternative is PathFinder. I don't have any personal experience with this software, but when I take a look at their website, it has some cool features too.
So, my advice is to check those two options and I can suggest you TotalFinder!
Comment: TotalFinder is for the average user while PathFinder is for power users and included lots of Command Line goodness.
Answer: Terminal might sound like a cop-out, but it's as Unix-y as it gets, loaded with Command Line Goodness. To better integrate into the Mac experience, be sure to check out the open command, which can launch applications, or open files using their designated application.
Comment: That's a nice answer! A bit difficult, but once you get the hang of it, you'll love it!
Comment: I am wondering whether X11.app could be used as a Finder replacement.
Answer: I'm a big fan of ForkLift (free trial, $30). It isn't cheap, but it's well worth it.
It's basically a souped-up version of Finder for power users.
I recommend that you try out the beta of version 2.5; it's stable and has some features that the stable version is missing.
A few of my favorite features

Dual-paned windows
Tabs
Store commonly used 'workspaces'
Save and mount remote connections
Work with archives without unpacking them

One especially Unix-y feature is the ability to create 'tools', which are shell scripts to run on selected files.
Comment: And if you want to set it as the somewhat-default file viewer, see this question I recently asked - http://apple.stackexchange.com/questions/45809/set-forklift-as-default-file-viewer
Comment: This doesn't seem very "Unixy or Nexty" to me.
Comment: The tools feature sounds Unixy.
Answer: As @DanielL said, Terminal can be a great solution, however I wouldn't use the default Apple terminal for this, I would run TermKit since it has a nice graphical interface despite its terminal-ness. Using terminal commands and typing in the name of each file loses the 'finding' aspect of the Finder, where emphasis is placed less on exactly where the file is, especially on Mac OS Lion. While tab-completion partially fixes this, it still has a lot to catch up on.
Answer: I use both TotalFinder and PathFinder.
For general Finder-type things, I find TotalFinder very similar to the Finder with the major benefit of Tabs (yeah!) and Dual Mode, where you get two Finder windows side-by-side. This is great for moving files between folders.
PathFinder has many more advanced features:
You have 4 panes (2 on each side of the PathFinder window) that you can customize. I have mine to show:
1) Processes - showing all open apps
2) Selection Path - showing the full path to the selected file/folder
3) Recent Documents
4) Recent Folders
Below your PathFinder window you can set up various options, too. I have mine to show:
1) Info - similar to Get Info for the selected item
2) Preview - which is, well, a preview of the selected item
I have barely touched the full features of PathFinder. Check out:
http://www.cocoatech.com/docs/pf/start
for more details about AppleScript and developing for PathFinder.
Bottom line: If you want a simple enhancement to the Finder, I would suggest TotalFinder. If you are a scripter or programmer, I would go with PathFinder.
Answer: You may find this post interesting:
5 Alternatives to the OS X Finder (It includes descriptions with some pictures)
Sumarizing the post:

1-Xfolders
  2-mucommander 3-Disk
  Order
  4-FileBrowse 5-Path
  Finder
Answer: Perhaps not what you had in mind, but for something "terminal like," I use Alfred, which is (IMHO) the best-of-class in application launchers. The basic version is free, but I liked it so well I sent them $45 or so for their deluxe enhanced version family site license plus lifetime free updates. There are other price-points, as well.
In practice, you hit a hot key and start typing the name of an application, document, script, website, email, whatever, and it presents you with a list of ten things it thinks are close matches. You then pick one using mouse or hot keys. It then "learns" your abbreviation, and moves your choice to the top of the list next time.
It does lots of other stuff, as well, such as keystroke folder navigation.
I loathe crawling around the Finder for stuff, and don't even like using the Dock. With Alfred, I drive about 50% by keyboard.
Answer: For NeXTy try RBrowswer It is really a ftp client but the file browsing works like NeXT's file manager including shelves
Answer: That the question! We use the Finder to organize and retrieve our files. What means "Finder replacement", something like TotalFinder, PathFinder, …, or a really new way to manage our files? I mean, a new concept able to replace the Finder main function : managing our information.
If that is the question, if you AskDifferent, the following may interest you. I must be honest, I am also the developer of this new concept. But if you know any app that looks like mine, let me know.
The Finder use the Space to organize our files. The Space is divided into subspaces, or folders. As an alternative, or in addition to the Space organization, this new concept use the Time to organize our information, as we do with our brains. All day I record with my 5 senses lots of information. Will I have archive them in folders? No, I simply move the TimeCursor of may consciousness to remember. Like us, this new concept uses a temporal navigation rather than the spatial navigation (like the Finder) to retrieve information.
Here is a presentation of the new concept.

Anyone know of a Finder replacement?


Do you ever read language specs?

Question: While trying to answer questions on SO site (particularly C++ questions) I find that most of the times one person or the other includes a quote from the standard. I myself have hardly read the language spec. Even when I try to read it, I can't get my head around the language used in the specs. So, my question to become a good developer in a particular language is it essential to read its spec and know all its dusty corners which invoke undefined/implementation defined behavior?
Answer: I would say that knowing the spec inside out is not a requirement to knowing how to program in C++ or even to become a excellent C++ programmers.
I would say though that being able to find information from the spec is important, if there is a part of the language that you are using that isn't very well documented.
It is also important knowing where your compiler doesn't meet the spec if you want you code to protable between compilers.
Answer: No it not essential to be a good developer in a particular language. However it helps a ton when answering a question in a definitive way. So StackOverFlow users use it a lot.
Comment: I agree, it really depends on what type of work you do. I would assume that a great chunk of coding, is basic simplified code revolving around basic MVC and oop structures using basic operators. A small chunk of total programming time involves sophisticated issues that will compel a person to delve into specs.
Answer: As one of the guilty parties, I'll add my 2¢ worth. No, I don't think it's necessary. Unfortunately, in C++ it's closer to necessary than almost anybody would like -- i.e., as Bjarne put it, C++ is "expert friendly". You need to be aware of a lot more details than anybody would like to be able to use it well. While probably true to some degree in almost any case, this is much less true in many (most?) other languages.
The other side of it is that a lot of times people are asking about relatively subtle details of the language that, quite frankly, darned few people really know off the top of their head, so those of us who provide answers about them often have to look up the details to be sure we're right. I also find that quoting from the standard has a tendency to prevent a lot of arguments -- even when I do know an answer, it'll frequently be questioned (to at least some degree) if I just say: "here's how it is." If you quote the standard, far fewer people will argue, so it can save time and effort in the long run.
Ultimately, I think knowing the standard (or the dark corners of the language) really well is less important to programming per se than to mentoring others about the language -- even cases where you just say "don't go there!" About the only programming to which it's important is writing code that actually works with the language (tokenizing, parsing, analyzing, etc.)
Comment: You treat the choice of whether or not to read the spec as a yes/no when it isn't. I could read part of it too. I feel like many people think they have to read the whole spec WHEN THEY DON'T! Reading part of it is better than not reading it at all.
Comment: The question specifically talks about knowing "all its dusty corners", which implied to me that it was about really studying the spec in a great deal of detail, not just reading some parts. At the same time, I doubt anybody *fully* understands the entirety of the C++ spec. It's too big and too complex.
Answer: The Common Lisp Hyperspec is a really useful bit of documentation. I refer to it a lot.
Comment: @Paul:  Having read both, it's a whole lot clearer than the C++ spec.
Comment: Arguably, though, it has the advantage of (1) availability, (2) Lisp documentation is not as extensive as it is for other languages.  (Although I refer to it constantly when I do Lisp work too; maybe it's just that much better?)
Comment: +1 because I find myself referring to it too, but if you want to see some good language docs, check out what the Racket guys are doing http://docs.racket-lang.org/ (of course, their system is well beyond just a spec).
Answer: I've read the Haskell spec, which is useful not just for the language definition but also because it contains source code for the Haskell Prelude. Reading the Prelude code gave me a good grasp of common Haskell idioms.
Answer: I do read language standards on occasion, but not everybody does.  Certainly it's possible to be a very good developer without ever touching one.
What you need is the knowledge of the parts of the language you're going to use, and somewhere to go to find out about what the stuff you don't understand in other people's programs does.  You don't need to know exactly what constitutes undefined behavior if you make sure you never go near it.
To give an example, in C++ you could avoid starting any identifier name you write with an underscore.  There are rules as to what names starting with underscores are reserved for the implementation with what linkages that you could learn, or you could just stop writing your own identifiers with leading underscores.
Answer: I've read an annotated version of the C# Spec (for version 3 I think). I can't say that I learnt anything mindblowingly new (I'm sure I learnt a bit but nothing stands out in my mind) but I did get a a deeper understanding of why things are the way they are. I found the annotations really valuable where they explored compromises that had been made in one or another. For me at least, this background knowledge makes things stick in my mind much better and I think I'm a much better developer as a result.
Answer: I don't think not reading language specs themselves keeps anyone from being a good programmer, but reading them certainly wouldn't hurt. Reading specs straight through is boring as heck, and I don't blame anyone for not doing so, but reading specs in pieces when working on related items isn't so bad and I find I retain more over time doing it that way anyway.
Answer: I learned C# from the language spec, which I believe was floated at least a couple of years before Visual Studio.NET was released. But that was more of a matter of just taking note of what was different from Java - I don't know if it would be such a good way to learn a language that was a lot different from what I already knew.
Answer: I never read specs because I mostly use newer languages that don't have a formal, legalese spec yet.  My main languages are Python and D and AFAIK neither one has a formal spec, i.e. one whose intended audience is language lawyers/implementers, not average users.
Comment: Until recently, the Python language reference was said to be [for language lawyers](http://docs.python.org/release/2.5/). It was probably said in jest, and new documentations omit that.
Answer: Once. I read the Java Spec. The only reason I read it was I was competing nationally in Java Programming for FBLA (Future Business Leaders of America) and thought it would give me an edge.
It was helpful, but the ROI (return on investment) was too low for me to do it again.
Answer: Once I had insomnia for a few days so I read the whole ECMA published C++/CLI spec. What a great read.
Comment: downvote explanation?
Answer: Knowing the C++ spec (being able to look things up, or quote it on StackOverflow) is relatively important for C++ because the language has lots of undefined behavior that compiler implementers can do whatever is convenient with those undefined areas. Just because your compiler accepts the code and just because it runs correctly doesn't mean it's portable. You may be relying on features of your architecture, features of your operating system's ABI/API, or features of your compiler (or of a particular version of your compiler). So to know what's portable C++, and what guarantees you can rely on, you need to refer to the spec. Your compiler won't know.
Most other languages leave a lot less program behavior explicitly undefined, so you refer to the spec to the extent that you find it useful as an API reference.
Answer: I used to be the unofficial "language lawyer" for C where I used to work.  I had the official ANSI X3J11 spec, and got to answer all the weird "is it supposed to do that?"-type questions.  You definitely don't need it to do 95%+ of the coding most shops do, but it can be handy in those cases where you run into some odd corner case that the compiler manual doesn't even try to explain.
Answer: Depends how big the Spec is. The C# Spec is big and has a lot of complicated language, so I've never read it.
I did learn C# through the usual ways of Experimenting and Googling and only after I got a good understanding I read small parts in the spec, mainly about Bitwise operators because I needed it.
At some point I decided that I want to write a compiler for .net, so I did read large parts of the CIL/CLR spec (and forgot about most of it again).
On the other hand, I did read the Lua spec prior to using it, mainly because it was cheap ($17 as a printed book) and very small, with only ~100 pages that are also written in 'easier' english.
But then again, Lua is much much simpler than C#.

Do you ever read language specs?


Does OpenGeo Suite give their full capability for free?

Question: Can you help me to decide if I should install Geoserver, PostgreSQL and OpenLayers by myself or should I use OpenGeo Suite as it involves all these? I would need full capability which all these technologies offer when installed outside OpenGeo Suite and I would need to be able to host my own data.
Answer: The answer is 'yes' it provides full access to all packages for free. More details on the 'costing' page here.  Whether it's better to install each application separately is a different question, and depends on your needs.
Answer: The Community release of Suite you can get for free has all the functionality of the upstream projects it is built from.  The Enterprise release of Suite available with an OpenGeo support plan adds a few extra plugins that aren't included with either Community or the upstream projects, but the support is really what is being sold, not the software itself, so the Community release is not stripped or crippled.
The one caveat is that the upstream projects will be a bit more recent.  A Suite release involves a bunch of extra testing to ensure that the particular versions of all the projects, and the various changes, tweaks, and configuration that turns it into Suite all work together on the particular supported platforms.  You get a more integrated product as a result, but it takes time.
Answer: From my experience and reading the only reason I've found to install everything separately is when you need to run multiple instances for load balancing and related purposes. So if you want two GeoCaches running from the same GeoServer you want to install them separately. If you need multiple GeoServers, I'd install them separately. For most purposes its simply easier and affords better coordination if you use the stack. Whether one is better than the other is, as Darren said, totally dependent on your specific use case. If this is your first experiment then by all means install the stack and get to experimenting quickly. OpenGeo doesn't prevent you from customizing and controlling the settings on all the components. It just makes it easier and faster to get started while offering support and a couple of toolkits to help you get started, such as GeoExt. Have fun!


How do you prevent injuries from bad posture while playing classical guitar?

Question: I'm tagging this as specific to classical guitar since that's what I am familiar with. The correct posture is very important which playing classical, including the footstool, the position of your hands, shoulders, wrist, back and neck. Prolonged bad posture can lead to injuries. How can one always be conscious of these things and maintain correct posture? Additionally, what are some good exercises to prevent injuries (along the lines of RSI prevention exercises for computer users) ?
Answer: I had to stop using a footstool altogether and instead put both feet flat on the floor and use a cushion to elevate the guitar into the correct playing angle. This enabled me to keep my spine straight and my hips in the right alignment.
The other device you can use is a support bracket that attaches to the underside of your guitar.

I'm convinced that using a footstool actually fights against good posture by encouraging your pelvis and spine to assume stressful positions which can cause all kinds of fatigue.
Answer: I don't think there's a 'correct' posture, it's different for everyone. Sure there are conventions people follow, guitar on left leg, footstool, etc, but the best one for you is the one that allows you to play what you need to play without any pain. I'm a tall guy and I went through dozens of different setups before I found something I liked.
Taking breaks after 45 minutes is a good piece of advice, while subjective, I'd also state that you shouldn't practice more than 4 hours a day. If it takes longer than that to do your exercises and work on your pieces, you need to adjust your strategy.
One of the biggest things you can do with your posture is to always make sure you're aware of what you're doing with you body when you're playing. When playing, occasionally stop and ask yourself if you're tensing any muscles in your hands, body, jaw. Playing in front of a full body mirror or video recording yourself can help.
Comment: +1. I've found the recording approach to be really helpful - catches a lot of small errors. I wish I could practice 4 hours :) - due to my day job etc I can only put in an hour every day.
Answer: Pick a hard chair, sit towards the front of the chair and have a foot rest for your right leg. Don't cross your legs while playing, don't sit back in the chair as if you're going to enjoy a cocktail - you can adopt that posture after a solid 10 years of practice.  As always, when it comes to the back, it also helps if you actually exercise: sit-ups help, don't laugh!!  Take breaks every 45 minutes and remember that when you are practicing scales some of the physical stress might work it's way from your finger-tips, down your wrists, through your forearms, and eventually end up in your lower back: Breath, Relax and Break up repetitive exercises with fun pieces!!
Comment: +1. I exercise regularly. My job involves a lot of computer activity, so I need to be careful about posture there too. I already have some symptoms of RSI in my left hand - so I've become really careful about doing 'the right way' any activity which involves the hands and wrists.
Answer: I know this isn't the "typical" classical guitar posture (and in fact, classical guitarists are going to flame you), but I find it relaxing.
However, keep in mind it is also harder to play guitar with this posture.
Answer: The question is "how to be constantly aware of posture?"  (not, "what is a good posture")
The answer is that you must change your perception of what part of your body is actually "playing" the guitar.
Let me use an analogy of a tennis player:  the tennis player can stand flat-footed and "muscle" the volley using just a swat of her wrist and forearm, but every tennis pro will tell her that she must use her whole body to strike the ball, the racquet stroke comes from the core, not the hand.
So it also is with classical guitar posture, though of course it is a much more subtle effect.
If you feel your string pluck to be coming from your finger, that means you are "fighting" the motion with your forearm.  In your perception, "move" the effort of plucking to your forearm.  Then, when you perceive the effort of plucking to be in your forearm, "move" the effort up into your shoulder/upper arm...then to your back...then to your core.   Same with the left hand.
If you mentally "place" the sensation of effecting a fretting or plucking movement in your breathing core, instead of in your fingers, then you naturally tend to optimize your body position.  Also, to an extent, the action does actually begin to come from your core, and that's very advantageous, because your fingers have small muscles that tire easily, your core has large muscles that are not stressed by the action of playing.
To recap:  To raise your awareness of posture, "place" your perception of the origin of your guitar playing motion deep within your body, in the large muscles.


Shoreline identification using ERDAS 2011

Question: How can we separate shoreline from shallow water sea and land area in a LISS 3 image using ERDAS 2011 software?
Answer: I'm not a user of ERDAS software, but i'm wondering if you could use any of these datasets to help you distinguish particular features in the coastal environment you're working on?
I've found the GSHHG dataset a useful tool in the past.
Answer: There are several options for land classification using Erdas. Since LISS3 imagery has two IR bands, you will be able to see good discrimination of water and land/vegetation.  There are two major groups of land classification: pixel-based and object-oriented classification.  For pixel-based classification methods, try using supervised maximum likelihood classification or ISODATA unsupervised classification--each are available in the Raster tab.  Erdas Imagine also has a module for object-oriented classification called Erdas Imagine "Objective".  I should note there is a steeper learning curve for the object-oriented classification.  Either way, you should have good luck differentiating water and land with your imagery using any of these methods of land classification.


How does the earth move?

Question: My son who is 5 years old is asking me a question about how the earth moves around the sun. What answer should I give him?
Comment: Are you talking about the shape of motion, or the physics behind why it revolves?
Comment: Good question- I guess the physics is harder to describe to a 5 year old so I will accept an answer that addresses the physics at the level of a 5 year old.
Answer: The earth goes around the sun kind of like a ball on a string goes in a circle when you swing it around. Instead of the string holding the earth, the sun's gravity holds it. As the earth goes around the sun, it also spins. This makes day and night. You can see this with a flashlight on the ball when you spin it with your hand.
Part 2:
Since gravity is a little flexible, in a sense, the earth's orbit around the sun is not a perfect circle. Sometimes we're closer to the sun, and sometimes we're farther away.
The Earth's spin is not directly lined up with the sun. The Earth is tilted. So sometimes, the sun hits our part of the Earth more directly. When this happens, we get more heat and that makes summer. That's why in summer the sun is higher in the sky at noon.
Comment: PLEASE don't say "Earth is tilted" to the child as this will serve no purpose unless you say with respect to what. It will mean nothing to the child and will only serve as a placeholder for actual understanding should the child ever take an astronomy or physics course.
Answer: Okay, take this thought experiment..
Prerequisites - knowledge about gravity i.e. not more than that things fall towards earth.

Thought experiment - take a cannon and fire form the surface of earth horizontally from a high tower. Initially, the cannon ball would fall on the ground. Now gradually increase the velocity of the cannon, this will make the cannon ball fall further and further. Now a point will come when due to the spherical (ovoid to be more precise) the cannon ball would actually try revolving around the earth.(btw this velocity is called orbital velocity)
Now take this analogy and explain this happens with the Sun and Earth.
You will need the basics of how earth got separated form Sun( i.e. how it is acting like a cannon ball, anyway there is no consensus about how the satellites are present!).
So this answer might suffice!
Answer: I will use Vineet Menon explanation. The main issue to comprehend, to my understanding is why does are the sun and earth interacting to begin with. I would explain that by letting an orange (or an apple, or a soccer ball, or his favorite regile toy or what ever) fall to the ground and ask him what connects the two (the ground and they toy). This should give you about 5 minutes of silnece before he comes up with any conclusion.
Once your son understand there is a gravity, it should be simpler to explain to him that the earth constantly falls into the sun but it also has an additional velocity which holds the earth in orbit (Vineet's explanation).
Note: I'm a father to a 2.5 years old and a 8 month old.
Answer: I would start with the How by observing how the earth moves using, e.g., NASA's new Eyes on the Solar System site. Even at this point you can fascinate the kid by explaining the lunar cycle.
Then, in order to explore the Why you can attach an object (preferably a sphere) to a string and rotate it. Then explain by analogy focusing on the following points

The earth is attracted to the sun by gravity like the sphere is attracted to your hand by the string
Since it has been already in motion it will continue in a motion that is similar to the circle formed by the sphere.

Remember that at this age it is not crucial to be rigorous on every detail (like ellipse vs. circle). It is more important to provide a qualitative understanding and to nurture the kid's curiosity
Answer: It moves in an ellipse, which is a shape that's like a circle that's been stretched out a little bit. The amount of stretching for the earth's orbit is tiny, so if you looked at an accurate drawing of the orbit you would not be able to tell it was not a perfect circle without measuring.
If you want to draw an ellipse, you can use this method. Just remember that for the Earth's orbit, the two thumbtacks would so close that they would be on top of each other.
As for why it goes around the sun, think about a cannon shooting cannonballs horizontally on earth. As the speed of the cannonball coming out of the cannon increases, the ball goes further and further. Eventually, it goes so far that the roundness of the earth causes the ground to "get out of the way", and the ball is able to go even further because of that. Eventually it can make it to the opposite side of the planet. As you add more and more power to the cannon, it can make it even further than the opposite side and starts coming back the other way. Eventually, it comes all the way back to the cannon that it was fired out of.
In space, there's no air to slow the ball down, so if it were shot off of a high platform, it would reach the cannon it came out of at the same speed it came out of the cannon. It would then go around and around, repeating the same path over and over.
Comment: That was useful. However, I would appreciate it if you could explain the physics of revolution at the level of a 5 year old (a challenge, I admit).
Comment: I hope this helps. I don't know a lot about how much 5 year olds are able to process. Let me know what needs elaboration or simplification if this is too complicated.
Answer: My suggestion would be to simply show him a picture or better yet animation of how the earth moves around the sun. There are also a number of interactive gravity simulations like "Universe Sandbox", that let you play around with gravity.
If the question is "why?" rather than "how?", then I would go with: No one really knows, but physicists (or some more age apropriate word) can predict the motion by using either Newtons theory of gravity or Einsteins theory of general relativity (What is a theory? You could probably just say there is one explanation/method by Einstein and one by Newton).
According to Newton massive objects attract each other by a force proportional to the inverse square of their distance from each other. (At this point you could use marbles to represent the earth and sun, then you can measure the distance with a string. To explain what the inverse of the square is, you could resort to some constructive geometry, circle inversion comes to mind. In Feynmans Messenger Lectures he gives a constructive proof of Keplers law, that you could take as inspiration).
According to Newton, this attraction is what causes the sun and earth to revolve around each other (If your son were a few years older you could use Eulers method to solve the equations of motion by hand and make a table to compute the motion, as it is done in Feynmans lectures).
To explain Einsteins theory of general relativity I would use several baloons, cut one into a rubber sheet (or let your son do it). Then take some markers and mark some points lines and circles. Now distort the rubber sheet and observe that the distance between points changes and how previously straight lines are bend and the area of the circles changes. Do the same with a baloon while pumping air into it. This demonstrates several features of curvature. According to Einstein space-time is a bit like a rubber sheet and massive objects distort it in such a way that things that would go straight, go in bend lines (again marbles would be helpful). The sun is like a massive marble at the center of the rubber sheet and the light planets speed along the indentation it causes.
Both those explanations assume a significant amount of knowledge on your part, to flesh them out and answer all the questions a 5 year old might have.
Answer: For a child of only 5 years old, I.m a science Teacher, it's enough to say that the Earth has 2 basic movements, the way it moves in it's place or axis, which is called the rotation that takes 23 hours and 56 seconds (remains for leap year), and the way it moves around the the Sun, which is called revolution that takes 365 1/4 days. There are other movements that are not understandable for his age level. That the tilting of the axis is what makes the seasons, that there is equinox 2 times a year when we have same hours of day and night and while he is in daylight others are sleeping.....blessings
Answer: The sun is bigger than the earth and the earth is trying to run away"ie velocity" but because the sun is a big bully it just will not let go. Rather bland explanation but may be effective without to concept of gravity the bigger bully has more gravity so can hold on alot longer and a smaller sun would not be able to hold on to the earth so we would "fly away" instead of being stuck trying to run away
Comment: I'm not sure how psychologically productive it would be to assign a negative quality to the sun/earth interaction.

How does the earth move?


What media formats supported by LR for embedding metadata?

Question: I am writing an article about migrating Lightroom catalogs to Daminion via XMP metadata.
Does anybody know what media formats supported by LR for embedding metadata. Except JPEG and TIFF formats.
Answer: Lightroom stores metadata in the XMP format and supports EXIF, IPTC (IIM), and TIFF metadata definitions (it converts and stores those as XMP as well). Where the information is stored depends on the format of the image the metadata describes. If the the original format supports XMP, it is embedded in the file. If not (proprietary RAW formats are an example), you will see a "sidecar" file generated with the .xmp extension.
Answer: Lightroom can embed develop settings into the metadata of JPEG, TIFF or PSD files.
Here's a screenshot from the Metadata tab of the Catalog Settings dialog..


Gmail: Is it possible to star a conversation while composing a new message?

Question: Sometimes I realise while composing a message that I'd like to star the resulting conversation. Currently I wait until I've finished writing and sent it, open sent items, then star the conversation. Is there a quicker way or perhaps a way to star it while I'm still composing?
Answer: I believe your only option while composing your new email is to click Drafts on the left, star your draft, then click the draft open so you can finish it.
Or you could create a filter for email@example.com and bcc it to this email address. The filter would then just star any emails that have bcc = this email.
Answer: You have three options that I can see without dropping out of your message editor:
1) Jump the editor out of the first browser window into it's own browser window
If you are in the message editor you can click on the icon the upper right corner (looks like two offset stacked boxes) that opens the editor in a new browser window.  (You can even do this in mid-edit.  It will copy everything you have typed into the new browser window)
Once the editor is in a new browser window, you can jump back to the first browser window and browse other emails, star messages and conversations and do any mail management that you need to do, all while continuing to edit your message in the second browser window.
2) You can actually star each message in the conversation while you are doing the editing of a reply.  The star icon is available in the upper left corner of each message in the conversation.
3) You can click on the "more Actions" menu and choose "Add star".  The more actions menu is at the top of the conversation thread on the message action toolbar.


Will frozen pearl onions caramelize as easily as fresh ones will?

Question: Will frozen pearl onions caramelize as well as fresh ones will? Besides draining the frozen ones, is there anything that I should do to them to aid their caramelization?
Answer: I don't have any experience with frozen or canned pearl onions (I assume canned because of the mention of draining), but I regularly cut and freeze 10lbs of onions at a time for ease of use later in the week/month (more info on how/why here).
With these onions that I freeze myself, caramelization seems to be the same as it would be with fresh onions.  I haven't done anything special when caramelizing with them, and there's been no increase in necessary cooking time or decrease in flavor.
If you really wanted to be safe, you could probably drop them in boiling water for a minute or two (or defrost them on the counter for an hour), but with how long it's going to take to caramelize anyway, I would think this extra step is unnecessary.
Also: if you're going to take the time to caramelize, but you're short on time during the week after work/school/etc, I recommend making a huge batch and then freezing the resulting caramelized onions as well.  Very handy!
Comment: I'd think they would caramelize faster if anything since the freezing will help break down the cell walls.
Comment: Great point, I completely agree.
Answer: I would worry about extra water in the pan from ice crystals on the onions. The maximum heat in a pan with water is boiling point. (100 C/212 F). If there's no water, but simply oil and the vegetables, the temperature can get much hotter. Additional water can steam the onions a bit before they start caramelizing. This will slightly change their texture. But the water will eventually cook off, and the onions will then caramelize.


Should senior programmers be required to take on and mentor a junior developer?

Question: In a shop that is intended to be tight-knit and supportive, should it be part of the culture that senior developers are paired with junior developers as mentors? Or should this mentoring be something that is more organic and spontaneous, i.e. not required, but allowed to develop without artificial encouragement?
Comment: Mandates do not work; in fact they often have the opposite effect. Al Capone was created by government legislature. Some East Germans who had to study Russian for 4 years prided themselves in not being able to say a single sentence in that language. Same thing can happen if you mandate the teaching of evolution or having the senior guy mentor the junior one.
Comment: It has to be organic to be worth anything, but it can still be forced in a way by deciding who is there in the first place.  Anyone who isn't working closely with the other developers, wether junior or senior, isn't worth much.  There should be an ongoing conversation among your team, and everyone should be learning and teaching.  Its a good reason to start people off as contractors or provisional employees to see if they gel properly.
Comment: @Job Do you ever wonder that a dev might end up doing the same crap all his _life_ [harmless exaggeration] if he **doesnt mentor** a junior to do _his_  [i mean common .. hes not gonna mentor her in physics]  job ?
Answer: I think it should be encouraged but not required; seniors shouldn't be assigned to juniors or anything like that, or else you'll end up in Dilbert-land. The "mentor-mentee" relationship requires some level of friendship at its core, as well as a healthy dose of MUTUAL respect. You don't get that by just telling to people to go off and "ment".
Comment: How do you encourage this then? How can you make sure the seniors and the juniors know it's ok to take work time to mentor/be mentored?
Comment: If you encourage a pair-programming model, often this kind of relationship simply falls out if you simply encourage juniors and seniors to pair. Besides that, foster friendships through the entire team; team-building exercises, outings, and other non-work interaction.
Comment: That does seem like a good way to foster friendships which should naturally lead to mentoring.
Comment: I agree completely, mentorship at its best gives back to the mentor as much as to the mentee, so open, "eye-level" conversations are a prerequisite
Answer:
should it be part of the culture that senior developers are paired with junior developers as mentors?

Yes.

organic and spontaneous, i.e. not required, but allowed to develop without artificial encouragement

It won't happen often enough to actually help anyone.
Folks with existing relationships in the organizations will be perceived as cliques or elitists by new people.  The cliques will not normally break down.  We stick with people we know -- it's an essential element of human  nature.
As a consultant for over 30 years (100's of client engagements) I can assert that new people are always outsiders.   It isn't a feature of "culture" or "atmospherics".  It's an essential feature of how people work.  The consultants form their own clique because the established staff don't tend to include them in anything.
The only way to establish mentoring is to insert new people into the cliques.
Comment: @Richard DesLonde: "I am getting really mixed answers"?  What did you expect?  It's a subjective question about "socialization".  There's no right answer.  If there was, we'd already be doing it.
Comment: @David Thornley and S.Lott: Can you share what you have seen in your experiences? Annecdotes? I am getting really mixed answers here!
Comment: @Richard DesLonde:  I've almost never seen mentorships spontaneously form, although I might not be the best person to ask (I'm a bit on the asocial side for a software developer).  The only time I saw it happen on a significant scale was when management asked for people interested in being mentors and mentees and suggested pairings.
Comment: That _is_ what I expected. But you and David are coming at it from the other side than most of the other answers, so I wanted you to way in a little more to balance out the answers. I want as much info from both sides as I can get. Thanks! :-)
Answer: The traditional meaning of a "mentor" somewhat defies assignments. You might as well try and assign friends.
It is fine, in my experience, to assign a new team member to use an established team member as their primary contact for questions during the first week, month, or so.
Comment: How would you then encourage mentoring? You want juniors to feel confortable being mentored, and you want seniors to feel comfortable mentoring.
Comment: @Richard: As a senior developer mentoring is a primary task. You don't become senior by getting old and growing a beard. If you can't mentor, don't get into this role. "Just" be a developer.
Comment: @Richard Usually the conversation goes something like: Senior Developer: "Those guys are writing terrible interfaces! It's screwing up everything I designed last year." Me: "You know, if you want the new guys to write cleaner interfaces you might want to sit down with them and explain your thinking."
Answer: Should senior developers be required to mentor junior developers?
Absolutely not.  Some good senior developers are going to be horrible mentors and the matchup of personalities is a must have for successful mentor ship.  I think, however, that senior developers should be required to make something about the development team better.  That could be prototyping something on the side, improving a process or practice, pioneering new tools, presenting technical material to the group, leading a team or something else.  In other words, they should have a responsibility for something that is bigger than the individual workshare.
Or should this mentoring be something that is more organic and spontaneous, i.e. not required, but allowed to develop without artificial encouragement?
Nope, don't agree with that take, either.  I've seen too many situations where mentoring is expected to be "organic and spontaneous" and it happens all too rarely.  I think organizations do need to take on the onus of giving mentorships a chance to get infectious - but it can't be forced.  That's hard, but worthwhile.  I think the organization could do things like:

Informal meet-ups between potential mentors and potential proteges
Suggested ways and opportunities for mentorship to be formally recognized by the organization (for example, if you are a place that has a charge number for virtually everything, create a charge number for mentor ship meetings - clarifying that this IS a viable part of the work)
Training and support for mentors
guidance to proteges for how to select a mentor and what to expect
guidance to mentors on what to expect and what to offer
Suggested (or enforced) patterns for mentorships with templates for participation - for example, it's much easier to give it a shot if you know in advance that your goal is a 3 month experience with weekly meetups and a goal of helping a new developer get up and going in the company.  Not to say it won't develop into more... but it gives a place for folks to start.
Answer: I think that making it a requirement could potentially backfire, as some people just aren't wired that way, and would be very turned off by the idea. That being said, you should identify the people that you think are suited to be mentors, and approach them about taking a more active role in mentoring (if they aren't already). This lead-by-example approach could catch on and inspire more spontaneous mentoring.
You might also schedule regularly occurring group activities, which will help the team to jell. These could be completely social activities, like a team lunch, or activities that incorporate learning about programming, like a weekly programming book club.
You could also have regular "mini postmortems" on systems, which would function like a group code review. One benefit of doing the review in a group setting is that everyone can benefit from the feedback, rather than just the person who wrote the original code. You might need to get some volunteers who are comfortable having their code judged to get things started, and be sure to maintain civility.
Answer: I have been in environments that do things both ways.
The first job I had out of school, I was assigned a mentor. I didn't like the guy, and I certainly didn't agree with him on everything. I resented being forced to work with him, and I was pretty sure my employer had made a mistake, but in retrospect I learned a lot.
Fast forward a few years, and now I'm with a company that treats developers with an every-man-for-himself attitude. Developers are under tight deadlines, and few if any allowances are made for developers who spend time taking others under their wings to show them the ropes. I think it's a shame. I see how junior developers struggle with the same things I did, but without a mentor to help them out it takes them a lot longer.
I have developed a reputation as "the mentor" because new hires "seem to appreciate the help I'm able to provide them". As far as I can tell, this is a fancy HR way of saying that I am willing to tolerate mediocre productivity reviews so I can do the right thing, which is to enable junior developers to do their jobs effectively and to improve rapidly.
I think that's what our junior employees deserve, and with the benefit of hindsight and experience, I think that first company I worked for, and that guy that mentored me, had a lot more figured out than I thought at the time.
All of this is the long way of saying that while I wish you didn't have to assign mentors, it is probably the only fair way of spreading around the work. If you don't, you should give the people that do it their due. It is not easy work; it requires both interpersonal skills and engineering skill; and it is time-consuming.
Answer: I never liked the terms Junior and Senior programmers.  For example, I've been programming for a while and although I have experience in some areas, I am very green in others.  For example, we are moving to WPF and although I have tons of windows forms application experience, WPF is still new and foriegn to me.  So although I am a "senior" programmer, you could hire someone off the street with way less 'total' experience and they could probably program a WPF application better and faster than me at this point.
Not to say I don't lots of good application design and architecture experience that could be applied to the WPF application, but I know my limits.
I guess you have to be willing to be the mentor at some times and the mentee at others.
If you have team members that are not afraid to be the mentor when they have the knowledge and a mentee at others when they need the knowledge, you will have a fruitful experience.
If you can foster that kind of development environment where developers are humble and are open to new ideas and help others along when needed, the sempai-kohai relationships will come out naturally.
Forcing mentoring will probably create a caste system which developers may resent each other.  Its better to treat every developer equally on the same level.
This industry is very different.  Senority is not always better.
Sometimes the seniors need to mentored by the juniors.
Comment: This answer deserves more than the +1 I can give it.
Answer: team leads structure, leading to code reviews should do the trick...
You'd have a senior member of your staff responsible for one or more juniors. I don't believe it should be spontaneous help, but rather a formal process; in the sense, that the senior member will be responsible for the quality of work produced by the new comers. This approach has 2 benefits (at least): instruct the seniors in management styles, and make sure the juniors produce quality code.
Comment: I incorporated your comment that provided additional information into your answer. In the future, if someone asks you to clarify or elaborate on a point, please edit your answer to include the new information. That way people who visit this question later can see a comprehensive response from you without having to dig through the comments.
Answer: Senior developers should be expected to go beyond the churning out of code. However, the direction they go should not be the same for every senior developer.
Some are well-suited towards mentoring. Others aren't, and should be pursuing some other senior-level goal, whether it be planning and implementing architectural improvements, or evaluating new technology, or planning and leading process improvements (e.g. continuous integration, TDD, etc.)
Basically, a senior shouldn't just be someone who has been cutting code for a few years more than the juniors. It should be someone who is willing and able to take on additional responsibilities that will contribute to the success of the team. Mentoring juniors is important, but it's not the only important thing, and it's not something that everyone is well suited to.
Answer: Mandating such mentoring is counter-productive because human beings quite naturally strive against forced activities, actions and relationships.  A better approach is to reward the people who do good mentoring, thus getting people to want to mentor.
Of course this brings up the problem of measuring "good" in this context.  An imperfect, but easily-implemented solution might be to have the newcomers after a year (possibly anonymously) write the names of, say, the top three people who helped them integrate into the company and/or the code base.  After that you can reward the people whose names get mentioned most.  Monetary rewards won't work here, however.  It's better to find some kind of social reward.
Answer: In all things programming it depends.  But I would definitely want a senior developer mentoring new hires, whether they're junior or not, to get them the best training for the job at hand.
Answer: No, because that would imply the number of senior and junior developers be the same all the time.  I could see encouraging those senior developers that want to be mentors but enforcing a pairing could be a really bad idea.  The idea of supporting mentoring relationships is good and shouldn't be thrown out here.
Artificial encouragement isn't a bad idea here though.  Telling all junior and senior developers that they are going to be mentees and mentors no matter what could be a bit religious and backfire quite quickly.

If there is a framework known within the company of how to handle mentoring that would be great.  However, if that doesn't exist then the key becomes having a few different kinds of moments between the mentor and mentee:

Current status - Where are things now?  What is the current challenge that the mentor may provide assistance in resolving?
Future state - What is wanted: A hint, a solution, questions to ask, who to ask?
Retrospective - What worked and didn't work in making changes?
Future changes - What will be tried in the future that may work better than what was done previously?

At least those are states that I can see and make sense from my view to take a logical top-down approach.  Others may want something much more organic and free-form which can work as well.  The key is to get an idea of how to get each side to have some skills that should be honed through the practice of communicating in this relationship.  Each side should be gaining something from the relationship and there should be some common ground rules in having this kind of relationship as feedback is a big deal here.
How much time one spends in this is a fair question that realistically one has to look at what is being done and to what extent it is acceptable to spend time developing skills and building relationships.  I could see some pairs wanting an hour a week to go through this while others may want a couple hours a day to cover this.  Don't forget that there can be other interactions where a senior and junior may work together though not within a formal mentoring relationship.
Comment: Yeah I see that. I wonder how you encourage mentoring and make them comfortable taking paid work time to do it?
Answer: I've seen a couple of different attempts at mentorship systems.  The ones I liked best were ones where the senior dev had a specific set of tasks that they performed to help the junior dev, which paved the way for mentoring without requiring it.  For example, an assigned senior dev one-on-one code-reviewer for the first six months could be very useful and would be likely to lead to mentorship. The ones that I disliked were the ones that felt like extra busywork and which didn't seem to be directly related to the work being done - e.g., meet with your assigned mentor for half an hour every week.  This was especially annoying when the two members of the mentorship relationship generally didn't interact with each other during the week and didn't have anything to do with each other's projects.  It felt very forced and touchy-feely rather than focused on growing professionally.  The last thing you want is for a mentorship relationship to feel like a counseling session.
IME, you can't count on mentorship relationships developing, so providing a potential mentor by pairing a senior dev and a junior dev for a set of normal paired business activities (code reviews, debugging, pair programming, etc.), at least at first, is a great idea.  Ideally, the senior member should be volunteering for the role and should be able to perceive some personal benefit.  At my current company, senior devs are almost leads for their projects, and the benefit is that they are building up their own project's team.  At the other company, mentors were often investigating the management track.
Answer: I think every company that hires young developers should have some sort of a reasonably effective mentoring program. But I'm not sure the default position should be every senior developer should do it for the simple reason that lots of developers, regardless of how good they are at developing, are lousy at mentoring. It goes with the territory unfortunately. Some of us just aren't great people people if you like.
On the other hand, where there are people who are good at it, they should get recognition for it, and not blackmarks because their actual development output falls while they are explaining some simple localised issue regarding, oh IDE implementation to some newbie who has always used NotePad and Javac, for example.
This requires some balanced management. I'm not certain it's common.
Answer: For any mentoring to work it is essential that management recognizes that this is important and allocate time for this, and actively encourage this!
For anyone 100% booked with assignments there literally is no time to do or receive mentoring, and it will not happen.
Answer: Generally mentor ships are good stepping ground for transition from senior to team lead or manager.  It is more effective to link the mentorship to advancement in a PDP(Personal Development Plan) or what ever merit plan your company uses.  Tying their pay increase and career development at least in part to their ability to pass on knowledge and groom new developers is key to building a strong IT Staff that can weather changes in management and staff turnover.  Providing key goals and working with staff to help them improve is part of that growth into leadership.  For those who think it is not fair to tie a seniors evaluation to a juniors performance that is part of the growth.  In most cases you are not talking about a pay cut but rather reduced increase or slowed advancement.  Seeing as part of that advancement is the ability to lead and teach those under your leadership this seems quite natural to me.
Answer: When I first came to the team I had the owner and a lead developer giving me instruction. I could ask either of them anything and they both would reply. Though, I was respectful enough to not keep bothering them unless I just couldn't figure it out in a timely manner.
It worked great but then again, you probably need nice people with a sense of humor to get this to work.


What is your best wire management solution for an entertainment system and a home office?

Question: What gadgets or devices have you used to help manage wires or cords at home for the entertainment system are and for the home office?
Answer: It's by no means an all-in-one solution but I've personally found Velcro Cable Ties to be INVALUABLE. You can reuse them over and over; great for those "oh darn!" moments when you need to remove or replace a cable.
-M
Comment: If you subscribe to their newsletter, Meritline.com occasionally has a 16 pack for $0.75 http://www.meritline.com/cable-marker-straps-ties-794---p-35483.aspx
Comment: I hate that style ... For large bundles, there's the [compression straps](http://www.amazon.com/Velcro-Compression-Wide-Strap-Black/dp/B0039QMD0W/), where you go through a plastic loop to cinch down, but for general use, I like the [ones with the slot in the end](http://www.amazon.com/Velcro-Brand-One-Wrap-Cableties-25pk/dp/B0030BTFL6/), as you can wrap it around the cable, then around the bundle (so you don't lose the strap; great for keeping cables in your travel bag)
Answer: For home office I am a big fan of the Ikea Signum.  It is a wire basket, with hooks for wires that attaches and hangs under a desk.  What I have done is zip-tie a power strip to the underside of the basket, and route all of the wires up into the basket, then route as much wire as I need up to items on the desk (computer, monitor, printer, etc..).  It works quite well, and takes care of the wire mess.  I also use zip-ties liberally to bundle wires.
For a home entertainment system, I have had good luck with routing wires down the back, and using zip-ties.
Comment: Ugh, I hate zipties for wire routing.  They practically beg you to overtighten them, which can damage the cables and make future re-routing more of a chore than needs be.
Answer: I use a velcro cable wrap (this one, actually) for anywhere visible (on my desk behind my monitors, and upstairs in my living room behind my TV). It's a braided sleeve which has velcro running the entire length, which wraps around a bundle of cables. It's relatively easy to add/remove cables to this, and it's also very easy to allow individual cables to come out at any point along the length of it to go to where they need to go. This lets you have a nice looking black "trunk" that passes by everything and contains ALL cables.

I found it at a local store one day for <$1/ft, so I bought a bunch. Obviously the pricing varies - one of the places I linked above has it for $44, and it's not worth that much. This store has some other similar products.
For non-visible stuff, I'll echo others here, I just use velcro ties, twist ties, or zip ties, depending on how permanent it is (and what I have on hand). Zip ties are terrible to use behind desks or entertainment centers, because you have to cut them to remove/add cables and that is often difficult in a cramped space.
Answer: I keep my entertainment system on wire shelves, so most of my cables are tied to the posts / legs of the shelves.  Of course, I also still have an old CRT television.
For much of my networking gear (power distribution, DSL modem, network switches, wireless router, small server, etc.), I have it mounted to a sheet of plywood in the basement along with the punch block and patch panel for the house.  I've got cable tie mounts screwed in, and then old-fashioned plastic cables ties.  The only thing that's not wall mounted is the old VGA 9" monitor (640x480 in 4 bit monochrome!), keyboard and the UPS.
For office, well, I have another set of wire shelves in the closest room that I have in there, but I take stuff off the shelves as needed (scanners, sewing machine, embroidery machine, etc).  The cables are either tied up with velcro straps with the slots in them or with twist-ties (that are actually pairs pulled out of the scrap left over from running twisted pair (eg, CAT5 of better, but it has to be solid, not stranded like what's in patch cables)).  My main computer these days is a laptop, so I only use that room for scanning, or when I need to hook up to a larger display.