Ruminations on "The unspoken truth about managing geeks"

Jeff Ello wrote a great piece in Computer World about managing “geeks”. It’s getting a lot of press, good and bad, and really sparked me back into this conversation. If you replace “geek” and “IT pro” in the article with “knowledge worker”, it’s almost eerie how in sync our opinions are. Jeff and I both have a lot of dual experience- seeing organizations from the inside-out as employees, and seeing them from the outside-in as consultants. I’ve written a lot about my pinings for knowledge workers, including an essay here. Jeff’s editorial really takes a good, honest jab, and one I want to “Amen” as loudly as I can:

AMEN

I really want to call attention to some of the finer, most important, high-impact parts of his essay. The focus of this is management, but if you’re in a relationship, or friends with a knowledge worker, you’re generally just as likely to be impacted for all the same reasons as someone in the same IT establishment.

Continue reading

Posted in Life, Opinions, Work | Leave a comment

RIP Nortel

[UPDATE: Avaya did indeed win the auction, for nearly twice their stalking-horse price. We’ll see how that plays out.]

This Friday, Nortel’s enterprise products division will be auctioned. Avaya is the stalking-horse, with numerous other companies additionally submitting bids. If history holds, Nortel Enterprise will not be Avaya’s, but belong to someone else (despite all the buzz Avaya and its partners are making). Regardless, that someone will acquire the best enterprising data switching platforms made.

Hands-down, the ERS 5000 -series has continued to be the best integrated UTP switch, since coming onto the scene many years ago. Beefy backplane, generous uplinks, flexible stacking, decent price-point. I’ve baked switches from every vendor willing to send me gear, and no one can handle the battery like an ERS 5000.

The ERS 8600 chassis-based platforms also make a mockery of the competition. Robust, redundant backplanes; extremely flexible slotting options; ridiculous feature set; decent price-point. Better marketing could have really pumped this line, as a number of the slot options were best-of-breed. Again, I’ve baked a number of chassis, and the 8600-series delights on most all of the benchmarks that matter.

There are lots of other diamonds in the enterprise space. Quite a lot. I’m not a “loyal” customer of anyone: I believe in market Darwinism. Unfortunately in this case, the best products were latched onto a fiscally irresponsible company, led by brain-dead opportunists who from the outset have undermined the legacy that is … was … Nortel.

I look forward to Friday – to see who’s getting the chance to own the best-of-breed enterprise networking products, and hope when they sit down and take a good look, they realize what an amazing set of assets they have, and Do The Right Thing with them.

Regardless, Nortel is a less-than-skeletal image of its former self, and a venerable multi-century legacy is all but a footnote.

Posted in Opinions, Products, Work | Tagged | 1 Comment

A Rebuttal of a Rebuttal…

Somehow, while clicking away at the Internet, I managed to get to this blog post, which is a rebuttal of this article by Cory Doctrow about cloud computing. Please keep in mind I dislike most of the things that come off of Cory’s fingers intensely, and even elements of the aforementioned article. Where I blew an artery was at the rebutter saying:

Cloud computing fosters intense competition.

This is not just wrong (people are wrong all the time, and I don’t blog about it), it’s dangerously wrong. Nowhere in technology have we had less competition potential, and more monopoly potential than in the realm of cloud computing. Why? Cloud computing is all about size and marketing. I remember back in the day when I was happily using WebCrawler to scour the Intertubes for what I wanted to find, when some jerks from Stanford started some crappy search engine called Google. Pffft. “There’s tons of competition in the search engine market”, the analysts said. I was concerned then, I’m concerned now.

Any centralized Internet service is about size and marketing. Read up on my last post if you want to know how I feel about centralized services in general. Right now there are three major players in the “cloud computing” market. That will grow, as did search engines, to probably 20 major players and everyone will think I’m nuts, and then they will be slammed against the wall by One.

One that claims not to be evil.

One that believes (truly) they’re doing good.

One that rules them all.

