Mar 092015

I had an amazing week. I didn’t plan it. I was exhausted. Physically drained. Stretched beyond breaking mentally. Emotionally checked out. I took a week off (nobody objects when you forget to use your vacation for a year). The kids were in school. My wife had a full week of volunteering and her other regular activities attend to. I took a week to recover, to get my “A game” back.

On Friday, Anthony from Solid Iris reached out to me to collaborate on my 3D Visualization of my kitchen remodel. If you’ve been paying attention this week, you’ve seen the results of that discussion. This isn’t about that. Not really.

I’ve been an open source developer for 15 years and contribute to some of the largest, most diverse, and most successful collaborative software development projects on the planet (e.g. Linux and the Yocto Project). Working with people I’ve never met from all around the world isn’t new to me. But after all that, it was still exciting for someone I’d never met to see my work, recognize a common interest, and reach out to collaborate.

In my discussion with Anthony, I learned a bit about Solid Iris. He reminded me of something I had learned a long time back. When I joined IBM in 2003, I asked the director of the Linux Technology Center, Dan Frye, about avoiding layoffs (I don’t know why I asked that). He told me two things: Work on a critical project, Don’t be a slug. Solid Iris is a small company of eight people. EIGHT PEOPLE. With passion, talent, vision, and commitment, these eight people created a remarkable product and are passionately shouting about it to the world. There is only one project, so *critical* doesn’t really cover it. In a small team, there is no room for slugs.

But this isn’t about Solid Iris. This isn’t even explicitly about me. What this experience reminded me, is that to excel, to do something truly remarkable, there is no room for slugs. There is no room for second priority. I have worked to make sure I am working on critical projects and have tried my damnedest not to be a slug. In that self-focused effort I neglected the other half of the equation.

(Note: I hope this goes without saying, but just in case, and for those who don’t know me well, I want to make it clear that I am *NOT* referring to my immediate team, who I absolutely love working with)

To ensure your efforts are multiplied by your colleagues and partners, they have to share your passion, your drive, your vision, and your commitment. They may not all be rock stars, but they have to be willing eager to learn and to improve. If they aren’t, you’ll be looking back to drag them forward, against their will, instead of looking ahead toward your goals.

When things go wrong, the human response is to find someone to blame. Lauren recently pointed me to BrenĂ© Brown’s short on blame versus accountability. My apologies in advance to BrenĂ© as I’ll be taking this in a slightly different direction. It’s easy to blame those you’ve been dragging along. I’ve been guilty of this. More than once. It’s easy to let things go, to avoid the discussion that needs to happen, and then cast blame. Let the dysfunction build, then burst, then build again, in an endless cycle of frustration and mediocrity. This is death for a small independent group, but can go unchecked in a large organization.

What’s hard, is holding people accountable. It requires you to have the hard conversations. Accountability goes both ways, and you’re not immune. Accountability is proactive, rather than passive. Accountability can end the cycle.

Holding people accountable is a forcing function. We can’t continue in a non-compliant state. We can course correct, or we can part ways. Either way, we are all better off. Hold yourself and those around you accountable. Strive for excellence, refuse mediocrity. Don’t be a slug, and don’t let them hold you back.

Dec 312013

Parenting is hard. The occasional highs are very well worth the sometimes long steep monotonous path separating them. This section has been particularly steep and unusually long. As a highly self-critical person, I’ve been struggling with what I must be doing wrong. Why won’t they listen? Why won’t they learn this? Why do they repeat this behavior? What am I doing wrong? That’s an awfully egotistical and self-important viewpoint.

I’m reading an excellent book, “Parenting Beyond Belief”, which is a collection of writings from a wide variety of sources. Tonight I read a short article titled “Thoughts on Raising a Curious, Creative, Freethinking Child” by Robert E. Kay, MD. In this short list of 15 ideas, Dr. Kay emphasizes the importance of realizing that children are who they are. They are their own best teachers. They will learn when they are ready and receptive. They will learn from your example, not from what you say. They are more likely to cooperate than to obey. Being an adult is often easier than being a child due to the general lack of freedom afforded a child.

This piece offered me some solace. In his words: “You can’t make another human being eat, swallow, pee, poop, think, learn, work, talk, confess, agree, or believe, so don’t even go there. Do yourself and your children the favor of trying to see through their eyes, of trying to understand the reasons behind the resistance.” If it is my job to model behavior and offer experience and exposure to new ideas, rather than directly transfer knowledge and experience, I can do that. I mostly do do that. If the temper tantrums, the angry words, and the spiteful glares are part of the process and not my fault, then maybe we can get through this. Together.

May 292013

Dvh3 with Master Jung after his first belt test.

Dvh3 with Master Jung after his first belt test.

