Politics, Weather, Photography, and the Dog
Page 1 of 3 in the Work category Next Page
Monday 10 August 2015

Problem: my keyboard suddenly wouldn't respond to the left-shift, enter, 3 or F5 keys. No idea why this is. Tested with mskey.exe, tested on another machine...still those four keys aren't working.

Solution: Get a new keyboard. Walk 10 minutes to Staples, find the same make and model, buy it, return to office.

New problem: New keyboard's spacebar is broken.

When I say "rinse and repeat" I mean that when heading back from Staples—this is the Chicago Loop, so one walks everywhere—it started to rain. Which is good, because the dewpoint is about infinity.

Now I'm cranky, damp, hot, and tired (which was a pre-existing condition today), and unproductive.

Waaah.

Monday 10 August 2015 15:59:39 CDT (UTC-05:00)  |  | Chicago | Kitchen Sink | Weather | Work#
Wednesday 5 August 2015

We're working on a software release this week which seems to have absorbed all my free creativity. So I will leave you with this random tweet I discovered today:

Wednesday 5 August 2015 11:09:18 CDT (UTC-05:00)  |  | Kitchen Sink | Work#
Monday 20 July 2015

During the first half of 2015, I took four trips, slightly fewer than the 22 I took in the second half of 2014. As of today I have four scheduled in the next three months—still not a huge number by historical standards.

This coming weekend I'm restarting the 30-Park Geas. Then from mid-August to mid-September I've got trips planned to downstate Illinois, London, and San Francisco, the last one to attend the Dreamforce conference.

It's still murder on my EQM numbers. It will hurt in 2016 if I can't somehow fly about 11,000 miles farther than I have planned through the end of 2015. Once you've gotten platinum status, you never want to go back.

Monday 20 July 2015 13:16:30 CDT (UTC-05:00)  |  | Aviation | Business | Travel | Work#
Tuesday 7 July 2015

There's something kind of sad about spending several days extracting code I wrote for one company from code I wrote, while working at that company, for the company I now work for.

Then I gotta test it all...

Tuesday 7 July 2015 17:06:46 CDT (UTC-05:00)  |  | Software | Business | Work#
Friday 12 June 2015

One step in the Inner Drive Technology World Headquarters move this weekend was to get my Internet connection turned on at my new place. Unfortunately this meant moving the modem from the old place, so I will have only a little bit of Internet this weekend, if any. I still have a bunch of photos to post.

Meanwhile, I wanted to post some context. Here is the map of where Google thought my phone was last week; it's remarkably accurate:

Here's the same data constrained to Wednesday through Friday:

I have a few thoughts about Google Location Services, but none that I'm going to share as I'm trying to leave the office right now to get to Ribfest. And to pick up my dog, who's with his new pack.

All of this comes after getting a major project moved from "nice to have" to "must have by Monday." Because why wouldn't I want to create a major policy document over the weekend I'm moving when I'll have almost no Internet connectivity?

Friday 12 June 2015 17:21:59 CDT (UTC-05:00)  |  | Geography | Travel | Work#
Tuesday 28 April 2015

I had my office door open most of the day and people kept walking in and speaking before I could acknowledge them. Hilarity ensued. Then I closed my office door and people who had appointments to talk to me simply walked away without knocking.

While that fun was happening, I didn't read any of these:

Off to more meetings.

Tuesday 28 April 2015 14:45:07 CDT (UTC-05:00)  |  | US | Travel | Work#
Wednesday 22 April 2015

I had a mind-numbing email exchange with a large corporate IT department today.

One of our best customers has a problem: no one has been able to use our software since Friday. We’ve been troubleshooting this problem. But we haven’t been able to fully investigate the issue, despite tremendous effort. We think we've uncovered the main issue preventing us from fixing the main issue.

We couldn't connect to either their production or user-acceptance test (UAT) Web services from inside our office because (we thought) their IP whitelist (a list of Internet addresses allowed to connect to them) didn't have our office on it. We got in touch with one of their developers—let’s call him "Bugs"—and requested the change. He responded that he had forwarded the request to his network team and we should expect whitelisting in 2-3 weeks.

I responded that I would be happy to get anyone else at his company involved to see about resolving this matter more quickly. Anyone, for example, like the division president who happened to be visiting Chicago this week. Or the vice-president whose users couldn't connect. Bugs, in turn, set up a call with their network team for the next morning, India time. So on our 9:30pm call last night (8am for them), we got sufficient firepower from inside their organization to get whitelisted wiki-wiki.

This morning (US time), we again attempted to run our tests against their UAT environment, and again could not connect. We could, however, connect to their Production environment. So their network guys did something, we just couldn't tell what. At least we can start trying to reproduce the production issue.

I sent another email to Bugs: “We can reach Production but not UAT. We are able to hit {production URL}, but not able to hit {UAT URL}. We’re seeing an error message that there is no endpoint listening at {UAT URL}. Is UAT offline or in an unstable state?”

Bugs sent back a message from his network guys showing a screen shot of their whitelist. Sure enough, the network guys did their jobs; we were whitelisted to both environments.

I responded, “OK, but we still can’t connect to {UAT URL}. Is it possible the UAT environment is offline?”

Bugs chewed on his carrot for a moment and responded, “We have stopped the UAT environment.”

O___O