This is not some psychic prediction, this is the recognition of a pattern that has played out too many times in the young life of the commercial Internet.

Posted in Architecture, Opinions, Work | Tagged | 2 Comments

Distributed By Design

The Internet, by taking its name literally, means “the network between networks”. 40 years ago today, the Men and Women that first started implementing the technologies that grew up to be the Internet didn’t want to create one network- they wanted to unify distributed networks redundantly. They wanted to do it this way so that a problem on one network, had literally no impact on other networks – and especially no impact on the Greater Network.

Yet humans are congregational, fashionable beasts. Humans, in general, want to be where there are other humans- even virtually. They want to be a “part of something”. They want to be on Facebook or MySpace. They want an iPhone. They want a Gmail account. They want to be LinkedIn. They love fads and the feeling of faux exclusivity that they bring, like Twitter. They fight against distribution.

The Fallout of Centralization

When Gmail is offline for a few hours, it makes international news. Millions of people across the globe are without e-mail! Crisis! Panic! When Facebook “gets a virus”, it’s international news! Millions of people are at risk! Crisis! Panic! When Twitter gets knocked offline, it’s international news! Millions of people can’t tell each other what they’re eating! Crisis! Panic!

Why won’t they get their e-mail from a more local provider? Why won’t they get other services from a more local provider? Why do people by Macs? Why do people like malls? They fight against distributed designs, and try to pull things together. “One-stop shopping” to a network neophyte is all giggles and rainbows- To a network architect it’s “bad design”.

Internet history is littered with fads and centralized solutions that inevitably fail to retain attention after the Next Big Thing arrives: But distributed solutions tend to last much much longer. Why?

The Argument for Centralization

There’s only one reason Google loses more money than my lunch cost every time someone watches a YouTube video: Control. Companies offer centralized services so they can control their users, their content, and their market. Facebook doesn’t care about user privacy or quality services, they care about making money (or, in their case, losing less money). They want you to be on their site as often and for as long as possible, and they’ve already sold your information in order to fund more gizmos and whirligigs (“apps”, they call them) to keep you coming back and sticking around. Control.

If Facebook was distributed – anyone could put up their own Facebook-compatible site, and allow other geographically-similar people to use it – how would they exercise control? How would they censor you, collect your personal data and sell it? How would they push you the latest version of your favorite whirligig? How would they profit off of you (or prevent someone else from profiting off of you)? Control.

While Gmail is a centralized interface to a distributed system (collectively known as “e-mail”), they’d just love it if everyone used Gmail and there was no distributed e-mail system. They mine your e-mail for keywords to target ads at you, making truckloads of money at the expense of your privacy- Ads that companies pay a premium for because Google can already “guarantee” you’re interested. Control.

The Argument for Distribution

Keeping components small, simple, and “close” is a doctrine of many disciplines, and is imperative for “critical infrastructure”. I have more than one client that intentionally buy equipment from multiple vendors, to reduce risk of single-vendor product failures. Several only update a fraction of systems and application software to new versions at a time, to reduce risk of debilitating bugs (one client, literally, has some 8 year-old operating systems running unpatched for this reason). More, and more institutions have multiple WAN (“Internet”) connections, from multiple providers, to reduce risk of single-provider failures.

Distributed infrastructure is more about “us” (the global network users)  than “you” (the individual). You don’t care whether Gmail (with a few million users) is down, or whether your ISP (with a few thousand users) is down: all you care about is that you can’t get to your e-mail. Because of this, it’s hard to convince “you” that distributed is better. You, the individual, don’t care about network survivability or how many other people are impacted- you only care about yourself, and your inability to access your mail.

Would you like to travel to your State capital to go to a centralized hospital? How about to the National Library to check out a book? When it comes to travel-related logistics, most people go “duh, local hospitals and libraries and schools and whatnot make tons of sense”: But once they go online – once that facade of geography is lifted – eYouSpaceFaceGoogleTwitterBookMailBay.com really is the best thing in the world, OMG?!!

HOWTO

