Before I knew it, others started using it too.
Thursday, February 28, 2013
Server room
Before I knew it, others started using it too.
Sunday, February 24, 2013
LUV
When Mr. Kelleher, 77, entered the main meeting room, shareholders gave him the kind of standing ovation usually reserved for rock stars. The Southwest pilots union is also in the process of negotiating a new contract with management. But not only did the Southwest pilots not set up a picket line, they took out a full page ad in USA Today thanking Mr. Kelleher for all he had done. “The pilots of Southwest Airlines want to express our sentiment to Herb that it has been an honor and a privilege to be a part of his aviation legacy,” said the union president, Carl Kowitzky, in a statement.
When he brought up the pilots ad — and when he talked about how much the company’s employees meant to him — he wept. “I’m Lucky Herbie for having all of these years with all of you,” he said. More than a few people in the audience wept right along with him.
No surprise there, either. Over the years, whenever reporters would ask him the secret to Southwest’s success, Mr. Kelleher had a stock response. “You have to treat your employees like customers,” he told Fortune in 2001. “When you treat them right, then they will treat your outside customers right. That has been a powerful competitive weapon for us.”
“We’ve never had layoffs,” he told me the day before the annual meeting, sitting on the couch of the single messiest executive office I’ve ever seen. “We could have made more money if we furloughed people. But we don’t do that. And we honor them constantly. Our people know that if they are sick, we will take care of them. If there are occasions or grief or joy, we will be there with them. They know that we value them as people, not just cogs in a machine.”
When you look at a company like American, with its poisonous employee relations and its glum customer base, and compare it with Southwest, with its happy employees and contented customers, you can’t help thinking that Mr. Kelleher was on to something when he put employees first. “There isn’t any customer satisfaction without employee satisfaction,” said Gordon Bethune, the former chief executive of Continental Airlines, and an old friend of Mr. Kelleher’s. “He recognized that good employee relations would affect the bottom line. He knew that having employees who wanted to do a good job would drive revenue and lower costs.”
I agree that the ingredients to produce devotion in your employees are:
- clear goals with metrics, that people are held accountable for achieving
- love
- joy and a spirit of lightheartedness
During his tenure as CEO of Southwest, Kelleher's colorful personality created a corporate culture which made Southwest employees well known for taking themselves lightly—often singing in-flight announcements to the tune of popular theme songs—but their jobs seriously. Southwest has never had an in-flight fatality. Southwest is consistently named among the top five Most Admired Corporations in America in Fortune magazine's annual poll. Fortune has also called him perhaps the best CEO in America.
Toppled by my own success!
Photo of a representative plant.
The only exception were my succulents. My realtor friend gave them to me, and they grew bigger every week. I am so proud of them! I love them dearly.
They got too big for their home. A success problem!
Saturday, February 23, 2013
Must strong people have strong weaknesses?
I agree that if the most effective candidate has major flaws, you should still pick that person over a mediocre candidate with no flaws.
However, I think it'd be better if the super-effective candidate can get over their alcoholism or tantrums, so that they are even more effective. The book thinks this is unrealistic.
I hope there aren't strong leaders who were debating whether to do the hard work to mitigate their alcoholism / tantrums, and then read this book and decided not to.
Monday, February 18, 2013
oh snap! meteroid
Sunday, February 17, 2013
moving forward with tiny steps
One day, I finally said to her in the locker room, "I'm really impressed at how often you work out."
She said, "My goal is to lose 100 pounds. I have 50 more pounds to go."
The most impressive thing is that she was able to go every day, even though any given day makes little perceptible difference. You don't see additional muscle tone or increased endurance after a workout. It's only weeks and months later that the accumulation shows its effects.
It is the same way with work. Every day you make steps forward with your company, product, team. But even though you're putting in work, the outside world only notices every so often. For some of the startups I'm advising, there's no external validation for a long time, until one day they've built up enough valuable work, and then the world takes notice.
Because you don't see immediate results, I find there are only three ways to motivate yourself on any given day:
1. Love what you are doing
2. Have enormous willpower
3. Get someone else to pay attention to you and tell you how great you're doing
With exercising, I rely on #3. I see a personal trainer. Occasionally I go to exercise classes.
With work, I rely on #1. As a result, I only work on products that I love, with people I love.
I mentally debate whether #2 is worthwhile. Is it valuable to build up your willpower? Isn't it more efficient to just divert more resources into #1 and #3? Let's say you hate going to the gym. Why not find enjoyable alternatives (sports) and people to go with you, rather than relying on willpower?
Saturday, February 16, 2013
An eloquent quote about programming
I was searching for an email, and came across these well-written paragraphs from an old friend.
It was in reply to an email I sent, about a weekend on a houseboat. There were a number of other engineers there, from Google and other companies. Some of them were jostling to determine who was smarter than whom, or a better programmer.
From my friend:"Good programmers realize that programming is hard. We are all struggling along together or separately. We do the best we can with the limited brains we have. Dominance games are for the insecure, the incompetent, and the ignorant.
"Given human nature, I think those people will always be with us. All we can ask is to be in a place where good ideas and true ability and hard work can prove themselves without needing to play those games. And call me naive, but I really do think that for all the bluster of the echo chamber, that Silicon Valley really is such a place, and that's really why we're all here."
It is uplifting to read again, even years later. I am idealistic too.
still works, unless your handles clash
I told this to James, who said, "What if you're a pot that likes other pots?"
Thursday, February 14, 2013
drama! electric cars! logs!
2. Elon Musk personally posts on the Tesla blog, calling him out for lying, with logs data.
3. John Broder does a point-by-point rebuttal.
When he first reached our Milford, Connecticut Supercharger, having driven the car hard and after taking an unplanned detour through downtown Manhattan to give his brother a ride, the display said "0 miles remaining." Instead of plugging in the car, he drove in circles for over half a mile in a tiny, 100-space parking lot. When the Model S valiantly refused to die, he eventually plugged it in. On the later legs, it is clear Broder was determined not to be foiled again.
We assumed that the reporter would be fair and impartial, as has been our experience with The New York Times, an organization that prides itself on journalistic integrity. As a result, we did not think to read his past articles and were unaware of his outright disdain for electric cars. We were played for a fool and as a result, let down the cause of electric vehicles. For that, I am deeply sorry.
I drove around the Milford service plaza in the dark looking for the Supercharger, which is not prominently marked. I was not trying to drain the battery. (It was already on reserve power.) As soon as I found the Supercharger, I plugged the car in.
abnormal dreams
Monday, February 04, 2013
Four rings to rule them all
Saturday, February 02, 2013
Starcraft Thursday
S: I'm pretty awesome at Temple Run but have never played TF2, I'm assuming the skills with transfer across easily, right?
M: Temple run is essentially an iOS port of Team Fortress 2. You will be fine.
Sunday, January 27, 2013
idealism and good text-to-speech
I think of Anonymous as a no-nonsense group, but in this and related videos, they show a lot of empathy. They call Aaron an angel and a fallen brother. They apologize to his family for having attracted Westboro Church to plan a picket protest at Aaron's funeral. The narration in the videos are eloquently written.
I also really like the time-lapse imagery they used.
I really respect Aaron Swartz for spending a good part of his recent years in furthering internet freedom. It is ennobling to see. Tech media can sometimes be dominated by money-driven headlines: who got funded by how much, who exited for what price, who IPO'ed at what value. It is nice to see people working toward a mission they believe in.
Thursday, January 17, 2013
compare down
Let's say it's very cold and you are sleeping on the ground, on a bed of pine needles. You are shivering. If you think to yourself, "I could be at the Four Seasons right now", you're going to feel depressed. But if you think "At least it's not raining", then you'll feel better.