So now I’m weighing responses. I have “Would you please start the UAT environment?” as my opening sentence, but I’m stuck on how to proceed. Options include:

  1. “We anticipate a higher likelihood of successfully testing against it if it’s running."
  2. "Ah, so this is a PEBCAK problem after all. Please address the issue between your chair and keyboard and try the operation again."
  3. "Now you're just fucking with me."
  4. "I don't know who you are. I don't know what you want. If you're looking for ransom, I can tell you I don't have money but what I do have are a very particular set of skills. Skills I have acquired over a very long career. Skills that make me a nightmare for people like you. If you let my UAT environment go now, that will be the end of it. I will not look for you, I will not pursue you. But if you don't, I will look for you, I will find you and I will kill you."

At some point I just expect him to respond with, "A møøse bit my sister once," but I'm also fairly certain he has no demonstrable sense of humor.

Ah, an email just came in from his supervisor's supervisor. Apparently they're restarting the UAT environment. I will now resume my labors.

Update: Once we finally connected to the UAT environment, we got back an error message, clearly indicating that their environment is misconfigured. Not that we were suspicious of Bugs' insistence that nothing at all has changed on their end, but once we got this particular error message, we forwarded the details to his team with the suggestion that they check their logs too. It's just past 2am IST so we expect that nothing much will happen until later tonight.

Wednesday 22 April 2015 11:27:24 CDT (UTC-05:00)  |  | Business | Work#
Monday 20 April 2015

(Note: The developer in question does not work for my company.)

I'm looking at some code in one of the products I'm responsible for, and I just came across this.

// ReSharper disable once RedundantAssignment
Tuple<List<SomeChartData>, string> objReportdata = null;

Let's review the WTFs:

  1. The developer didn't understand ReSharper's admonition that the "= null" is completely useless, so he disabled the warning.
  2. The Tuple is actually the return value of the method. It doesn't even need to be declared as a variable; it can simply be returned to the caller.
  3. Why are we using a Tuple in the first place?
  4. Oh; the string part of the Tuple is the title of the chart. This is a code smell, but I haven't analyzed it deeply enough yet to figure out how to clean it up.
  5. Wait, so why a Tuple? Why don't we simply have a first-class data transfer object that has everything one needs for a chart?
  6. OK, so even with a Tuple, why are we declaring it with a List instead of an IEnumerable or ICollection? What business is it of the calling method what concrete object we use to return chart data?
  7. Despite repeated directions to read our sodding code standards document, he named the variable—which is useless, remember—with a forbidden Hungarian prefix and used what I'm going to call for the moment "humping camel case." I don't know what that camel is really doing, but I'm pretty sure "data" should be capitalized.

The entire method of 40 lines had too many WTFs in it so I simply had ReSharper re-write it for me. It's now 20 lines, avoids the second of two doubly-nested foreach loops, and uses named constants instead of magic numbers. And it still stinks.

</rant>

Monday 20 April 2015 15:26:10 CDT (UTC-05:00)  |  | Business | Work#
Friday 17 April 2015

...and also preparing for a fundraiser at which I'm performing tomorrow:

And did I mention Apollo After Hours?

Thursday 16 April 2015 20:31:05 CDT (UTC-05:00)  |  | Chicago | Geography | Photography | Software | Blogs | Weather | Windows Azure | Work#
Thursday 16 April 2015

I'm still trying to debug the performance of our principal application, which shouldn't be struggling the way it is.

I did, however, take two minutes out of my life to watch this:

Thursday 16 April 2015 16:42:53 CDT (UTC-05:00)  |  | Kitchen Sink | Software | Work#
Wednesday 15 April 2015

I was here until 7:30 last night and would probably stay that late tonight if I didn't have a prior commitment. At least last night I got to see this:

At least I've isolated the code causing the problem. Unfortunately it's one of the most-called methods in the application. Sigh.

Wednesday 15 April 2015 17:43:00 CDT (UTC-05:00)  |  | Software | Work#
Tuesday 10 March 2015

Business lunch, business dinner, 8:30am call, 1:30pm call—and right now, six minutes to click "Send to Kindle:"

Time to get some water, plug in my Fitbit, and prep for my 1:30 call.

Tuesday 10 March 2015 12:58:37 CDT (UTC-05:00)  |  | Aviation | US | Business | Weather | Work#
Friday 27 February 2015

My old company wants to add 200 people in 2015:

A Chicago consulting firm plans to hire 200 people this year, a one-third expansion of its staff, to keep up with increased business from middle-market companies needing help with business and technology strategies.

The 200 new hires will be primarily project managers and experts in banking, retail, healthcare, manufacturing, and energy and utilities.

Of West Monroe’s 600 current employees, 400 work at the Chicago headquarters, which the company is expanding by 8,000 square feet, bringing the total space to 50,000 square feet, primarily to handle the expansion of a call center in which technologists solve clients’ problems.

Well, 200 new employees are a lot to absorb. I'm still absorbing it myself. I may have a more considered reaction later, but at the moment, I'm wondering where they expect to find 200 qualified people in the current environment.

I'll be watching this closely.

Friday 27 February 2015 11:14:25 CST (UTC-06:00)  |  | Work#
Sunday 1 February 2015

