Enabling CTRL-ALT-DEL in Windows 7 over Synergy

I have a Linux machine running as my Synergy server and a Windows 7 machine as a client.  With the default Windows settings you can not enter a CTRL-ALT-DEL SAS (Secure Attention Sequence) over Synergy on the Windows lock screen. This can be frustrating if you lock your computer frequently or login remotely.

You can allow this behavior by allowing “services” to issue the SAS in the Windows Logon Options.  These are found in the Local Group Policy Editor.

  1. Go to the Local Group Policy Editor (Type “gpedit.msc” in the run menu)
  2. Dig down to Computer Configuration -> Administrative Templates -> Windows Components -> Windows Logon Options
  3. Open up the “Disable or enable software Secure Attention Sequence” option
  4. Set it to “Enabled” and then select “Services and Ease of Access applications” below, click OK

You should now be able to issue a CTRL-ALT-DEL to Windows 7 over Synergy while on the lock screen. Note: Sometimes the CTRL and ALT keys stick, just press them each once to un-stick them.

Turkish Coffee

For a single serving you will need:

2oz water
1 scoop coffee grounds
1/2 tsp sugar (optional)

Place in pot and gradually bring to 200F. Gently stir as it passes through 150F, but stop stirring after 150F or else the grounds won’t settle and you won’t capture the foam. When it reaches temp take it off the heat and let is rest for a minute, then slowly pour into 1oz cup, leaving most of the grinds in the pot. If you did it right you should have a small layer of foam on the top of each cup.

If you’re doing several cups at once, pour a little into each in a round robin fashion so the grinds that escape are evenly distributed.

Coffee: It needs to be pre-ground finer than an espresso grind. Your home grinder probably cant do it. I found a Lebanese brand at a local international market that’s excellent.. $3 for 7oz, and I store it in an air right container in the fridge; keeps fresh for about 2 weeks.

Thanks baltan for the advice! 😉

We did it again.

Dragon C2 returned to Earth this morning after 9 days in orbit with the International Space Station.

Getting to the point where we could begin the mission was a tough journey.  Countless* late nights and weekends were spent at work going through every little detail.  (*I’m sure my super-amazing exceedingly-tolerant and understanding wife can derive the actual count.. I love you Maria!)
The mission itself was also tough.  The majority of the critical operations were scheduled for the wee hours of the morning (launch, fly-under, rendezvous, departure, re-entry).  My desire to monitor progress 24×7 was quickly overcome by exhaustion.  It’s one thing to pull an all-nighter, but it’s another thing entirely when you have a steady trickle of adrenaline fed into your veins.  When I was finally able to sleep I would dream about the mission.  When I woke the first thing I would think of was the mission–the adrenaline would hit me again and I would leap out of bed anxious to get back to work so I could monitor in real-time what was happening.
I still can’t believe how well the mission went.  The rational part of my brain knows that for all the hard work we put into the design, development and testing of this vehicle it should have damn well worked, but there’s another portion of my brain that simply can not believe it.  I have to keep looking at the photos to remind myself that we actually completed the mission.
I re-read my post from the C1 Dragon and I’m struck how similar and different the experience was. Seeing things go as planned was as astounding and overwhelming as it was on C1, but I knew with this mission the next-hardest-part was always right around the corner. There are always plenty of more opportunities for things to go wrong.  It was tough trying to keep emotions in check the whole time–you want to celebrate each little success but not “jinx it.”
The final rendezvous was the climax of the mission.  So much had to go right for it to work, and although there are many protections in the system to handle things in the event something goes wrong, it was challenging keeping those “what-ifs” out my head during that phase.  When Pettit and Kuipers finally announced they had captured Dragon it was a huge relief.  (Those guys are rockstars btw).
The successful splashdown today was a great wrap-up to the mission.  I’m so thankful for the support my wife and family have given me, I’m proud to work with the SpaceX team, and I’m thankful for all the great assistance the people at NASA have given us throughout.
IMG_7879_edited2.jpg

