Blog Fiasco

July 15, 2014

Humans as investments, not resources

Filed under: Musings,Project Management — Tags: , , — bcotton @ 10:24 am

As I last week, two tweets on Sunday morning lead me to a lengthy pontification about HR and how organizations treat employees. In part two, I focus on an article shared by Mrs. Y in which we find that the longer you stay in your position, the more money you’re robbing from your future self. I’m approaching the eight year anniversary of the start of my first professional job and just passed the one year anniversary of the start of my fourth. I just ran the numbers: assuming a 2% annual raise (which is probably generous), I’m making nearly 60% more than I would had I stayed in that first job.

Money isn’t everything, of course. I’ve never left a job because I wanted more money (though I’ve never complained about getting more money). Every time I left a job, it’s because I ran out of room to grow my skills and responsibilities or because I was dissatisfied with the organization. In those cases, throwing more money at me would have been at best a short-term inducement to stay. Still, it has been my experience that the best way to get what you want is to leave and go get it elsewhere. This is fundamentally broken. How much productivity does an organization lose when years of experience walk out the door? How much frustration does a person gain when they have to re-learn a new job, a new employer, and often a new city?

The basic issue is that all too often, organizations treat employees as resources to extract value from. Viewed properly, employees are investments that will help the organization grow. I’ve heard managers say “why should I send you to that training? You’ll probably end up leaving.” Of course, the manager is sure he’s right when the employee does leave. But maybe they’d have stayed if the organization was willing to invest.

When an employer gives a big raise or other consideration to an employee, it tends to be in reaction to the employee receiving an offer from somewhere else. “If I give you more money, will you stay?” is a losing proposition. At that point, the employee is already heading for the door. It’s far better to keep the good employees sufficiently happy such that they don’t get those offers in the first place. Of course, some people will always leave, and there’s no stopping that. Prolonging the period of mutual benefit is the best possible outcome.

The notion of loyalty to an employer strikes me as being misplaced. When an employer won’t take proactive steps to aid the development of an employee, why does the employee owe any loyalty? There are good organizations out there that really do try to keep employees on an upward trajectory when it comes to pay and skills. Those that don’t aren’t necessarily bad, but they’re not doing themselves any favors.

Of course, the blame isn’t entirely on the shoulders of the employer. Employees have to understand that their bosses aren’t mind readers. My major regret from my last job is the fact that I wasn’t more vocal about what I wanted from the position along the way. Maybe something could have been done that would have made me want to say “no thanks” when I was offered my current job. Or maybe not. But at least then I would have had to choose.

July 11, 2014

New entry in the Forecast Discussion Hall of Fame

Filed under: Funnel Fiasco,Weather — Tags: , — bcotton @ 1:26 pm

This one’s an oldie, but a goodie. Back in 1994, two forecasters wrote the state forecast discussion for Colorado in verse. Thanks to a submission from Tanja Fransen, it has now been added to the Forecast Discussion Hall of Fame.

July 7, 2014

Organizational silos in the 21st century

My friend Joanna shared an interesting Harvard Business Review article yesterday morning entitled “It’s Time to Split HR“. Along with another link article that was shared by someone else a few minutes later, I found myself making a rather lengthy pontification about how organizations treat employees, particularly with respect to pay. Originally, I was going to focus on that, but the more I thought about it, the more I think there are two separate-but-related posts. So in this one, I’ll focus on the HBR article.

Ram Charan lays out an interesting argument for bifurcating the traditional Human Resources department into administration (e.g. compensation, hiring, etc.) and leadership (e.g. personnel development) roles. It’s certainly a proposal worth considering. As commenter Jonathan Magid pointed out, the two roles of HR are essentially to protect the organization from its employees and to develop those same employees. HR effectively has to serve two masters. In most cases where there’s a conflict of interest, HR will side with the organization. That makes sense, since the organization is the one writing the pay checks.

Charan, however, doesn’t really address this. His main concern seems to be the lack of strategic understanding within the ranks of HR leadership. Chief Human Resources Offices (CHROs), he writes, are too specialized in HR functional areas and lack understanding of the larger organization. This is true of all areas, though. Especially those that are not core to the business. Too often, IT leadership is painted (appropriately) with the same brush. That doesn’t necessarily mean that the area needs to go away.

The best employees are familiar with other areas of the business, not just those under their direct purview. This is true of all functional areas and at all levels. In a previous job, we frequently lamented that HR wasn’t as helpful as they could be in vetting resumes because they didn’t understand technology. Go on any forum where technical people gather and eventually you’ll find disparaging remarks and advice to game keywords because that’s all HR will understand. In my experience, the issue isn’t that HR staff are terrible human beings, it’s that they’re just too siloed.