My son and I started taking Taekwondo together about six months ago. During this time, he has learned that there is a lot more to martial arts than kicking and punching. He has learned that it is about focus, discipline, confidence, and today: family. A week ago, he was working to receive his green stripe which is basically approval from the Master to proceed with belt testing for rank advancement. He didn’t make it the first time, nor the second. He choked back tears and the Master said to him, “Why are you crying that you didn’t make it, instead of congratulating those that did?” I worked with Devon nearly everyday at home until, on the third attempt, he received his green stripe. It really meant something to him. He had legitimately earned it. It wasn’t just a participation award.

Over the last couple of months, the Master has been encouraging higher ranking students and those with their green stripes to help the rest of the class. He forces students to stand up to him. If they aren’t trying their best, he will tell them they can give up, “It’s OK”. Those that have learned will stand where they are and shout “No Sir!”, “I can do it, Sir!”. They are building their confidence, and it’s wonderful to see.

Today was the second to last chance for green stripe testing. Five students in a class of 18 had not yet received their stripe. Four of those students received their stripes, but during the final skill test, one young boy lost his confidence, missed a step, and failed. The Master sent him back to wait while the other student finished his test. Like my son the week before, he choked up and tried to hold back the tears. The Master explained that if he cried, he was giving up, he could go home. It was OK. He tried to stay strong, but he was quickly losing the battle. The Master asked another student what he should do. “He should ask to try again, Sir!” “Yes.” “Can I… try… again… sur…” “Not while you’re crying, stop crying and ask me again.” This went on for a bit. It was awkward. The other students, myself included, looked at the ground, feeling badly for him.

Out of the blue, the small hand of a seven-year-old boy went up in the air. “Me Sir!”. “What?”. “Can I practice with him, Sir?”. Silence. The Master accepted my son’s offer to help him try again. The look in the Master’s face was one of surprise, approval, and pride. Tears welled up in my eyes. He tried, but he was demure. His shouts were grunts. He failed again. This time, instead of listening to a lecture from the Master, another student offered to help. Then another. I finally raised my hand, following my son’s lead, and gave a small bit of advice for him to remember to be confident, to shout loud, and make each move count. He tried again. He stood tall. He shouted with confidence. He passed. The class clapped furiously. The Master was proud, the lesson learned. I wiped my eyes.

I have been proud of my son on many, many occasions. Today, he surprised me with a courage, confidence, and compassion that I found truly remarkable. For a seven-year-old boy to look up and assert himself in support of another student to an intimidatingly powerful authority figure is an incredible thing. Today is the proudest day of my life to date. Congratulations son. You did what 16 other students, most your senior in both age and rank, should have done. Your father was among them. You set the example.

May 032013

After running faster than I’m able for a long while now, I’ve finally hit the wall. No, this is not a running post, this is me hitting that point in my career where I am involved in far more things than I can possibly keep up on entirely on my own. As my colleague, Sarah Sharp, has recently expressed (more eloquently than me), HALP! Darren doesn’t scale! To help unblock those of you waiting on things from me as well as to restore some semblance of normalcy to my life, I have created the start of a halp list. It will likely change format and location, but for now, it’s available here:

If you, or someone you know, is looking to get involved with the MinnowBoard, the Yocto Project, the Linux Kernel, or Real-Time Linux, there is something here for them. Just have them contact me and I’ll gladly help them get started.

Jan 162013

Over the years I have tended to specialize in a particularly focused areas of development. Until recently, this has primarily been in locking and scheduling, particularly with respect to multiprocessing and real-time.

Since I have joined Intel and been working on the Yocto Project, I have had to branch out quite a bit. From the Linux kernel side, I’ve updated serial drivers, forayed into accelerometers and industrial I/O, debugged x86 early boot errors in the VM, contributed to the start of an upstream modular Linux kernel configuration system, mapped out minimal configurations and tooling for whittling things down, as well as keeping an eye on some of what I used to contribute to and fixing bugs as they arise.

Outside of the Linux kernel, I’ve worked to enable EFI support of some new platforms, re-factored facets of image building and early boot, performed a similar minimal configuration exploration for user-space, fleshed out support for image generation using the ext[234] file-systems, and generally made a nuisance of myself to those who actually know what they’re doing.

While I miss the ability to truly focus on a particular problem and dig deep into brain-bending execution graphs involving multiple threads, atomic variables, and memory barriers, I also appreciate the value of an increased awareness of how all these pieces fit together to form a greater whole. I’ll continue to try and squirrel away some time to work on things I’m most passionate about, but overall, I believe this time spent on the Yocto Project has made me a better developer.

Jan 102013