On the Importance of Hiring

These two articles have helped shape my thinking with respect to hiring and interviewing. They are written by software engineers for software engineers, but they should apply to any discipline.

Yishan Wong: Hiring is number one (2009):

    Make hiring your number one priority, always… it is only once a culture of giving hiring top priority in peoples’ attentions will individuals and managers naturally begin directing their energy into doing things like deciding what constitutes effective interviewing techniques, what kinds of questions are best to ask, how to effectively diffrentiate between good and bad signals in an interview, etc, and subsequently how to train the entire cadre of interviewers to be able to effectively and repeatably practice this.

    …Hiring is a zero-sum game. Candidates that don’t join your company will join a competitor’s, and your loss will be their gain. If hiring isn’t your number one priority, it’s unlikely you’ll be number one at hiring, which means someone else will, and the true best candidates will go to them, while you’ll be left to hire the “best candidate you were able to interview.”

Joel Spolsky: The Guerrilla Guide to Interviewing (2000):

    The most important rule about interviewing: Make A Decision. At the conclusion of the interview, you have to be ready to make a sharp decision about the candidate. There are only two possible outcomes to this decision: Hire or No Hire.

    …An important thing to remember about interviewing is this: it is much better to reject a good candidate than to accept a bad candidate. A bad candidate will cost a lot of money and effort and waste other people’s time fixing all their bugs. If you have any doubts whatsoever, No Hire.

Update: Valve’s internal employee handbook was recently released publicly: http://newcdn.flamehaus.com/Valve_Handbook_LowRes.pdf It has some great comments on the importantance of hiring:

    …here are some questions we always ask ourselves when
    evaluating candidates: Would I want this person to be my boss? Would I learn a significant amount from him or her? What if this person went to work for our competition?

    …We’re looking for people stronger than ourselves.
    When unchecked, people have a tendency to hire others
    who are lower-powered than themselves.
    We should hire people more capable than
    ourselves, not less.

    …In some ways, hiring lower-powered people is a natural
    response to having so much work to get done. In these
    conditions, hiring someone who is at least capable seems
    (in the short term) to be smarter than not hiring anyone at
    all. But that’s actually a huge mistake.

    …[We value] people who are both generalists (highly skilled at
    a broad set of valuable things) and also
    experts (among the best in their field within a narrow disci-
    pline). This recipe is important for success at Valve. We often
    have to pass on people who are very strong generalists with-
    out expertise, or vice versa. An expert who is too narrow has
    difficulty collaborating. A generalist who doesn’t go deep
    enough in a single area ends up on the margins, not really
    contributing as an individual.

Dragon is attached to the ISS

High-def video recorded from the ISS:

Live recording of NASA TV from the last 30m to capture:

Live recording of SpaceX webcast during launch through solar array deploy:

Low-carb ground beef and vegetable stews

I’ve been messing around with low-carb ground beef and vegetable stews lately.  No potatoes, no noodles, and pretty much just using whatever I have available in the fridge.  I was surprised how easy it was to come up with something hearty and enjoyable so I thought I’d share.

Experiment 1:
1/2 lb ground beef
1/2 lb hot italian sausage
1 onion, diced
2 cloves garlic
1 bunch of celery, diced
2 zucchinis, sliced
1 can of diced tomatoes
dried basil
italian seasoning
paprika
bay leaf
salt
Experiment 2:
1 lb ground beef
1 onion, diced
2 cloves garlic
1 head of cauliflower, separated
2 cans of diced tomatoes
1 can of green beans
dried oregano
chili powder
cumin
salt
Start by sautéing the onion over high heat with some olive oil, then add the meat and garlic, dry seasonings, salt and keep it going until the meat is mostly done.  Meanwhile, start the non-canned vegetables in a large pot over very low heat with some olive oil and salt.  When the meat is ready combine everything in the big pot, add the canned vegetables and bring to a boil.  Once its at a boil reduce to a simmer and cover and cook for at least an hour.  Before serving add more salt, to taste.
With #1 I just ate it straight-up, but added some fideo on the side for my kids that I cooked in some of the stock from the stew.
With #2 I served it with a few dollops of plain yogurt on top, sprinkled with dried oregano, a dash of paprika and a little celery salt.