So what can we do? What can you do? Appreciate and utilize local, distributed infrastructure. Don’t outsource/offshore your new whizbang application when your local hosting provider can handle it. Limit your dependence on centralized services, and find distributed substitutes where needed. Pretty much every infrastructure application has a distributed counterpart, many of them with much much less evil than their centralized cousins. I’m not saying “don’t go to website X” – I enjoy Wikipedia and CNN and all sorts of centralized information sources – but I don’t depend on them for communication, and I certainly know other places to go if they’re offline.

Distributed service architectures are about freedom and survivability. Centralized service architectures are about captivity and control. Happy Birthday, Internet. I look forward to another 40 years of architectural ingenuity.

Posted in Architecture, Life, Opinions, Work | 1 Comment

Build A Moat

Your app is falling down because it’s been Slashdotted. Your database can’t handle the query surge. Your app is highly dynamic so tossing up a static front-page, using Akamai, etc. isn’t viable. How can you handle 30kviews/s?

You have a moat. Squid or Apache with mod_cache can be configured with very short cache-durations (Expire or CacheDefaultExpire, respectively): I like 3 or 5 seconds.

It’s not so hard to handle 30kviews/s when 29,999 of them are from cache, yet for 99.9% of your users, they’ll see no human-discernible difference between the 1st request, and the 30,000th.

Bring the fire. We have a moat.

Posted in Architecture, Linuxy, Work | Leave a comment

FOSS’s Microsoft Hatred "a Disease"

Purloined wholesale from SlashDot, and reposted. The hypocrisy of a vocal minority of FOSS-purists has been overwhelming. As Linus accurately points out, we’re all in it for selfish reasons. No one likes working on the boring bits, and we all contribute our best code to the things we care about at the moment.

“In the aftermath of Microsoft’s recent decision to contribute 20,000 lines of device driver code to the Linux community, Christopher Smart of Linux Magazine talked to Linus Torvalds and asked if the code was something he would be happy to include, even though it’s from Microsoft. ‘Oh, I’m a big believer in “technology over politics.” I don’t care who it comes from, as long as there are solid reasons for the code, and as long as we don’t have to worry about licensing etc. issues,’ says Torvalds. ‘I may make jokes about Microsoft at times, but at the same time, I think the Microsoft hatred is a disease. I believe in open development, and that very much involves not just making the source open, but also not shutting other people and companies out.’ Smart asked Torvalds if Microsoft was contributing the code to benefit the Linux community or Microsoft. ‘I agree that it’s driven by selfish reasons, but that’s how all open source code gets written! We all “scratch our own itches.” It’s why I started Linux, it’s why I started git, and it’s why I am still involved. It’s the reason for everybody to end up in open source, to some degree,’ says Torvalds. ‘So complaining about the fact that Microsoft picked a selfish area to work on is just silly. Of course they picked an area that helps them. That’s the point of open source — the ability to make the code better for your particular needs, whoever the “your” in question happens to be.'”

Posted in Linuxy, Work | Tagged | Leave a comment

Beef Burgandy

After going through several recipes on this, I winged it to great success. This does not need to be overcomplicated.

~2lbs sirloin tip
3-4 bacon slices
1/4 cup flour
1 tsp. ground sea salt
1/2 tsp. marjoram
1/2 tsp. thyme
1/2 tsp. ground pepper
2 large cloves garlic, minced well
1 beef bouillon cube, crushed, or 1 packet beef ramen flavoring
1 cup burgandy wine
wide egg noodles

In large iron skillet, cook bacon until well-crisped (brittle). Remove bacon to small plate. Roll beef tips in flour and brown on all sides in bacon grease. Break up reserve bacon into smallish pieces, and combine with beef and remaining ingredients (not noodles!) in slow cooker. Cook on low for 6-8 hours. Serve over cooked noodles, goes well with a side of steamed veggies and good loaf bread.

Serves 4. Prep time: ~20 minutes. Cook time 6-8 hours.

