Thursday, February 26, 2015

Why We Killed Off Code Reviews

An interesting article at

 I wasn't familiar with the 200 lines of code per hour study they cite from the IEEE.:

That sounds excruciatingly slow, although not out of reason. There have been days in my history where I wrote thousands of lines of code. Sitting down for 8-10 hours of line-by-line would have been excruciating (and some of that code was still running as of this year, so I know it survived my developer demise). It's interesting to see the issue of context switching infesting everything, even what's considered a best practice.

 "You push a pull request. Someone else has to stop what they’re doing to review it. Meanwhile, you’ve started the next feature. If the reviewer has questions, you’re pulled back into that conversation with possible changes to make after the fact."

Friday, February 20, 2015

They tried the beer without actually giving a crap about the people

"The thought that I could treat you poorly and then buy your loyalty with a few donuts or free beer is ludicrous. But I see business leaders do this sort of thing all the time. And I understand why…it’s easier to buy donuts than to do the real work of leading well."

A better article on culture than many I've read: Lead Change Group | How to Motivate Your Team & Why Your Employee Perk Won’t Work

Friday, February 13, 2015

Technical Debt Metaphors Get it so Wrong

This is just a scratch on the surface, but I like the following statement from Technical Debt Metaphors Get It so Wrong and, anecdotally (only because I've never bothered to formally track it), I concur that developers will feel the pain (and try to hide it) before it impacts the business.

 "This isn’t a simple language problem. It is a fundamental misunderstanding of roles that is naive to the way software development works. Programmers will be the primary sufferers of technical debt. Eventually the business will suffer with a slower pace of innovation and development and higher turnover. But well before that, programmers will be fixing (and refixing) obscure bugs, will bristle under management that tells them to go faster, will be working extra hours to try to improve things, and will eventually burn out. The business will only suffer once real damage has been done to a programming team, and many have given up."

Erik once crafted a Snrky related to Technical Debt:

So did I, although a lot less technical:

Monday, February 09, 2015

What I Look for in a Junior Developer

Bill Gathen's article is spot on as far as I'm concerned. Those soft skills and the ability to ask questions and pay attention to detail are incredibly important. In several interviews I've been in (being interviewed, not giving the interview, and I include talking to new managers when I move between teams) I've told them I'm someone who doesn't drop a thread - that my consistency and ability to pick something up and still be motivated and feel a sense of ownership sets me apart from others. It doesn't just apply to development. Thinking creatively about your job and how to do it better and more efficiently and why it's being done at all - that should never go away, no matter how miserable the job is (and I've been a bulk mailer and cleaning services employee in my life, including the part that involves scrubbing other people's toilets). From a dev perspective, the one thing I'd disagree with is that I expect you to be able to talk about the tech. That enthusiasm you have should extend right down to the research you did for the opening I have. Yes, I don't care if it's PHP and you're looking for a .NET job, but I really hope that if you want a career in development you can talk the talk about what personally excites you and then...then...make the connections between your comp sci education/experience and my project (I'm picturing my daughter from her elementary years when the teacher made her link her hands together with two OK signs and say "connections").

"The ones I consider most important are: enthusiasm, attention to detail, a hunger for learning, and thirst to contribute."

Double Entendre Mug

One of the developers who used to be in my org chain (I hate saying that - let's say one of the developers I used to work with) and really liked left me this mug when he took off to Amazon.  It's a good size and, with an office and satellite cube closer to my team, I left it in the cube so I have a coffee cup in each location.  It wasn't until last week, probably while zoning from being less caffeinated since December 1, that I realized the decoration along the bottom is a bit dubious.  I'm not saying it's decorated with erect phalli and testes, the other side looks a little more noses with mustaches, but it would be hard not to see it once someone pointed it out to you.

This hasn't stopped me from using it.  I'm perfectly comfortable being the manager with the Tardis mug and that weird phallus mug.  It's not the most controversial manager characteristic I'm aware of over the last 17 years.

Good Neighbor

This was in my newsfeed recently.  I'm still trying to figure out how WCCO equates a coup in Gambia with being a good neighbor.  Maybe he wanted to make it a new place to build cabins?  Or he wanted to keep Wisconsin from laying their hands on Gambia first?

Words With Friends - Interesting Random Challenge

This guy/woman absolutely crushed me in Words With Friends.  I was trying to decide if s/he was a bot. How else do you get 9999 unique words played?  Then again, if they're that brilliant at WWF maybe their personal achievement is to use as many unique words as possible.  Which makes me wonder how you keep track of the specific 9999+ words you've played.  It's either that, or you're a savant.  I even went to the trouble of looking the player id up on Google to see if anyone else had been mauled, but they're un-Google-able.

Thursday, February 05, 2015

Cultures of Code

"What’s the difference between computer science, computational science, and software development..."

 A good article in American Scientist about different cultures of coding. When i started (and I should confess, I'm a History/English/Writing major) in AeroE, I would say RPI was training me more as a computational scientist: modeling data and computational problems. Where I landed roughly ten years later was definitely the software development culture. Every now and then I run into a developer who tells me a variation of the following statement below - that we get lots of good software developers who know the languages, but that don't know their "basics". Admittedly, in my experience, we hire for the former, not the latter. Perhaps in part because they create copious amounts of business-requested code (features), even if it's not based entirely in the fundamentals. It's a bit of a conundrum and we seem to juggle it a bit by having a separate R&D group as well as some groups that balance on that line between software development and computational science and even computer science that can focus on the underlying efficiency and methodology rather than delivering external user features.

 "Programmers today are intensely partisan in their choices of programming languages, yet interest in the underlying principles seems to have waned. Two years ago I attended a lunch-table talk by a young graduate student who had turned away from humanities and business studies to take up a new life designing software. She had fallen in love with coding, and she spoke eloquently of its attractions and rewards. But she also took a swipe at the traditional computer science curriculum. “No one cares much about LR(1) parsers anymore,” she said, referring to one of the classic tools of language processing. The remark saddened me because the theory of parsing is a thing of beauty. At the very least it is a historical landmark that no one should pass by without stopping to read the plaque. But, as Edith Wharton wrote, “Life has a way of overgrowing its achievements as well as its ruins.”"

Wednesday, February 04, 2015

A Year in Reading - 2014

22,282 pages.  61 pages a day (really? I had a goal of 50 which I thought would be utter nonsense).  The most pages I've ever read, and nearly double last year.  I did count a few audio books which is new this year, but I didn't get anything that was abridged.  My average rating went up almost 1/2 a point as well.  A pleasant surprise.  I hope it means I was pickier about what I was reading.

So, would I maintain my rankings in retrospect?  Brontosaurs, Drift, Nation, Lock In, the third Magicians book, Ocean at the End of the Lane, the Serpent of Venice, The Golem and the Jinni, The Martian, Hallucinations, It Can't Happen Here, We are All Completely Besides Ourselves...damn I read some good stuff in 2014.  Some of the best thanks to Mean Mr. Mustard either due to recommendations this year, or as continuations of past recommendations.

Rabid, Rats.  I could have done without those.  And Parasite.  I'm still bitching about it, so I know it made me mad. And the Incrementalists?  I'm amazed it was published.  I remember the pain of trying to finish it more than the plot itself (had to do with shared mental constructs).  And I learned I can mostly do without Stephen King.  1963 was passable, but overall, King's books bored me.

I've already got things queued up for 2015.  Finishing Last of the Doughboys.  A number of management and comp sci books.  Finally reading Chris Hadfield's books and finishing Doogie Howser's Choose Your Own Adventure autobiography (I could have counted that for 2014, but I think I need to do more iterations).

11/2/2014 Moths Ate My Doctor Who Scarf: The BBC Adaptation of the One Man Show Hadoke, Toby 6.50
11/1/2014 Silver (the final exam is survival) Wooding, Chris 6.00
10/28/2014 Truth is a Cave in the Black Mountains, The Gaiman, Neil (illustrated by Eddie Campbell) 9.00
10/21/2014 Wintersmith Pratchett, Terry 8.00
10/14/2014 Akata Witch Okorafor, Nnedi 7.00
9/28/2014 Magician's Land, The (The Magicians Book III) Grossman, Lev 9.50
9/22/2014 Nation Pratchett, Terry 9.25
9/20/2014 PragPub: The Second Iteration (Issue #61, July 2014) Various 7.50
9/15/2014 Cibola Burn (The Expanse Book IV) Corey, James S.A. 8.50
9/14/2014 PragPub: The Second Iteration (Issue #63, September 2014) Various 7.50
9/7/2014 Banzai Battalion (Judge Dredd GN) Wagner, John and Brian Bolland 7.00
9/6/2014 Griff, The Moore, Christopher and Ian Corson 4.00
9/3/2014 Get Jiro! Bourdain, Anthony and Joel Rose 9.00
9/3/2014 Lock In Scalzi, John 9.50
8/26/2014 PragPub: The Second Iteration (Issue #62, August 2014) Various 8.00
8/26/2014 Black Numbers: The Aleph Null Chronicles Book One Lappi, Dean Frank 7.00
8/10/2014 Dodger Pratchett, Terry 7.75
8/8/2014 My Beloved Brontosaurus: On the Road with Old Bones, New Science, and Our Favorite Dinosaurs Switek, Brian 10.00
8/3/2014 America Again: Re-becoming the Greatness We Never Weren't Colbert, Stephen 8.75
7/31/2014 On Such a Full Sea Lee, Chang-Rae 7.00
7/24/2014 Mr. Mercedes King, Stephen 7.50
7/23/2014 Serenity, Vol 3: The Shepherd's Tale Whedon, Joss and Zack Whedon and Chris Samnee 6.50
7/23/2014 Serenity, Vol 2: Better Days Whedon, Joss and Brett Matthews and Will Conrad 7.50
7/22/2014 Serenity, Vol 1: Those Left Behind Whedon, Joss and Brett Matthews and Will Conrad 7.50
7/22/2014 Black Orchid: The Deluxe Edition Gaiman, Neil and Dave McKean 6.00
7/17/2014 Drift: The Unmooring of American Military Power Maddow, Rachel 10.00
7/16/2014 Planet of Viruses, A Zimmer, Carl 9.50
7/15/2014 Getting Life: An Innocent Man's 25-Year Journey From Prison to Peace (A memoir) Morton, Michael 8.00
7/5/2014 Dirty Job, A Moore, Christopher 8.00
7/1/2014 Ocean at the End of the Lane, The Gaiman, Neil 9.50
6/24/2014 Rats: Observations on the History & Habitat of the City's Most Unwanted Inhabitants Sullivan, Robert 2.00
6/22/2014 Rabid: A Cultural History of the World's Most Diabolical Virus Wask, Bill and Monica Murphy 5.00
6/18/2014 New Cthulhu: The Recent Weird Guran, Paula (Editor) 8.00
6/9/2014 PragPub: The Second Iteration (Issue #60, June 2014) Various 8.00
6/6/2014 Amazing Maurice and His Educated Rodents, The Pratchett, Terry 9.00
6/5/2014 Stupidest Angel: A Heartwarming Tale of Christmas Terror, The Moore, Christoper 7.50
5/27/2014 Shovel Ready Sternbergh, Adam 8.50
5/23/2014 Authority: Book 2 of the Southern Reach Trilogy Vandermeer, Jeff 9.00
5/22/2014 11/22/63 King, Stephen 7.50
5/8/2014 The Wee Free Men Pratchett, Terry 9.00
5/4/2014 Spaceman Deluxe Edition Azzarello, Brian & Eduardo Risso 4.00
5/3/2014 Final Crisis Jones, JG & Doug Mahnke 2.00
4/29/2014 Serpent of Venice, The Moore, Christoper 9.50
4/25/2014 Lamb: The Gospel According to Biff, Christ's Childhood Pal Moore, Christoper 9.00
4/22/2014 We Are All Completely Beside Ourselves Fowler, Karen Joy 9.00
4/5/2014 Strange Bodies Theroux, Marcel 5.00
3/27/2014 Hitler's Furies: German Women in the Nazi Killing Fields Lower, Wendy 7.00
3/23/2014 Circle, The Eggers, Dave 7.50
3/16/2014 A Middle-Class Utopia: Lewis's It' Can't Happen Here (Sinclair Lewis at 100: Papers Presented at a Centennial Conference SCSU 1985) Jones, James T 7.00
3/16/2014 Doctor Sleep King, Stephen 7.00
3/16/2014 Reading It Can't Happen Here With College Freshman (Sinclair Lewis at 100: Papers Presented at a Centennial Conference SCSU 1985) Parham, Judy F 2.00
3/14/2014 Shakespeare: The World as Stage (the Eminent Lives Series) Bryson, Bill 9.00
3/13/2014 Gulp Roach, Mary 8.75
3/11/2014 Fool Moore, Christopher 9.25
3/7/2014 The Golem and Jinni Wecker, Helen 9.00
3/1/2014 Martian, The Weir, Andy 9.50
2/27/2014 Framework for Improving Critical Infrastructure Cybersecurity: Version 1.0 (2/12/14) National Institute of Standards and Technology 7.50
2/26/2014 Un Lun Dun Mieville, China 8.00
2/22/2014 It Can't Happen Here Lewis, Sinclair 9.00
2/17/2014 Annihilation Vandermeer, Jeff 9.00
2/17/2014 Incrementalists, The Brust, Steven and Skyler White 1.00
2/16/2014 Hallucinations Sacks, Oliver 9.00
2/13/2014 Dust (Silo Saga) Howey, Hugh 7.50
2/7/2014 Parasite (Parisitology I) Grant, Mira 2.00
2/1/2014 MaddAddam Atwood, Margaret 7.25
1/28/2014 Happy Atheist, The Myers, PZ 6.00
1/27/2014 Year of the Flood, The Atwood, Margaret 7.50
1/23/2014 Oryx and Crake Atwood, Margaret 7.75
1/20/2014 Alif the Unseen Wilson, G. Willow 7.50
1/17/2014 Superman vs. Muhammad Ali Adam, Neal & Denny O'Neil 7.00
1/16/2014 Ishmael: An Adventure of the Mind and Spirit Quinn, Daniel 6.00
1/15/2014 Necromancer's House, The Buehlman, Christopher 9.00
1/14/2014 In the Tall Grass King, Stephen and Joe Hill 2.00
1/11/2014 Monstrous Regiment (Discworld 31) Pratchett, Terry 8.00
1/4/2014 Wind Through the Keyhole, The (A Dark Tower Novel) King, Stephen 8.00
1/1/2014 Jack Glass Roberts, Adam 8.50

Building Font

Via Wired, a font made entirely of buildings.  I don't see my house.  I think it would have to be some sort of punctuation mark if you took a picture from very, very high up.

“Letters that are geometric are all over the place, but a building shaped like a V is not so common,” he says. “A building shaped like a P is not so common either.”

Notable Women in Computing

Argh...I wish I had caught this when it was on Kickstarter. Yet more proof the internet does not work as well as it should - any reasonably competent AI that traced my web history would have realized this was of interest to me. Looking back to only yesterday I was reading an article on COBOL and Grace Hopper. Fortunately, there are downloaded files so I can reach out to my friend in the printing space to get some posters and decks of cards.
CRA-W WIKIPEDIA Project - Writing Wikipedia Pages for Famous Women and Notable Women in Computing

Monday, February 02, 2015

Why A Job in Programming is Absolute Hell

Every now and then every developer needs to break down and rant about some of the ridiculous of their job.  This is a particularly good example, if only for the phrase, "Then he decided he wasn't going to tell anyone that this was an error, because he's a dick, and now all your snowflakes are urine and you can't even find the cat."

Dianne Marsh at Netflix

I liked this extract from her interview (11 minutes):

"Charles full question: Something I know from listening to you present, and also talking to Adrian Cockroft and people like that, is basically Netflix was designed for speed of execution essentially; to get things done really quickly. So from a kind of people point of view, what are some of the things that slow people down and what do you look for and try and take out of the process?
Yes, you are right. What we want to be able to do at Netflix is push things out really quickly: keep people moving. A manager’s role at Netflix is really just to get out of the way, you know hire really great people and get out of the way. I think what a lot of companies make the mistake of doing is hiring really great people and then putting a lot of processes in their way and a lot of gates that actually slow them down, or question the direction that those people want to take; and instead we really want those people to do what we hired them for, and frankly what we pay them for, which is just to build great software; and so a manager’s job at Netflix, my job at Netflix, is to make sure that I give my team context about what the rest of the company is doing, and give context about what my team is doing to the rest of the company, so that we can all make great decisions together about what to do. I get out of the way of the decisions that my team make, so that they can independently come up with great ideas, and I don’t have to stand in the way and decide which things have legs and which things don’t. Instead I just depend on the wisdom of the people that we hire to be able to make those decisions."

Sunday, February 01, 2015


We had a good weekend.  On Friday night we went to the play at Inver Hills high school to see the play for which Eryn had been doing tech/stage the last few months.  It wasn't a single theme.  Instead they did The Acting Games.  Much like The Hunger Games, but the competition was amongst the styles of actors to determine who would win.  Losers were relegated to jobs as barristas and waiters.  The second half was musical numbers from a variety of movies such as Moulin Rouge, A Teen Beach Movie, and Les Miserables.

Then Eryn and my sister took off to Southern Minnesota on Saturday to see The Sudden Lovelys play.  So my wife and I had an evening to ourselves.  We went to Chang Mai Thai for dinner and then to the Lagoon to see animation shorts.  Most of them were great, although The Dam Keeper was amazing.  Absolutely beautiful, and a great story about a pig who's bullied but finds a best friend.

Monday, January 26, 2015

The Babadook

My wife and I got some time to go to a movie together Saturday night at 10:00 p.m. while Grandpa was around to hang out with Eryn.  So I looked for something interesting and we settled on The Babadook at The St. Anthony Main Theater, next to the recently departed Pracna.  A great movie.  If I was a kid, it would have scared the crap out of me and it was very well done even if you're an adult. Not too fast.  Not all over the jump-in-your-seat shocks.  A solid, building horror.  No idea of why.  And it attacks the single parent family with a semi-special needs child at the heart of the family, turning the mother on her son and making you question what's Babadook and what's a mother frayed to breaking.  It wasn't until we were watching it that we realized we had seen the prototype short, Monster, back when we still had cable and IFC.

Ba, ba, doook, doook, doook.....

Indoor Pedaling

I've been keeping track of my indoor mileage since 12/1/14 to record my off-season training.  So far I have:

433.90 miles
26 hours 46 minutes 39 seconds

Not really extreme by some people's standards, but a lot of exercise for a family and a day job and still reading and studying (I can't study or read while bicycling - my brain doesn't like it and the sweat discourages it), and I mix it up with some hill climbing by going 3% or 4% for a minute to a minute and a half out of every ten minutes every few rides.

For fun, I've been tracking how far I'd have gone in the real world:

East:  Eagan to Eau Claire, WI to Spencer, WI to Richford, WI to Milwaukee, WI to Hammond, IN
West: Eagan to Olivia, MN via the Luce Line to West Spring Scientific & Natural Area to Madison, SD to Mitchell, SD to Chamberlain, SD to US 83 & State St (57579) sort of on the way to Valentine, NE.  Going West would apparently be a tough hall if you want to find places to stop.  Might have been better to aim for the top of ND.  Which would have been more interesting in terms of Idaho/Montana, but Colorado would be fun too.

I think it's a bit off because a straight run to Chicago says 452 miles.  I probably miscalculated here or there or reached for the nearest town.  Still, close enough for horseshoes.  By the time I pedal to Chicago, I should have at least three Chicagos under my belt.  Basically to DC going East and Twin Falls, Idaho, going West.  Which looks cool on a map if you don't factor in the six months of pedaling.

Friday, January 23, 2015

The 5,000 Fingers of Doctor T

The family (Eryn, Pooteewheet, my Dad and I) went to The 5,000 Fingers of Dr. T at the Trylon tonight. I made reference to the movie in my master's thesis on dystopias as it shares a few features, at least in the mind of a kid and, as a piano-based dystopia, is rather unique.  Lot of laughter in the theater as much of the humor has held up well over time, such as the joke about being paid time and a half, Bart's interactions with the adults in his life and dislike of constant piano practice, and the atomic sound absorber,  While most people I've talked to haven't seen the movie, they don't realize they've seen or heard Dr. T in one of his other guises.  Hans Conried, among many, many other roles was the voice of Snidely Whiplash in the Rocky and Bullwinkle Show.


Ming and Kyle gave me Asian cookbooks for the holidays, including a lot of how to cook Ramen information. I have yet to read them because I have to finish up half a dozen other books first.  So I'm going to just have to pick a recipe and do some United Noodles shopping and hope that it doesn't suffer significantly just because I didn't read the commentary.

I thought both the Thai Curry Soup and Thai Peanut Chicken soup at this site sounded pretty tasty.  A shopping list is in order.  I should find an online one so I can roll up ingredients across a few recipes.

For vegetarian day at our house, I thought the stewed carrots as pulled pork recipe, though not out of an Asian cookbook, seems pretty cool.  Might make a good alternative to potato/cauliflower days.

Tuesday, January 20, 2015

Old Dixieland in France

From the chapter "Old Dixieland in France" in The Last of the Doughboys by Richard Rubin, bottom of page 263.

"African American soldiers were undertrained and underequipped; the first batch of black stevedores sent to France was actually issued blue uniforms left over from the Civil War.  They were assigned worked deemed 'unfit' for white soldiers, and ordered into factories as strikebreakers. They were warned, in the most menacing of terms, to stay far away from French women, not to enter French homes or eat in French cafes. (French citizens, for their part, were asked by American authorities to honor American 'cultural sensitivities' by adopting a policy of racial discrimination for the duration of the war.) They were, as a class, labeled -- in official reports -- as lazy, or simpleminded, or devious, or all three.  Contemporary accounts report that they were subjected to an extraordinary amount of verbal and even physical abuse in camp, just in the course of an ordinary day."

This is all before he gets to the section about "coon songs", which are pretty vile, and period assumptions about mental inferiority.

"Yes, a man with a rifle has power, authority, dignity; but a man who uses that rifle to fight - for you - also has pride.  You owe him your gratitude.  And he knows it.  And when this man comes back home again after putting his life at risk to defend your freedom, perhaps he'll be satisfied to just return to the way things were before.  But perhaps not."

Monday, January 19, 2015

New Setup for the Training Room

I'm not sure you can tell from this video, but that monitor on the right is very large.  I realized while I was at Dan'l's house today that he basically had a television hooked to his computer.  Why this didn't occur to me before, I don't know, because we certainly hooked Eryn's Raspberry Pi up to the television.  And upstairs, I had a television that was out of warranty where the sound would crank up to maximum no matter what we did.  You can't really watch it that way without upsetting the neighbors. A scouring of the web indicated this was a common problem with the television and not fixable without removing the board and messing with it.  Something I had no desire to do.  However, if you hook the same television up to the computer via HDMI, then absolutely no sound is needed whatsoever.  You can just leave it on mute.  End result, The Pacific (which Ming and Kyle wouldn't loan me) absolutely huge while I ride my trainer and my wife gets my old wide screen as an extender for her work.  Win all the way around.