Beware audible.com free trials

I should have known better.  Having never used audible before, when they had a free trial running a while ago I thought I would give it a shot.  Turns out they didn’t have much in their catalog I wanted to listen to so I cancelled after an hour.

Or so I thought.  I was going through bank statements this morning and noticed they’ve been charging me $14.95/mo for months.. (My wife and I run just about everything through the same debit card, so it’s easy for us to miss things).  So I called their 800 number.
Me: “I’ve never used your service but my records show you’ve been billing me $14.95/mo for it.”
Audible: “Yes… Our records show you’ve never used the service and that you attempted to cancel it.  What happens when you go to cancel is our site tries to get you to confirm you want to cancel by offering you discounts on membership.  Did you actually get to the cancellation page?”
Me: “[Are you kidding?]  I remember you guys making it very difficult to actually cancel.  The option was hidden, I had to search your site to find it, and then after several pages finally getting a page that said something like ‘you’ve cancelled.'”
Audible: “Well… you probably just got one of the member retention pages. Did you receive an email confirming cancellation?”
Me: “No. In fact the only email I’ve ever gotten from you was spam.”
Audible: “I’m really sorry. We’ll cancel your account and issue a refund.”
To cancel their service, “for real,” call their customer service at 888-283-5051.

It gets better, trust me

The NY Times has article up today titled, “Why Science Majors Change Their Minds (It’s Just So Darn Hard)” that explores the reasons behind why an estimated 40% of science and engineering students change majors, or fail to complete their degrees.  Summary: classes can be difficult, boring, and feel irrelevant.

I can’t say I disagree.  From my own experience as an undergrad, there were plenty of courses I took that were either excruciatingly difficult, mind-numbingly boring, felt completely useless, or some combination of all three.

In my first few years as an undergrad I had a bad attitude about school, and my grades reflected it.  In my case changing majors wasn’t an option, I guess I was fortunate because I knew that whatever I ended up doing post-college (with or without a degree) it would have something to do with computers, so I never considered it.  But there were many occasions were I considered dropping out or “taking some time off.”  It was the beginning of the dot-com boom, and a few of my friends had already given up on school for Silicon Valley, Redmond, or their own startups.

I got lucky when I landed an internship at a local software shop.  It was my first exposure to a large group of professional engineers, doing professional engineering in a professional engineering environment.  As a programmer, I learned that “raw skill” certainly matters, but it only gets you so far.  Yes, there are fundamental theories and surveys of techniques that you’re forced to learn in college that you could pick up on your own, but what I observed was that these people thought differently than I did.  They had a way of approaching problems that was methodical, structured, and practiced.  I’m not talking about software engineering processes or anything like that–their brains functioned in a way that mine did not.

And that was the turning point.  I realized that college was not about being able to solve triple integrals or Laplace transformations, it was about training your brain to solve complex problems.  To rewire your neurons to study problems in an ordered manner.  When I began to approach my classes this way, it got easier.  I started putting in the hours, and my grades improved.

Not everyone is fortunate enough to have a good internship experience, or see their profession that they are studying for up close before they graduate.  These slots are competitive and space is limited.  To the article I referenced above, I would challenge industry to create more internships.

To students that are struggling through their first few years as an engineering undergrad: it gets better, trust me.  Courses become more relevant in your junior and senior years.  But also remember there’s nothing stopping you from reading ahead or practicing your trade in advance of these courses.  Find people to collaborate with, or stay up late working on your own projects. (You can sleep when you graduate).  Stick it out. Engineering is very rewarding.