Everyone “knows” that silos are bad. Bureaucratic fiefdoms tend to be self-reenforcing and lead to reactionary, defensive tactics like information hoarding in order to keep justifying their existence. What I find so interesting is that organizations can’t seem to avoid forming silos. Siloization is like an organizational version of entropy: left alone, it will increase over time.

There are certainly benefits to silos. They make the organization easier to understand. They allow for deep specialization. Knowledge transfer is simplified. But they’re a losing prospect in the longer term.

A good friend of mine directs the IT support organization for a large academic unit within a large midwestern university. This group is notable because it provides excellent customer service (according to their internal measures, the opinions of the customers, and their reputation on campus) and actively suppresses silo formation. He told me that silo suppression is “extremely expensive, and very difficult to explain/justify to people.”

Silo suppression is expensive because it’s a long-term investment in the organization. Rotating senior personnel through phone duty is expensive as compared to putting the newest, cheapest hire on that task all day. Requiring all knowledge to be shared among at least one colleague requires a larger staff. Hiring and retaining people who buy into the organizational philosophy is a slower and more expensive process. All of this looks terrible in a short-term view.

Where silo suppression pays off is in the long term. Vacations, illnesses, and employee turnover are less disruptive because the knowledge is retained. Someone else in the organization can pick up dropped issues without a long spin-up time. Employees develop a broader view of their work and can make useful suggestions for areas outside of their main expertise.

There are undoubtedly psychological and sociological reasons that we gravitate toward developing silos. Organizational leaders must be aware of this tendency and actively work to counter it. The problem with HR isn’t that the people or the functions are bad. The problem is that HR is not out “among the people.” Embedding HR representatives within other functional areas of an organization is almost certain to improve HR’s understanding of the larger business. In addition, it may help make HR more approachable and better understood by the rest of the organization, allowing employees to make the best use of the HR resources available.

Organizational silos are interesting. We know that they’re bad, but we always end up reverting to them over time. Maybe just we need better silos. Silos built around projects that can easily be torn down and put up somewhere else may give us the best of both worlds.

July 1, 2014

Samba configuration: the ultimate cargo cult

Filed under: Linux — Tags: — bcotton @ 4:45 pm

Samba is a magical tool that allows *nix and Windows machines to coexist in some forms of peace. It’s particularly helpful when you want to share files across platforms. I’ve maintained Samba servers at work and at home for nearly a decade now and I don’t pretend to understand it.

Over the years, I’ve come to view Samba as the poster child for cargo cult system administration. I suspect most people Google for their problem and apply whatever magic totem fixes it, without really understanding what’s actually going on. They share this knowledge and perpetuate the magical configuration. Allow me to do the same.

For one of the applications we support at my current job, our normal cluster configuration is a Linux file server with Windows execute nodes. The server provides anonymous read/write access to the execute nodes and forces the user server-side. (It’s a closed environment, so this is just a lot simpler.) During a recent project, we were doing a customer’s first foray into the cloud. We started from a configuration that we used for another customer running the same application. Oh, but this customer uses RHEL 6 servers, so we switched the setup from the RHEL 5 images we had been using.

Crap. That broke it. For some reason, the clients couldn’t write to the file server. After a late night of frantic effort (this was a project with a short timeline), we found we needed to add the following lines:

guest account = rap
map to guest
valid users = rap, @rap
force group = rap
guest ok = yes

That seemed to solve the problem. Apparently there were some changes between the versions of Samba in RHEL 5 and 6. But then we discovered that hosts would start to write and then become unable to access the share. So we added the following:

writeable = yes
guest only = yes
acl check permissions = False

Oh, but then it turns out that sharing a directory over both Samba and NFS can cause weird timestamp issues. After some experimentation, we found it was necessary to stop using oplocks:

kernel oplocks = no
oplocks = no
level2 oplocks = no

So here’s our final, working config. Cargo cult away!

workgroup = WORKGROUP
netbios name = Samba
encrypt passwords = yes
security = share
log level = 2
kernel oplocks = no
oplocks = no
level2 oplocks = no
max xmit = 65535
dead time = 15
getwd cache = yes
printcap name = /etc/printcap
use sendfile = yes
guest account = rap
map to guest = Bad User

comment = File Share
force user = rap
valid users = rap, @rap
force group = rap
read only = no
writeable = yes
browseable = yes
public = yes
guest ok = yes
guest only = yes
acl check permissions = False

June 25, 2014

American Broadcasting Companies v. Aereo

Filed under: The Internet — Tags: , , , , , , — bcotton @ 9:14 pm

The Internet is abuzz with discussion in the wake of today’s ruling in American Broadcasting Companies v. Aereo, but I can’t let it go by without offering my own opinion. As a “cord cutter” who lives an hour away from most of the over-the-air broadcasters, I have a personal interest in an Aereo-like service. I’d much rather pay $8/month to receive local television broadcasts over the Internet than to pay to install and maintain an aerial antenna. So it was with much dismay (but little surprise) that I read that the Supreme Court ruled 6-3 against Aereo.