For over a decade or so we have been using GNU Cash to keep track of our personal finances. We, and by “we” I mean Mary Lou, have been meticulously recording every expenditure from mortgage payments to sodas from the gas station and reconciling them with our bank statements. As we tend to use credit cards for the points, each purchase involves 4 entries in the ledgers (debit from the credit card, payment to expenses, debit from the checking account, payment to the bills envelope (virtual account within checking)). As life gets more and more hectic, this is becoming less and less appealing. We have also struggled with the granularity of our envelopes and expense categories, continually tweaking them to balance between simple entry and detailed reports.

A friend recently reported using and being a fan of their automated expense categories. They have a number of appealing features – like mobile access, email notifications, and lots of useful reports. These are things I either can’t do or take too much time with our current system. However, the aggregated financial service scares me from a security perspective.

Mint claims no money can be moved around from within Mint. OK good. Let’s assume for a moment that they have reasonable encryption and security processes in place to prevent a hacker from mining my passwords to my financial institutions. There is still the risk of exposing our financial information to anyone who manages to acquire our password. Single point of failure. I’m not sure exactly how much damage someone could do with the read-only access, but I’m sure someone more clever than me can come up with some way to do something devious with it.

To address the common defense of “ is far more secure than the average laptop.” Undoubtedly true. They aren’t more secure than MY laptop though, at least not by much. They are also a much MUCH bigger target than the average laptop since there is so much bigger a reward waiting for a would be hacker than pictures of grand kids and a few weeks worth of CPU cycles for the latest bot net.

Now stepping back and not making the assumption of good security practices at Let’s assume they have every intent of having good security protocols in place, that doesn’t guarantee successful implementation of said protocols. So if some new guy, or even their senior security gal who had a late night, introduced a bug which caused the plain text password to be stored in an identifiable memory address for a short period of time and some creative villain noticed and managed to glean a few of these passwords, the results could obviously be catastrophic for those users.

So to all of those of you who are more security savvy than I am on a deeply technical level, please weigh in here and let me know your thoughts. I’d like to use the service, but I need to be convinced the risk is a reasonable one first.

Apr 262012