Posted in Recipes | Tagged , , | 1 Comment

Shredded Chicken Wraps

This very easy dish can cook all day… or just all afternoon, and is excellent aside jasmine rice, couscous, or mashed potatoes.

2-3lbs boneless chicken breast
1/2-1 cup red wine or burgandy
2 cups Dinosaur BBQ Slathering Sauce
3-4 assorted hot peppers, chopped into large pieces
1-2 large cloves garlic, chopped
large tortilla shells
1-2 cups sharp cheddar cheese, shredded
olives/lettuce/sour cream/etc. etc. as desired

Add chicken, wine, bbq sauce, peppers and garlic to a slow cooker and cook on low. It’ll be done in 4 hours, and can sit for up to 4 more hours and still be wonderful. If you’re averse to pepper heat, remove seeds and any yellow interior lining from peppers prior to adding them to the cooker.

When done, shred chicken with a couple forks in the cooker to help soak in more juice. Make wraps as desired.

Prep time 10 minutes (5 before cooking, 5 after). Cook time 4-8 hours.

Posted in Recipes | Tagged , , , | Leave a comment

Root Beer Pulled Pork

This is an adapted recipe from a cookbook. Theirs was a little too formal for me. Excellent flavor and ridiculous savor makes this one a real winner.

3lbs. pork sirloin
a few twists sea salt
a few twists ground pepper
2 onions, wedged
3 12oz. bottles Saranac Root Beer (or other non-diet root beer, I suppose)
3 large cloves garlic, minced
1 cup Heinz chili sauce
6-7 dashes Tabasco sauce

Preheat a large iron skillet under high/med-high heat. Trim the loin, rubbing down with fresh ground sea salt and pepper. In the skillet, brown loin on all sides, grinding more salt/pepper as needed. Put pork, onions, 1/2 bottle of root beer, and garlic into slow cooker. Drink other 1/2 of root beet. Cook on low 8-9 hours, or high 4 hours.

With about an hour left on the pork, in medium/large saucepan combine remaining 2 bottles of root beer and chili sauce, and boil slowly, stirring regularly for about 30 minutes. Stir in Tabasco sauce.

Take pork out and put in glass serving bowl, shredding with two forks. Dump in sauce from saucepan, mixing well, and optionally onions from cooker (I serve the onions separate). Serve with toasted burger buns.

Serves 4-6. Prep time about 15 minutes before cooking, and about 15 minutes after. Cook time 4-9 hours (temperature depending).

Posted in Recipes | Tagged , | Leave a comment

Grilled Steak Fajitas

I used to make these all the time, but recently played them again. Fairly quick yet very satisfying. Serve alongside 2 cups of rice.

Marinade:

2 tbsp olive oil
1 lime, peeled and crushed well
pinch of curry powder
1/2 tsp cumin (ground)
several twists of black pepper from a pepper grinder
1/2 cup fresh cilantro (chopped fine)
2 large cloves garlic (chopped fine)
1 jalepeno or 3 serrano peppers (chopped)
2-3 drops Dave’s Insanity Sauce

Fajita:

1 lb. flank steak, or very thin sirloin
8 oz sharp cheese (shredded)
1 cup salsa
8 medium-sized corn or wheat tortillas (flour if you must)
lettuce, olives, other veggies as desired

Lay out steak in glass pan. Thoroughly mix all of the marinade ingredients in glass Pyrex container, pour over steak. Cover steak and allow to marinade in refrigerator for 1 to 24 hours.

To cook, get grill or cast-iron grill plate sizzling hot. Add steak quickly, cooking 2-3 minutes, flip, cook 2 minutes. Remove from heat and carefully cut into strips using knife and tongs.

To serve, add 1/8 of steak, cheese, salsa and other toppings to each tortilla, roll, and serve aside 2 cups white or jasmine rice.

Serves 4-6. Prep time about 15 minutes, 1 hour -to- 1 day marinade, ~10 minutes cook time.

Posted in Recipes | Tagged , , , , | Leave a comment