I won’t presume to say that I know the law better than six justices of the nation’s highest court. Indeed, I’m not convinced that the ruling is incorrect from a legal standpoint. It’s certainly true, as the majority held, that Congress acted in 1976 to prevent the retransmission of broadcasts by community antenna TV (CATV) systems. Aereo, according to the majority, is similar to the old CATV systems. The fact that the underlying technology is substantially different from CATV (particularly in that there’s a 1:1 correspondence between receiver and customer as opposed to the one-to-many of CATV) is irrelevant, only the customer-facing experience matters.

As Justice Scalia noted in his dissent, that’s a lousy argument. I’ll grant that Aereo was slavishly devoted to the strict letter of the law (a less generous description is “exploiting the hell out of loopholes”), but the technical implementation matters. Aereo subscribers have their own antenna (ephemerally-assigned, as I understand it) and their recordings are stored in their own account. It’s not much of a leap (except in the cost) to provide an antenna and run a coaxial cable directly from the antenna to the customer’s television. At that point, it would be very difficult to argue that the service provider is “performing”, even by the ludicrously broad definition in the 1976 update to the Copyright Act.

Even if the Court’s ruling today is technically correct for this specific case, I worry about the impact it will have on technological advances in general. While the majority took care to say that “those who act as owners or possessors of the relevant product”, you have to imagine that some enterprising entertainment lawyer is looking to step up the attack on services like Slingbox. Just as rulings against Napster, Grokster, and others have failed to end file sharing, consumers will still be able to find content they want online. It’s just a matter of whether or not the creators and distributors get paid for it. The content industry has shown to be remarkably out of tune with the consumer, and the Aereo ruling only delays the inevitable.

Of course, Aereo isn’t exactly being forced to shutter. They can stay in business by paying retransmission fees to the broadcasters (assuming such an option is economically viable for them). This is probably the outcome that would make the broadcasters happiest. The real money these days is in retransmission fees, not advertising, so broadening the viewer base without broadening the pool of people paying for content they’re entitled to (by virtue of living within the broadcast range of the station) isn’t nearly as lucrative. Alternately, if Aereo provided a specific antenna to each user (such that the user owned the antenna and Aereo just housed it), that might be sufficient to meet the conditions established in today’s ruling.

It’s unlikely that Aereo will do anything but shut down. Aereo’s CEO has said “there is no plan B”. While the Court’s ruling today may have been correct, it is wrong.

June 20, 2014

Is storm chasing unethical?

Filed under: Musings,Weather — Tags: , , , — bcotton @ 8:03 pm

Eric Holthaus wrote an article for Slate arguing that storm chasing has become unethical. This article has drawn a lot of response from the meteorological community, and not all of the dialogue has been productive. Holthaus makes some good points, but he’s wrong in a few places, too. His biggest sin is painting with too wide a brush.

At the root of the issue is Mark Farnik posting a picture of a mortally wounded five-year-old girl. The girl was injured in a tornado that struck Pilger, Nebraska and succumbed to the injuries a short time later. To be perfectly clear, I have no problem with Farnik posting the picture, nor do I have a problem with him “profiting” off it. Photojournalism is not always pleasant, but it’s an important job. To suggest that such pictures can’t be shared or even taken is to do us a disservice. 19 years on, the picture of a firefighter holding Baylee Almon remains the single most iconic image from the Oklahoma City bombing.

None of this would have come up had Farnik not posted the following to Facebook: “I need some highly photogenic and destructive tornadoes to make it rain for me financially.” That’s a pretty awful statement. While I enjoy tornado video as much as anyone, I prefer them to occur over open fields. Nobody I know ever wishes for destruction, and I’d be loath to associate with anyone who did. This one sentence served as an entry point to condemn an entire hobby.

Let’s look at Holthaus’ points individually:

  1. Storm chasers are not saving lives. Some chasers make a point to report weather phenomena to the local NWS office immediately. Some chasers do not. Some will stop to render assistance when they come across damage and injuries. Some will not. In both cases, my own preference is for the former. Patrick Marsh, the Internet’s resident weather data expert, found no evidence that an increase in chasers has had any effect on the tornado fatalities. In any case, not saving lives is hardly a condemnation of an activity. Golf is not an inherently life-saving avocation, but I don’t see anyone arguing that it’s unethical.
  2. Chasing with the intent to profit… adds to the perverse incentive for more and more risky behavior. Some people act stupidly when money or five minutes of Internet fame are on the line. This is hardly unique to storm chasing. Those chasers who put themselves or others in danger are acting stupidly. The smart ones place a premium on safety. What’s more, the glee that chasers often express in viral videos is disrespectful to people who live there and may be adversely affected by the storm. Also true. The best videos are shot from a tripod and feature quiet chasers.
  3. A recent nationwide upgrade to the National Weather Service’s Doppler radar network has probably rendered storm chasers obsolete anyway. Bull. Dual-polarization radar does greatly aid the radar detection of debris, but ground truth is still critical. Radar cannot determine if a wall cloud is rotating. It cannot determine if a funnel cloud is forming. It cannot observe debris that does not exist (e.g. if a tornado is over a field). If you wait for a debris signature on radar, you’ve already lost. In a post to the wx-chase mailing list, NWS meteorologist Tanja Fransen made it very clear that spotters are not obsolete. To be clear, spotters and chasers are not the same thing, even if some people (yours truly, for example) engage in both activities.