I sincerely hope that Cringely is way off the mark regarding IBM ( I spent 7 great years working at IBM’s Linux Technology Center (LTC). I worked alongside Linux superstars like Greg Kroah-Hartman, Ted Ts’o, Paul McKenney, and Mel Gorman (among many other talented Linux kernel developers). I poured my heart, soul, and vast quantities of time (and sleep) into leading the Real-Time Linux project in support of Websphere Realtime and the Raytheon DDG Naval Destroyer program ( This is probably to date the most significant point of my professional career and I am sincerely grateful for the opportunity to be involved in such an ambitious and fascinating project.

Sometime in 2010 I became concerned about the direction of my particular project, and looking around the LTC I wasn’t seeing much that interested me personally. I had been saddened to see many of our top Linux developers leave over the years, and started to fear for the future of the LTC. Some managerial changes seemed to lead to a very different culture within the LTC, something much more Big Blue than what we had enjoyed previously. Accepting that the LTC had to grow up eventually, I was able to look past this.

Toward the end of my career at IBM, I attempted to persuade management to provide SSDs to their Linux kernel developers who made extensive use of the git source control management tool. Git is fast, but my tests demonstrated that a lot of time could be saved by switching to SSDs over the spinning disks that shipped with our developer laptops. After some time I got agreement to run a pilot in which a handful of SSDs would be handed out to developers and they would report on the benefits. I left IBM before this happened, and I learned later that management planned to scrap the pilot because “Darren was special.” Sorry, no I was not. I left. The developers that stayed were special! After a bit of a battle as I understand it, the pilot finally happened. Six SSDs were purchased. Six. And developers were meant to test with them, and then hand them over to another developer. Really? OK, so clearly being placated.

This was one of many frustrations associated with keeping costs down. A standing joke (based in fact I believe) was of a senior manager buying toilet paper from a local Costco because we couldn’t acquire it via other means. Another site morale meeting generated a ream of requests to help improve morale. The result were new clocks in the meeting rooms. Morale continued to fall within the LTC. There are many more significant stories to share, but many are probably not appropriate in one way or another for me to share.

In the midst of all this, my family grew by one HC, I lost my home office, and I started taking a close look at our finances. While I had been rated as very successful over the last several years and had seen a couple decent raises, I was clearly not going to achieve my financial goals at the rate things were going. So I looked around. I posted my resume around. I could have gone to New York to work on high frequency trading and made stupid amounts of money – but I valued my home life and my family was (is) young and I wanted to have time to enjoy this part of my life. Eventually Intel called and asked me to come work on the Yocto Project (well, they hadn’t announced it yet, so discussions were quite a bit more vague). The project looked interesting. The people were fun. The compensation was competitive. While it seems to be Taboo to discuss compensation, I feel it is rather core to this discussion. I recall receiving an OTAA (Outstanding Technical Achievement Award) for my work on Real-Time Linux at IBM which everyone congratulated me on. The director called me and formally awarded me with a few restricted stock units. I felt honored. It was a big deal. Except it wasn’t. The sums were paltry, and equated to something like a temporary 2% raise hinged on the company’s stock price. Combined with ever decreasing profit sharing bonuses and low raises for top performance ratings, there was clearly something wrong. After a lot of heart-wrenching soul searching, we (my wife and I) decided to make the jump. There were a lot of factors that influenced our decision, but they can all be summed up in two points: I wanted to work on something interesting and I wanted my technical contributions to be valued.

I have been with Intel, working on the Yocto Project in the Open Source Technology Center, for going on two years now. The project is still interesting. The people are still fun. And management has continued to impress me with the value they place on technical talent. The difference is like night and day. Are there frustrations? Of course. But it is A Great Place to Work, a lot like what the LTC was when I started back in 2003, or perhaps a bit earlier.

So I hope Cringely is dead wrong. Unfortunately, I fear that he is not and I am deeply saddened by the prospect. IBM employs some stellar technical talent as well as some excellent senior leadership. I sincerely hope this is all FUD, or that those who remain are able to turn things around.

Feb 202012

How would you decide which tablet to buy? In particular, I wanted to determine which screen size would suit my needs. I wanted to be able to view listings and read the occasional technical paper. I did some initial web-research, then visited my local Best Buy to get my hands on a variety of tablets.

My test? Google for “Paul McKenney Parallel Programming”, click on the LWN link and download the 358-page PDF. Then open it and test legibility in portrait and landscape mode.

I opted for the 10.1″ Samsung Galaxy Tab. I think the 8.9″ would have worked every bit as well and I preferred the slightly smaller size (with the same 1280×800 screen resolution). Unfortunately, they didn’t have it in stock at any of the Oregon locations and it didn’t come with the $50 gift card, eliminating the 10% savings.

I’ve only dabbled with the device so far and allowed a small gaggle of children to verify that the critical Angry Birds and Fruit Ninja “benchmarks” run beautifully. I will update once I’ve had some time with it.

Jan 312012

As we’ve poured over listing after listing, looking for that ideal next home, I believe I have recognized a trend that once again places us in the minority. No surprise there. Unfortunately, this trend not only makes it harder to find a place we like, it also makes it harder for us to secure funding. Here’s why.

According to Susanka in “The Not so Big House“, there are three key components to designing a home: Quantity, Quality, and Cost. You can fix any two of them, but the third must be allowed to adjust. It appears to me that the U.S. housing market prefers to focus on Quantity and Cost, and to maximize those, Quality suffers. This appears to be the case on through about 3500 sqft and $500k, after which there are options where Quality and Quantity are fixed, and the cost increases. Unfortunately for us, we would prefer to sacrifice Quantity for Quality, and, as is the case for most people, we have access to a limited quantity of dollars. Finding a well built home with quality design, fixtures, mechanicals, cabinetry, and finish carpentry in our price range has proven difficult – not because such a house couldn’t be built for the price, but rather because the market is flooded with larger lower quality homes.

The second fallout of this priority inversion is that securing a loan to expand our own home or fix-up a new one is made more challenging. These loans, such as the 203k, are based on the future appraisal value of the home after the renovations. Just as quantity trumps quality in the available inventory, it also wins out in the appraisal (no surprise again). Adding on to a house achieves a higher appraisal-increase-per-dollar-spent ratio than does improving the quality of the home.

So where does that leave house-snobs like us? Well, I suppose it leaves us in the position of needing to save even longer to be able to renovate an existing home (either ours or another of suitable size and location) so that we can bring more capital to the table. Save more? Borrow less? That’s down right un-american. So… the minority… again… still.

Jan 152012

Dear LazyWeb,

We’re exploring ways to gain some added space for our growing family. We’re considering adding on (or digging under) our existing house, as we like the area, the schools, and are comfortable here. We’re currently in the 26 Corridor and we like it, but I’m finding our money goes further if we look in south Beaverton (for example). Now is a great time to buy and we’re exploring the real-estate market. Finding an appropriate neighbourhood is such a chore, and I’m hoping you all can help us here, LazyWeb style. We’re looking for someplace with (in order of priority) good schools, young-family-friendly (high households-with-kids ratio, easy access to parks, bike/pedestrian/dog friendly). We’re hoping for something from 2500 to 3000 sqft with 3+ bedrooms, a den, and a large bonus/play room. Space for my woodshop is a huge plus. We’d prefer not to be on a postage stamp lot (8k sqft lot would be ideal) and would love Craftsman/Bungalow architecture (even if a modern interpretation thereof).

If you have ideas of areas we should explore, please share. Add a comment here, to Facebook, or to Google Plus and let us know what you like about the area.