I was pretty good about doing this at survival school. It rained for 16 hours during my first day of solo, and I reflected on the relief that I made the tree shelter before washing clothes, so the shelter was ready by the time it started to rain.
It is a good thing to remember in our modern world!
Sunday, January 06, 2013
Mom trash-talking me
Me: You're so great to share the umbrella with me!
Mom: Of course. Moms are the best. Ask anyone and they will say, "Yes, my mom is the best."
Me: True.
Mom: Except one day, your kids might not.
Me: [shock, dismay]
Mom: They will say "Grandma is the best!"
Sunday, December 30, 2012
Tom, funny, in Puerto Vallarta
Thursday, December 27, 2012
Botanical gardens
Monday, December 24, 2012
Preparing for Coding Questions in Software Engineering Interview
In 2006, I wrote this guide "How to Prepare for a Software Engineering Interview". Since then, I've been frequently asked: "How do I prepare specifically for the coding questions?"
Today I will answer that. Below are my tips, culled from my experiences interviewing around 500 engineering candidates for Microsoft, Google, and Minted.
My goal is to elicit your best performance during the interviews. To use an analogy, if you were getting ready for a 400-meter dash, my goal is to enable you to run your fastest time and prevent you from freezing up during the race. The tips are not going to turn someone who runs a 10-minute mile into a track star overnight.
1. Practice mock-interview coding questions in these areas:
- String operations. Implement strlen, strcat, strchr.
- Data structures. Hash tables, arrays, binary tree.
- Running time. Determine the big-O of algorithms.
- If frontend: CSS, javascript, ajax calls, cross-browser compatibility.
Note: The point is to get you warmed up, not to tell you exactly what's going to be asked. Your interviewer wants to ask you a question you've never heard before, and may skip questions (and concoct new ones on the spot) until one that's new to you. So there's no point trying to scour the internet practicing all questions so that you can recite the answer.
2. Avoid extended silences during the coding question. A major reason for the coding question is to observe your thought process, not merely whether you arrive at the perfect final answer.
If you are silent, the interviewer has no idea whether you are analyzing several plausible solutions (a good sign), or whether you are completely at a loss on how to tackle the problem.
Even if you are stuck, here are some things you can do that are better than being silent:- Describe algorithms you're considering and then discarding ("Dynamic programming won't work in this case because...")
- Enumerate edge cases that your algorithm needs to cover ("I'll need to make sure my solution handles an array with duplicate values...")
- Talk about the part of the problem that you cannot solve ("I need to find a way to split the input into two halves, but all hashing functions seem too uneven...")
Basically, just open your mouth and issue a stream of your problem-solving thoughts. Even repeatedly going over the same conundrums is superior to a long silence.
3. If you see a brute-force solution right away, say it first, and then hunt for the more optimal solution. At least you've demonstrated that you have one potential solution, even if it's not efficient.
If you don't get the refinement, you can always implement the brute-force method, and impress the interviewer with your quicky-written and correct (albeit inefficient) code.
4. Practice writing code on paper, without a syntax highlighter. I mentioned this in the 2006 guide and it is worth re-iterating.
It is going to feel foreign at first. You will suddenly forget how to write for-loop syntax when you are using a pen or whiteboard. That's why it's even more important that you practice beforehand.
Good luck and godspeed to you.
Sunday, December 23, 2012
Cake at work
Thursday, December 20, 2012
Dickens Fair!
I finally understand why some people get addicted to shopping. I could not stop buying hats. I spent an hour trying on and buying different hats. If I had not left, I would've purchased more hats. If those hat merchants had any sense, they should've seen that I was a giant mark and bombarded me with their wares.
Groups of women regularly walked by in petticoats. It was awesome. Occasionally the Queen came through and blessed us, and other attendees said in an English accent, "Bless you, Majesty."
Me with one of the workers at the Fair. Her dress is homemade!