The issue here is that in the age of social media, it’s easier for the bad eggs to stand out. It’s easy to find chasers behaving stupidly, sometimes they even get their own cable shows. The well-behaved chasers, by their very nature, tend to not be noticed. Eric Holthaus is welcome to not chase anymore, that’s his choice. I haven’t chased in several years, but that’s more due to family obligations than anything else. I have, and will continue to, chase with the safety of myself and others as the top priority.

Mario Marathon 7 begins today

Filed under: The Internet — Tags: , , — bcotton @ 8:36 am

Can you believe it’s been a year already? The Mario Marathon returns at 11 AM Eastern, once again raising money for Child’s Play Charity. The previous six Mario Marathons (plus a Zelda Marathon) have raised over $400,000 from donors around the globe. This weekend is your chance to support a worthy cause. You can donate through the widget on your right or directly at I hope to see you around. I’ll be on the stream from 6 PM Sunday until 6 AM Monday.

June 18, 2014

Getting good reports from users

Filed under: Project Management — Tags: , — bcotton @ 9:11 pm

Earlier this week, Rob Soden asked an excellent question on Twitter: how do you train your non-technical co-workers to file useful/actionable bug reports? Is it possible?

It is, but this question doesn’t just apply to developers. Operations people need useful incident reports from users as well. Users generally don’t provide unhelpful reports maliciously.. In my experience, reports are often the least useful when users are trying to be the most helpful. A healthy relationship between a customer and a service provider means that everyone is working together. Users often don’t know what information is helpful, they just want to go about their work.

A useful report contains the following:

  • What happened and what the desired result is
  • What the user was doing when it happened
  • Any changes that may have happened
  • If the product/service ever worked and if so, when it last worked
  • If the problem is reproducible and if so, what steps are required to reproduce it

A useful report does not contain speculation about what the solution is. But what, Rob asked, if the lesson doesn’t stick? It gets annoying having to ask over and over again. As with any repetitive task, the answer here is to automate it. One option is to have a canned response at the ready. This way, you polish the text once and you never have to worry about irritation creeping in. A better solution is to have a website that explicitly asks for the information you need. This saves a round of back-and-forth and hopefully increases the time to resolution.

The most important part is to modify the process as you learn. Tweak the questions to make it easier on the users. Provide multiple-choice or other defined-response choices when you can to reduce ambiguity. No good process is ever in a final state.

June 9, 2014

Introducing redacted horoscopes

Filed under: Funnel Fiasco,The Internet — Tags: , — bcotton @ 7:24 pm

On Sunday,  I was sitting down with the newspaper. The crossword puzzle was proving to be more of a challenge than I particularly cared to tackle. My eyes wandered to the horoscopes. I started redacting words and realized that they became funny. Channeling my inner Yossarian, I ran my pen through the rest.

The horoscopes were short enough to tweet, so I did. They got a good reception, and I decided this should be A Thing [tm]. Thus, a new Twitter account (@RedactedHoros) and finally some content in the fun & games section. Redacted Horoscopes
will update most Sundays and also on the occasional weekday.

June 3, 2014

If you never test it, it doesn’t exist

Filed under: Musings,The Internet — Tags: , — bcotton @ 7:55 pm

Did you hear the one about the Texas couple who spent seven years paying for an alarm system that never worked? It’s easy to blame the vendor (especially since it’s Comcast) since 1) the system was not correctly installed and 2) when the homeowner noticed, the customer support agent said the system hadn’t reported in since 2007. Certainly Comcast shoulders a lot of the blame. After some pressure, they agreed to refund the full seven years worth of payments. However, the Leeson family is responsible as well. In seven years of paying for an alarm system, they apparently never tested it themselves.

A service that is never tested does not exist. If you don’t test it when you don’t need it, you can’t count on it being available when you do. It’s why emergency managers test outdoor warning sirens. It’s why hospitals test their generators. It’s why sysadmins test their backups. So here’s my challenge to you, dear reader: think about systems you rely on and test them — before you need them.

Older Posts »

Powered by WordPress