I was out with some old friends yesterday who wanted to know about my new job. A couple of them have missed my earlier posts showing the view from my office window. So just for you, here's the view from Wednesday afternoon:

Sunday 1 February 2015 10:21:13 CST (UTC-06:00)  |  | Work#
Thursday 15 January 2015

If you have a set of unit tests for a large application, and not every one of them passes, then you don't know whether the application works correctly. In fact, failing unit tests are evidence that it isn't working.

Also, marking them with the [Ignore] attribute doesn't count as fixing them.

Also, deleting the part of the unit test that fails doesn't count either. An empty test method is not a passing test unless the method being tested is also empty. And an empty test method should not ever be committed to the source repository.

</rant>

Thursday 15 January 2015 15:07:26 CST (UTC-06:00)  |  | Software | Work#
Tuesday 13 January 2015

One more quick note: despite the cold and rain (and traffic), three of us had dinner last night at The Oval Room in the District. Fantastic. We all would recommend it.

After dinner we walked two blocks to my friend Barry's house:

We didn't knock on the door, but one of my colleagues swears someone waved to her from the North Portico.

Tuesday 13 January 2015 13:23:47 EST (UTC-05:00)  |  | Kitchen Sink | US | Travel | Work#

Yesterday I only logged 4,447 steps for 22.4 kg, my least-active day ever since getting a Fitbit on October 23rd. It's galling, too, because at this writing I have 994,008 lifetime steps—which would have gone over 1 million yesterday had circumstances been different.

Today I should hit that mark, if only because I'll have to navigate to and from the DC Metro, around Reagan and O'Hare, and...huh. No, it's not a sure thing.

At least it's not raining in either DC or Chicago today. That will help.

But wow, less than 4,500 steps? This is why I don't like the suburbs.

Tuesday 13 January 2015 07:56:39 EST (UTC-05:00)  |  | Travel | Work#
Monday 12 January 2015

Even if it weren't rainy and getting dark outside, this isn't the most appealing view I've ever had from a hotel window:

At least I've managed to convince some of my team to head into the District for dinner tonight.

Monday 12 January 2015 17:11:48 EST (UTC-05:00)  |  | Travel | Work#

Back in July, I turned off the motion sensor on a hotel thermostat so that it would cease cycling the A/C and waking me up whenever I stopped moving (which one does when one falls asleep).

Now I'm at a Hilton Garden Inn outside Washington and the thermostat may have a motion sensor, but it's not clear. It has an all-or-nothing understanding of how to heat or cool a room, and it's paired with a very loud HVAC unit.

Fitbit says I got more than 6 hours of sleep last night because the Fitbit device doesn't sense when something wakes you up and you lie still, silently curse mechanical engineers everywhere, without actually moving your arm. (It did log 15 "restless" incidents spaced at regular intervals, however.)

Must...get...caffeine...

Monday 12 January 2015 07:21:33 EST (UTC-05:00)  |  | Travel | Work#

One of the consequences of being willing to jump on an airplane to take care of a client matter is, of course, one gets sent places to take care of client matters. And this is how I find myself, not yet a full week into my new job, in Northern Virginia.

At least it's above freezing here, so I got my Fitbit goals for the day. Plus, it looks like I'll hit 1 million lifetime steps either tomorrow or Tuesday—"lifetime" counted from when I joined Fitbit in October. So that's kind of cool.

Also, I once again have to say how much I like flying in American's new 737-800 planes.

Sunday 11 January 2015 22:26:41 EST (UTC-05:00)  |  | Travel | Work#
Monday 5 January 2015

Today is my first full day as CTO of Holden International. And this is Fennec E. Fox, who apparently will be sharing office space with me:

(It makes sense when you know a little about Holden's history, and that the flagship software offering right now is called eFox.)

Monday 5 January 2015 10:13:29 CST (UTC-06:00)  |  | Work#
Monday 22 December 2014

My vacation officially began at 12:20 this afternoon when I turned in my laptop and badge to West Monroe. I have exactly one day of vacation more than required to burn down PTO until the end of the year, plus I have some final Christmas shopping to do, so I have returned to my old remote office for a moment:

In reality, I'm not going to do nothing on my vacation. Someday I'll have two weeks off with pay and no responsibilities, but starting a job as CTO isn't like starting other jobs. I'm already working with my staff and CEO to start 2015 at full throttle. At least with the holidays, and going out to see the nephews, and a 2½-day week leading up to New Year's Eve, I can warm up behind the pace car before gunning it on the 5th.

I'm still formulating my 2015 resolutions. That said, the forecast out by the P's this week lets me state one goal out loud: 25,000 Fitbit steps Wednesday or Thursday. And a ton of food.

Monday 22 December 2014 14:55:14 CST (UTC-06:00)  |  | Best Bars | San Francisco | Travel | Work#

I stopped in to my new company today and started unpacking boxes. It's coming together:

Monday 22 December 2014 11:06:33 CST (UTC-06:00)  |  | Work#
Friday 19 December 2014

I've gotten an offer I couldn't refuse.

Starting January 5th, I'll be the Chief Technology Officer of Holden International.

Holden has a deep technology strategy for 2015 and beyond. As the guy who (with 10th Magnitude) developed a good hunk of their existing technology, they had me as their first choice for this new role. I'm beyond excited to be working with them again.

It's kind of weird to be leaving West Monroe Partners after such a short tenure. Really, I can't think of better circumstances for my departure, though. I've learned a ton working for them; I'm conveniently between projects, so no one will be left hanging; and I've built close relationships here that will last years. Plus, I'm probably bringing a small WMP team on for a specific project in January, so everyone wins.

I'll have a lot more to say about my new gig once things take off after the new year. Keep watching this space.

Friday 19 December 2014 15:28:01 CST (UTC-06:00)  |  | Work#
Thursday 11 December 2014

Since the client on the Paris thing for some reason declined to spend $9,000 per person for us to fly business class, I decided to take American 90 to London and then take Eurostar under the Channel. The strategy worked; I got sleep on a real bed Sunday night, and was coherent and lucid Monday afternoon at the job site.

This time, I put a clock on the train. Here's what my phone GPS showed about 30 minutes outside London:

The screen shot above (click for full size) shows that about here the train was moving 281 km/h, which is how it gets from London to Paris with two stops in under two and a half hours. Flying from London City to Orly would take about that long, and I'd still have had to take the RER up to the job site. At one point I clocked it at 297 km/h, which is still not the fastest train in France. SNCF's TGV-320 goes—wait for it—320 km/h. (Then there's the Shanghai Maglev...)

This is why I love Europe.

Thursday 11 December 2014 17:05:46 CST (UTC-06:00)  |  | London | Travel | Work#
Wednesday 10 December 2014

Because I stayed in the Airport Sheraton, had only carry-on bags, and got my boarding pass last night, I got on my flight home less than half an hour after leaving my hotel room this morning. Then, at O'Hare, because of the aforementioned lack of checked baggage, a New York-style walking speed, and Global Entry, I got from the airplane to my car in exactly half an hour. Parker was in the car half an hour after that.

Compare that to the trip out, when I left my house at 7, the plane finally left the gate at 10:30, and—oh, right, it only took me 55 minutes to get from the airplane to my hotel in London, including the ridiculously long walk from Terminal 3 to the Heathrow Express and flagging down a taxi at Paddington.

Anyway, dog and man are home, I've completed my deliverable for tomorrow, and I will now get a nap before Euchre Club meets at 7:30.

Wednesday 10 December 2014 16:51:40 CST (UTC-06:00)  |  | Aviation | Geography | London | Travel | Work#

I had a pretty good blog entry to post a couple of hours ago, and I forgot it totally. This is because I was wrestling a virtual machine to the ground because it had gone somewhere HTTP requests could not follow. I'd have posted about that nonsense, too, except the VM hosts The Daily Parker, you see.

I am therefore reduced to a link round-up, though this time I will embed, rather than link to, two of the things that people have sent me in the past day and a half:

  • I had an excellent dinner tonight.
  • Science writer Michael Hanlon thinks innovation peaked in 1973. I disagree, but I haven't got a rebuttal yet.
  • People in L.A. suspect that arsonists burned down one of the most anti-urban development projects ever thrust upon Americans.
  • My flight Sunday got delayed in part because of de-icing. Patrick Smith explains why this happens.
  • Chicago steak houses are suffering because the price of wholesale beef has shot up in recent days. I feel for them, I really do, but I also want to have a Morton's steak before year's end. Anyone want to join me?
  • Talking Points Memo has a timeline of the New Republic's self-immolation. I still mourn.
  • I got some personal news today that will make Daily Parker headlines when it's officially announced next week.
  • I'm staying up until 3am CET (8pm Chicago time) because I don't want to fall asleep at Euchre tomorrow. Just remember: the left bower is trump, you idiot.
  • A propos of nothing, I'm posting one of the best speeches by one of the worst characters in all Shakespeare:
    There is a tide in the affairs of men.
    Which, taken at the flood, leads on to fortune;
    Omitted, all the voyage of their life
    Is bound in shallows and in miseries.
    On such a full sea are we now afloat,
    And we must take the current when it serves,
    Or lose our ventures.

You have been patient, and have earned your reward. Here are your two videos, hat tip to reader MG:

And this, but you have to skip ahead to 37m 53s to get the point:

Wednesday 10 December 2014 02:10:14 CET (UTC+01:00)  |  | Geography | Kitchen Sink | London | World | Travel | Work#
Tuesday 9 December 2014

It's 7:35, and pitch black outside. When people talk about permanent daylight saving time, because they don't want to switch clocks twice a year, they should consider that France is an hour ahead of the "correct" time zone for its longitude and therefore has sunrises at 8:30 in the morning this time of year.

If there were daylight right now, I'd upload a photo of all the airplanes taxiing past my hotel window. It's kind of cool. Tomorrow, when I can sleep in.

Tuesday 9 December 2014 07:37:50 CET (UTC+01:00)  |  | Travel | Astronomy | Work#
Sunday 7 December 2014

Business travel sometimes presents contradictions. Here are mine today:

  • Good news: I got assigned to do a technical diligence in Paris.
  • Bad news: We'll be at the airport for two days, with only one opportunity to see the city.
  • Good news: Hey, it's an all-expense-paid trip to Europe.
  • Bad news: In coach, which is really grim on an overnight flight such as one from Chicago to Paris.
  • Good news: There's a 9am flight to London and the Eurostar to get me to Paris the next morning.
  • Bad news: I have to get up at 6:30am on a Sunday.
  • Good news: There's no traffic on the Kennedy at this hour on Sunday morning, so I got from my house to the airport and through security in only 30 minutes.
  • Bad news: It's still Sunday, and I'm missing two full days for travel.

On balance, it's worth the trip. But yes, I'm going to be grumpy about some aspects of it.

Updates as the situation warrants.

Sunday 7 December 2014 07:56:35 CST (UTC-06:00)  |  | Aviation | Chicago | London | Travel | Work#
Thursday 4 December 2014

Well, little time today. Since I'll be on an airplane for 8 hours on Sunday, I will probably have time to catch up on these:

Thursday 4 December 2014 10:32:49 CST (UTC-06:00)  |  | Aviation | US | World | Software | Travel | Windows Azure | Work#
Wednesday 3 December 2014

We finished our business here in Baton Rouge last night, so I'm already chilling at the airport waiting for my (delayed) flight to Dallas. Had I taken the flight I booked originally, I'd get to our final Messiah rehearsal late, or missed it entirely. That would be bad.

The other problem with spending all day in meetings or airplanes yesterday: my FitBit numbers sucked. I went 27 days in a row getting more than 10,000 steps, and almost 40 days getting more than 9,000, but only got 7,500 yesterday. Pfah. Today at least I have the opportunity to park way over by our rehearsal space, which is almost 2 km from my office, and will get me at least 5,000 steps just walking to and from. There's also DFW Airport, where a simple connection can add 3,000 more steps to your day. I need the exercise, too, especially after last night's shrimp, grits, and Boudin balls, the latter of which I need to learn how to make.

Wednesday 3 December 2014 08:45:19 CST (UTC-06:00)  |  | Kitchen Sink | Travel | Work#

December 2014 opened the coldest in 118 years in Chicago, but all the forecasts point to a huge warm-up over the next two weeks:

he scope of the warming being predicted is really something. The global scope of the milder than normal temps is evident from the depiction at the top of this post. The Weather Service’s GFS model, Environment Canada’s GEM ensemble and the European Center’s deterministic and ensemble model are all on board with the onset of a significantly warmer than normal pattern. This doesn’t mean there won’t be some cool days intermingled with the “warmth”. There actually will be. But, these forecasts speak to the overall pattern. Each of these predictions suggest a major pattern about-face heading through mid-December–a radical change from the arctic chill which has dominated the past three months producing the 11th coldest meteorological autumn (i.e. Sept through Nov period) on the books and the 8th coldest November in 143 years of official observations here.

Are prospects for winter cold dead? Don’t count on it. High latitude blocking, a major factor in the cold with which the current season has begun, has been a factor in almost all of our recent winters producing the high amplified (i.e. “buckled” or “wavy”) jet stream patterns which encourage arctic air to dive into the Lower 48.

But not quite yet, it seems. The next week will be seasonable, with temperatures right around freezing. The warm-up, if it occurs, is more than a week away.

On the other hand, I'm in Louisiana tonight, where it's 12°C—too chilly for a long walk in the light sweater I've got on, but a lot warmer than back home. So I'm going to have a look at the Mississippi, then hustle back inside for a pint of something.

Tuesday 2 December 2014 21:13:01 CST (UTC-06:00)  |  | Chicago | Travel | Weather | Work#
Wednesday 26 November 2014

I recently had a conversation about mandatory fun at work, and my interlocutor pointed me to this classic article:

Like a diseased appendix bursting and spreading infectious bacteria throughout the abdomen, fun is insinuating itself everywhere, into even the un-hippest workplaces. Witness the August issue of Inc. magazine, the self-declared "Handbook of the American Entrepreneur." Emblazoned on its cover was "Fun! It's the New Core Value." Beneath that was a photo of Jonathan Bush, the CEO of athenahealth, which helps medical practices interact with insurers. Bush was tearing his shirt apart to reveal a Batman costume underneath, the same costume in which he gave a full presentation to a prospective client after making a deal with one of his employees that if the latter lost 70 pounds, the management team would dress as superheroes for a day.

But that's just the beginning. There are 18 pages of similar stories to instruct and inspire employers to keep their employees happy at all costs, because happy employees make for happy customers. There are rubber chickens, Frisbee tosses, mustache-growing contests, pet psychics, interoffice memos alligator-clipped to toy cars, and ceremonies that honor employees for such accomplishments as having "the most animated hand gestures." Perks include on-campus wallyball courts, indoor soccer fields, air hockey, ping pong, billiards, yoga and aerobics classes, company pools and hot tubs, and Native-American themed nap rooms so that employees can sleep (sleep!) at work. And that's all at just one company--Aquascape, a supplier to pond-builders based in St. Charles, Illinois.

Here's an abbreviated list of the jollity that will ensue at your place of business if you follow [funsultants'] advice: "joy lists," koosh balls, office-chair relay races, marshmallow fights, funny caption contests, job interviews conducted in Groucho glasses or pajamas, wacky Olympics, memos by Frisbee, voicemails in cartoon-character voices, rap songs to convey what's learned at leadership institutes, "breakathons," bunny teeth, and asking job prospects to bring show and tell items such as "a stuffed Tigger doll symbolizing the interviewee's energetic and upbeat attitude" or perhaps a "neon-pink mask and snorkel worn to demonstrate a sense of humor, self-deprecating nature, and sense of adventure."

As I was reading the article, I got an email about my company's ongoing mustache-growing contest.

Here's my fun from last week. Feel the joy:

Wednesday 26 November 2014 09:32:02 CST (UTC-06:00)  |  | Jokes | Work#
Tuesday 25 November 2014

I'm dealing with two instances of developer laziness (or stupidity).

The proximate cause of my annoyance this morning comes from les espèces d'idiots at Eurostar who included local references to images in a confirmation email template. In non-technical terms, they put the images they want displayed on an email behind their own firewall, so they only show up when you look at the email behind their own firewall. So, some idiot developer, tasked with creating a confirmation email, put images on it that worked for him (because he was inside the firewall) but didn't have the mental faculties to predict that no one else would see them. Somehow this got past Eurostar's QA as well—presumably because they, too, are behind the firewall.

This set up a flaw in Microsoft Outlook that will render the program mostly unusable until I get rid of the email using my phone. Because Outlook is too stupid to realize that, if it can't download an image from a particular local path because the path is not mappable, then it should still try all the other images on that path one at a time, blocking the UI thread as it goes. This means, for each image on the Eurostar email, I see something like this:

See how the URL doesn't begin with "http://" but instead begins with a double backslash ("\\")? Yeah, that's a local path to some server at the company who designed the email. Great work, guys. And great work, Outlook, for forcing users to wait for all the images to download before returning control of the UI. Because why wouldn't we want to stop everything in order to see the Eurostar corporate logo?

Tuesday 25 November 2014 09:37:17 CST (UTC-06:00)  |  | Software | Travel | Work#
Monday 24 November 2014

This morning I commuted to work in drizzle, wind, and 9°C temperatures. In the five hours since then, the rain has turned to snow, the wind has turned to gale, and the temperature has dropped 10°C.

Welcome to Chicago in November.

The biggest casualty of this in my life may be my FitBit. I've hit my goal of 10,000 steps every day for the last nine, and gotten close (>= 9,000 steps) every day this month except one. Today, I may hit 10,000 steps, but only if I really push myself. In the cold. And snow. And win.

Could happen, though. I'm already past 5,000, and my car is parked more than 2 km from my office. So if the wind isn't blasting ice pellets into my face this evening, I'll walk to rehearsal and possibly hit 10,000 steps on the way.

Monday 24 November 2014 13:30:28 CST (UTC-06:00)  |  | Chicago | Kitchen Sink | Weather | Work#
Sunday 23 November 2014

Only a little, it turns out. I'm in the second of three weeks without travel, but I'm back on the road for the first two weeks in December. I even have to miss a concert, which is a bad thing, but it's because I'll be doing a technical diligence in freakin' Paris, which est pas mal. I'm also going to see about taking a quick side-trip to London, which, given the agenda for the diligence and flight schedules back to the U.S., might not make a difference as far as my work schedule goes.

I've also noticed that I keep missing posts on Saturdays. Not sure why; possibly because I've had a lot going on during the week, and Saturdays have been a little more vegetative than expected.

Sunday 23 November 2014 10:33:51 CST (UTC-06:00)  |  | Blogs | Travel | Work#
Thursday 20 November 2014

Yes, I'm actually in training this week that is required of everyone at my level. This morning we did an exercise on meeting planning. Our table came up with the following responses to the "Meeting Expectations/First Five Minutes" part:

  • Show appreciation for the meeting: "Mr. Wirtz, thank you for taking some time to meet with me today."
  • Confirm available time for meeting: "You mentioned you had about 15 minutes this morning. Is that still the case?"
  • Offer a look back...how did we get here? "As you will recall, yesterday we discussed releasing my godson from the personal service contract he has with you, in exchange for $10,000 in cash."
  • Briefly state the goals / objectives for the meeting: "I was hoping that we could revisit that conversation today, and that you would reconsider your position."
  • Agenda: "To help us meet these goals, I thought the following agenda might help us. First, I will make you an offer you can't refuse, and second, you will sign the release my attorney has prepared."
  • What other areas to be covered? "I assure you, if you do not consider my offer, you will cover the release in a personal and compelling way."
  • Brief introductions of...
    • Your firm's capabilities: "I am not sure you know about my organization, but perhaps I could provide a brief overview."
    • Your team/colleagues in the meeting: "Let me introduce you to my colleague, Luca Brasi."
  • Have a few "Killer Questions" that initiate dialogue: "Now that you understand Luca's role in this meeting, would you please sign this release now?"
  • Listen, be present, and probe; be "sincerely curious" in your follow-up questions: "I insist that this is the best offer you will ever receive from me, and I am eager to learn your position on it immediately."
  • Begin to wrap up with a few minutes remaining: "Thank you for your time. I am pleased that we were able to come to an agreement so quickly."
  • Summarize what you have heard: "I understand that you are also pleased with the outcome, and that $2,000 is a sufficient release fee, as we have just agreed."
  • Define specific next steps and, if appropriate, schedule follow-up meeting: "You will very likely not see me again, but I assure you, if a subsequent meeting is needed, perhaps because you have discussed this meeting with your colleagues or the Attorney General, Mr. Brasi will follow up with you in a timely and decisive fashion."

The other scenarios we batted around the table were more, ah, risqué, to say the least.

Thursday 20 November 2014 10:35:07 CST (UTC-06:00)  |  | Jokes | Kitchen Sink | Work#
Monday 17 November 2014

And no, I didn't lose a bet.

Monday 17 November 2014 09:26:10 CST (UTC-06:00)  |  | Kitchen Sink | Work#
Sunday 16 November 2014

I didn't even realize until just now I failed to post anything yesterday or today. I guess the weekend intervened. (Maybe the 18,000 steps I took yesterday had something to do with it.)

This coming week I'll be in all-day training from Tuesday to Friday, which may have some effect on posting. Or not, depending on how interesting the training is.

Sunday 16 November 2014 16:11:49 CST (UTC-06:00)  |  | Kitchen Sink | Work#
Wednesday 12 November 2014

The Redmond giant stunned the software development world this week by opening up several core technologies, including the entire .NET platform, to the public:

We are building a .NET Core CLR for Windows, Mac and Linux and it will be both open source and it will be supported by Microsoft. It'll all happen at https://github.com/dotnet.

Much of the .NET Core Framework 4.6 and its Reference Source source is going on GitHub. It's being relicensed under the MIT license, so Mono (and you!) can use that source code in their .NET implementations.

Dr. Dobbs is impressed (as am I):

Of these platforms, Linux is clearly the most important. Today, Microsoft earns much of its (record) profits from enterprise software packages (SQL Server, SharePoint, Exchange, etc.). By running .NET on Linux, it now has the ability to run those apps on a significant majority of server platforms. Except for Solaris sites, all enterprises will be able to run the applications without having to add in the cost of Microsoft Server licenses.

But perhaps more important than the pure server benefit is the cloud aspect. VMs on the cloud, especially the public cloud, are principally Linux-based. Windows VMs are available, too, but at consistently higher pricing. With this move, .NET apps can now run anywhere on the cloud — or said another way, between servers and the cloud, the apps can run anywhere IT is operating.

The big winners of all this goodness are C# developers. In theory, .NET portability favors all .NET languages equally, but it's no secret that C# is the first among equals. (It is, in fact, the only language that Xamarin supports currently.) Microsoft has been an excellent steward of the language, evolving it intelligently and remarkably cleanly. Among developers who use it regularly, it is uniformly well liked, which distinguishes it from most of the other major development languages today, where an appreciation that borders on ambivalence is the more common experience.

The big loser is certainly Java. Java's stock in trade has been its longstanding ability to run without modification or recompilation on all major platforms. In this valuable trait, it has had no major competition. If Microsoft's port of .NET provides a multi-platform experience that is as smooth and seamless as Java, then the JVM will have some very serious competition.

Once I'm done with the deliverable that's due tomorrow, I may download the .NET Framework and take a look. I'll also spin up an Azure VM and play around with Visual Studio 2015 before the end of the week.

Wednesday 12 November 2014 17:27:27 CST (UTC-06:00)  |  | Software | Business | Cloud | Cool links | Work#
Monday 10 November 2014

From last week's trip, here's Oslo Harbor at sunset:

The Nobel Peace Center:

Our hotel, a well-known meeting-place for literary types for some reason:

I didn't have a lot of time to take photos, so there won't be too many others.

Monday 10 November 2014 12:42:24 CST (UTC-06:00)  |  | Travel | Work#

Lots more travel this weekend, including Parker and me spending two days in a place without Internet. (My phone at least had a little from time to time.)

Now back home, I have to figure out the rest of my day before rehearsal. Parker, for his part, is sleeping on his own bed right now for the first time in more than a week.

Monday 10 November 2014 10:38:28 CST (UTC-06:00)  |  | Parker | Travel | Work#
Friday 7 November 2014

Well, we made it to Heathrow only an hour late, and scrambled to get our initial findings out to our director in the 45 minutes we had available in the lounge...until our flight to Chicago was also delayed an hour and fifteen minutes. Really I just want to get on the plane and sleep. But then I also want to get home with enough time to nap before an event I've been looking forward to. So, here's hoping the published delay right now is the real delay, and I still have a couple of hours to unpack and change.

Also, I was off just a bit in my surmise how the credit card transit tickets worked. It's not that Norway has less transit theft than other countries (though I suspect this is true anyway), it's that you have to swipe your credit card to get out of gates when you arrive. Still, we left the hotel at 5:20 and got to the airport by 6. That's pretty impressive.

Friday 7 November 2014 12:03:34 GMT (UTC+00:00)  |  | London | Travel | Work#
Thursday 6 November 2014

I like traveling to Europe because it reminds me that technology can combine with public services in ways we will not see in the U.S. for 30 years. Yesterday it was a magic button that made a taxi appear in seconds. Today it was a bit of wasted time that led to two discoveries, one of which was that I wasted time.

My business colleague and I, used to very long lines to get paper train tickets as well as some predictions about our cognitive abilities at 5:15 tomorrow morning, decided to swing by the local train station to get our airport express tickets. It turns out, they don't use them. You simply swipe your credit card at a small kiosk and—bam—you have a ticket good for six months.

In other words, we could have simply walked to the train station tomorrow morning, swiped our cards, and climbed aboard, without waiting in line and without getting a paper ticket.

My colleague, having noticed that coming in from the airport no one challenged us for our tickets, asked, "how does that even work?"

I thought about it and realized that in Norway, very few people steal public services. Also the conductors have handheld computers that can read credit cards and match them with pre-payments.

Imagine if Metra did that. It might be convenient. Or if Metra and the CTA could get their asses moving on making Ventra cards good for both. It might wind up being something like the Clipper Card in San Francisco, a transit card that works on most public transport.

The basic point is, how much lost productivity do we have in the U.S. because we under-fund public services to the point where they can't invest in cost-saving technology? And what will it take to get Americans to stop voting for people like Bruce Rauner, who is guaranteed to try starving Chicago-area public transport for four more years?

Thursday 6 November 2014 15:53:01 CET (UTC+01:00)  |  | Chicago | US | San Francisco | Travel | Work#
Wednesday 5 November 2014

Except for one minor problem, this has been a good trip. I'll have photos of the super-cute hotel probably this weekend. And the meeting today went surprisingly well, notwithstanding the 10 times I had to leave the room.*

One amazing thing happened: at the end of the meeting, we stopped by reception and asked about getting a taxi. The receptionist pushed a button on a small device, which promptly spat out a receipt, which she handed us. By the time we got outside the building, there was a taxi waiting. Amazing. Why don't we have these things in the U.S.?

* The minor problem seems to have come from a salad I ate Monday for lunch, and has has made it unlikely I'll get to experience any great dining here in Oslo. I am not pleased.

Wednesday 5 November 2014 18:34:52 CET (UTC+01:00)  |  | Kitchen Sink | Travel | Work#
Tuesday 4 November 2014

It's coming up on 11:30 am back home, so it's 18:30 here in Oslo, and I'm finally settled and unpacked. The bed looks so tempting. I have to stay up until 9pm, I really do.

Photos and stuff eventually. Right now I really, really need a shower.

Tuesday 4 November 2014 18:27:54 CET (UTC+01:00)  |  | Travel | Work#
Monday 3 November 2014

Posting will be sporadic the next couple of days, to say the least. At least Norway is a more advanced country than ours, with ubiquitous WiFi, so there will be some new items here.

Monday 3 November 2014 16:46:12 CST (UTC-06:00)  |  | Travel | Work#
Saturday 1 November 2014

It's hard to overstate how much we live in a sci-fi world. In 24 hours, I've booked a trip to Oslo, Amazon has delivered an inexpensive guidebook, and Weather Underground has already forecast the weather through next weekend. (Oslo will have very similar weather to Chicago, owing in part to the record heat they're having in Europe recently.)

But where's my flying car?

Saturday 1 November 2014 15:07:34 CDT (UTC-05:00)  |  | Aviation | Travel | Work#
Search
On this page....
Mama said there'd be days like this
Still writing code
Ebb and flow
Paying your own code debt
Context
More crickets
He is serious, and don't call him Shirley
Exceptionally high WTF-to-LOC ratio
Things I didn't read while pulling apart an Include block
Frustrating performance issues
Still debugging
On to the Kindle
West Monroe hoping to expand this year
The view earlier this week
Logic says this is highly improbable
Dinner in the District
Sorry-ass Fitbit numbers
Gloomy suburban hotels
What is it with hotel A/C systems?
Wait, I'm where?
First official day
Monday afternoon, rainy
New office
The big announcement
Train à grande vitesse
Fast trip home from Paris
I forgot what I was going to write about
What the latest sunrise of the year feels like in Paris
Travel day
So many things to read, so little time
Heading home early; exercise possible
Cold open, then warm-up
Funtivities
Developer laziness hoses Outlook
Cold front
Home for the holidays?
Management Training
I do not know why people are staring at me
Whither the weekend?
Microsoft's impressive code drop
Oslo photos
Catching up
Uncomfortable flight delays
Life in an advanced nation
Oslo, day 2
Long day
Jeg drar nå for Norge
The modern world
Countdowns
The Daily Parker +3577d 06h 44m
London 3d 15h 19m
My next birthday 5d 10h 34m
Parker's 10th birthday 290d 06h 29m
Categories
Aviation (374) Baseball (114) Best Bars (10) Biking (46) Chicago (1026) Cubs (199) Duke (134) Geography (380) Higher Ground (5) Jokes (284) Kitchen Sink (735) London (80) Parker (205) Daily (204) Photography (170) Politics (309) US (1175) World (294) Raleigh (21) Readings (8) Religion (68) San Francisco (94) Software (227) Blogs (88) Business (257) Cloud (92) Cool links (156) Security (108) Travel (294) Weather (774) Astronomy (103) Windows Azure (64) Work (106) Writing (15)
Links
Archive
<August 2015>
SunMonTueWedThuFriSat
2627282930311
2345678
9101112131415
16171819202122
23242526272829
303112345
Full archive
Blogroll
About
David Braverman and Parker
David Braverman is the Chief Technology Officer of Holden International in Chicago, and the creator of Weather Now. Parker is the most adorable dog on the planet, 80% of the time.
Legal
All content Copyright ©2015 David Braverman.
Creative Commons License
The Daily Parker by David Braverman is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 United States License, excluding photographs, which may not be republished unless otherwise noted.
Admin Login
Sign In
Blog Stats
Total Posts: 4935
This Year: 321
This Month: 36
This Week: 0
Comments: 0