Politics, Weather, Photography, and the Dog
Page 1 of 1 in the Work category
Wednesday 20 August 2014

I'm waiting for Azure to provision a virtual machine for me, so I thought I'd solve a nagging annoyance.

Even though I travel a lot, I don't have a good carry-on-sized bag. My medium-sized travel bag, which has been around about ten years, goes into the hold of the airplane and sometimes I don't see it again for an hour after landing at my destination. This is especially irksome when I go on a 3-day business trip.

So I've been thinking about replacing my medium-sized bag with a smaller one. I've got it nailed down to two: the REI Wheely Beast Duffel and the Travelpro Luggage Crew 9. Both are about the same size, have good (independent) reviews, cost about $150, and would allow me to donate my current medium-sized travel bag to whomever wants it. (That last bit is because the bag actually belonged to an ex.)

This isn't the biggest decision I'll make all year, but the reduction in irritation it brings will be welcome, especially given the number of 3-day business trips I expect to take this fall.

Wednesday 20 August 2014 10:47:25 CDT (UTC-05:00)  |  | Aviation | Travel | Work#
Friday 15 August 2014

Two of my favorite authors, Sam Harris and Andrew Sullivan, recently had a long phone conversation (which Harris transcribed) about Israel. I haven't finished reading it, but as I respect both men, I consider this a must-read.

Also, I'm back in Chicago, possibly for two whole weeks. That said, the Cleveland Client was pretty happy with our work and may move to the next phase, so I may be going back there soon.

Friday 15 August 2014 10:46:45 CDT (UTC-05:00)  |  | US | World | Travel | Work#
Wednesday 13 August 2014

Yep. As I feared, the Indians game last night got postponed, but not before the Tribe got ahead by one. And then:

In the moments shortly before the Tribe's game against the D-backs was postponed, [Cleveland players] Aviles, Kipnis and Chisenhall sprinted from the dugout, ran across the tarp and slid headfirst through the puddles and raindrops to the delight of the fans who remained. It was an entertaining ending to a game that was wiped out following a delay that lasted three hours and 40 minutes.

Cleveland's lone run came courtesy of an RBI double in the third inning by Kipnis, who no longer has that hit on his statistical record.

That may or may not have made him easily swayed by Aviles.

"I lost my double, so I was emotional. And an RBI," Kipnis said with a smirk. "I didn't know which way was up. I was easily influenced."

So, everything that we saw there yesterday...didn't count. Because in baseball, sometimes you win, sometimes you lose, and sometimes...it rains.

Regardless, thanks to the Cleveland Client for taking us to Progressive Field. And in no small irony, the tickets we used were from a previous rain-out, so if they want, the people who took us can go to the game today at 4:05 pm. Which—wait for it—might be rained out.

Wednesday 13 August 2014 08:51:56 EDT (UTC-04:00)  |  | Baseball | Travel | Weather | Work#
Tuesday 12 August 2014

(Hm. That didn't quite work, did it?)

We're now in our final weekend (for the time being) in Cleveland, and another person from the client has offered to take us to another Indians game. Two things:

1. I hope they play. Tonight's forecast calls for thunderstorms and rain.

2. If they do play, I hope they do better than last week.

The Indians are at .500, dead-center in the league, the division, and in all of baseball. Tonight they're (scheduled) to play the Diamondbacks, who are just one game ahead of the Cubs and so not a particularly threatening opponent.

Come on, rain. Go away.

Tuesday 12 August 2014 13:05:18 EDT (UTC-04:00)  |  | Baseball | Cubs | Travel | Work#
Saturday 9 August 2014

As a city boy, the country occasionally surprises me. The Cleveland client has an office well outside Cleveland in rural Geauga County where we've spent some time over the last few weeks. One of the senior guys there hunts. And this is how I got to taste fresh, smoked pheasant last week—complete with a warning about birdshot:

Saturday 9 August 2014 09:29:09 CDT (UTC-05:00)  |  | Kitchen Sink | Travel | Work#
Wednesday 6 August 2014

Score one for the client. We got to go to tonight's Indians game at Progressive Field. Nice seats, too.

Sadly, the Reds won 9-2, and we got rained on. And the Indians kind of played like Cubs.

Nice client, though.

Tuesday 5 August 2014 22:24:04 EDT (UTC-04:00)  |  | Baseball | Travel | Work#
Tuesday 5 August 2014

Two housekeeping items.

Number 1: Walking to the airport. I finally found a path through the parking garage that looks intentionally constructed. It took me about a city block out of my way, but also prevented me getting run over by cars.

Number 2: Suburbistan dinner options. Thanks in part to Yelp, I wound up at Taza Lebanese Grill in Woodmere, Ohio. I'll write a Yelp review later this week. In sum: very good hummus, tasty kifteh, and bold-as-brass sparrows that actually took pita right off my table. Because honey sparrow don't care.

Tuesday 5 August 2014 08:37:15 EDT (UTC-04:00)  |  | Kitchen Sink | Travel | Work#
Monday 4 August 2014

We put in ridiculous hours last week on my Cleveland project so that today we only had to polish and sand a few spots to feel like we're in a good place for a client presentation first thing tomorrow. So tonight my PM is heading to a workout class and I'm having a good dinner.

To that end, though: what in the world did people do before Yelp?

I'll tell you what we did: we had lots of bad meals while traveling. Even out here in the buttskirts of Cleveland, Yelp has located at least three restaurants worth trying. And I will.

Meanwhile, walking distance from my hotel—that means, within this shopping center, because I'm surrounded on four sides by unwalkable roads—are Chipotle, Abuelos, Chik-fil-A, and Olive Garden. So: thank you, Yelp. I mean it.

Monday 4 August 2014 18:07:12 EDT (UTC-04:00)  |  | Kitchen Sink | Travel | Work#
Friday 25 July 2014

I'm back in Chicago today, but catching up on all the things I couldn't do from Cleveland. Regular posting should resume tomorrow.

Also, at 6 hours and 15 minutes to get from the client site to my house door-to-door, plus renting a car in Cleveland and having to schlepp bags hither and yon, I'm wondering if I should just drive next time.

Friday 25 July 2014 12:37:01 CDT (UTC-05:00)  |  | Aviation | Travel | Work#
Tuesday 22 July 2014

Business travel has certain built-in costs. All we business travelers really want in a hotel is a decent night's sleep. Alas, alas. Here's the review I just submitted to TripAdvisor about how one engineering decision can make someone want to leave and never come back:

I'm now in my second stay at the Aloft Beachwood in as many weeks. As a traveling professional, I often spend time in places without cute bistros or even sidewalks to put them on, where four nights out of seven I'm surrounded by decor I can't even describe to my gay friends without making them cry, where—just a second, I have to wave my arms in front of the thermostat.

Welcome to the Aloft, where the thermostats are programmed to destroy your sleep. I imagine this saves the hotel money. You may imagine that this choice stands proxy to innumerable others that will make you wish for the luxury of a Hyatt Place or Marriott Courtyard.

(Hold on, I have to throw something at the thermostat again.)

On my first night here, last Monday, I discovered that the hotel put motion sensors in the thermostats to save money. I discovered this because, last Monday, the A/C would turn off just as I was almost, but not quite, asleep. Like tonight, the room was too warm to turn the A/C off completely; but last Monday, I didn't discover this until Midnight, so I didn't jam the A/C down to 65 and stack pillows next to the desk.

But the staff here are great, every one of them. They're the only reason I'm giving this sleep-deprivation-chamber 3 stars. Everyone who works here has been helpful, good-natured, and truly concerned that between the A/C and the master light switch controlling all of the lights in the room (including the reading lamps), Aloft has some changes they need to make. And if I ever meet the person who made the decision to put 3-minute timers on the thermostats, I'm going to—

Dang. A/C stopped again.

I wish I were exaggerating. The hotel opened eight months ago, so they've had time to fix this. That means this is a deliberate engineering choice, like Clippy or the Ctrl-F fail in Outlook.

Also, I'm a big believer in second chances, and in travel loyalty programs. But if I can't get this solved to my satisfaction in the next hour (meaning, if I can't get my room cool enough that I can turn the A/C off so it doesn't keep waking me up), I'm out of here in the morning. There's a perfectly serviceable Marriott walking distance away.

Monday 21 July 2014 22:43:27 EDT (UTC-04:00)  |  | Travel | Work#
Monday 14 July 2014

I didn't sleep terribly well last night because, let's face it, the Cleveland Airport Sheraton is neither my own house nor the Ritz-Carlton on Park Ave. It is, however, in Cleveland, where my current client is also.

There are essentially two options for traveling: fly out the night before your meetings, or the morning of your meetings. And for me it comes down to one thing: Is the trade-off for one night at home going to be getting up at 4:30am to get a 7am flight from O'Hare?

That's not a trade-off I'm likely to make without serious counter-incentives.

So, expect lighter-than-usual posting this week. I hope nothing interesting happens in U.S. politics while I'm here...

Monday 14 July 2014 08:48:27 EDT (UTC-04:00)  |  | Aviation | Travel | Work#
Thursday 26 June 2014

A Comcast installer showed up this morning within the appointed time frame, and in about an hour had taken my apartment the Inner Drive Technology World Headquarters from this:

To this:

I almost want to dance around singing "A Whole New World" but that would be very disturbing to my self image.

Instead I'll head into the office, getting in a little earlier than I expected, and come home to real Internet speeds. In fact, I think right now I'll watch something on YouTube just because I can.

Goodbye, AT&T. Hello Comcast, you gorgeous thing.

Thursday 26 June 2014 11:36:51 CDT (UTC-05:00)  |  | Software | Cloud | Work#
Monday 23 June 2014

As mentioned earlier, today is the first day of my new job. That means orientation, setting up a computer, navigating paperwork, etc. Then tonight the Cubs play Cincinnati at Wrigley (weather permitting), so I'll probably go straight from work to the field.

So I'll probably be a little slow posting things this week.

Monday 23 June 2014 07:38:19 CDT (UTC-05:00)  |  | Cubs | Blogs | Work#
Friday 20 June 2014

It certainly felt like I was playing hooky this morning when I spent an hour here:

...looking at this:

New York weather today will be clear and 27°C. I'm about to check out of my hotel, take a subway downtown, and do some intense nothing at a cafe.

Friday 20 June 2014 09:54:17 EDT (UTC-04:00)  |  | Travel | Work#
Monday 16 June 2014

I am here:

Actually, despite being content to read on most flights, and despite being without a full-time job until Monday, I actually have some work to do for my oldest surviving and most loyal client. If I'm lucky, Orlando has WiFi, and I can upload the changes I'm making right now. If not, I'll have to do it tomorrow night in London.

This will be an unusual trip for me. Because I didn't know for sure if I'd have this week off until just a few weeks ago, it was challenging to book this trip on miles. I wound up booking two one-way trips, with indirect routes and with the return trip originating in a different country than the outbound arrival city. So today I'm going to London's Gatwick airport via Orlando, then Wednesday I'm taking the Eurostar to Lille, France, Thursday on the TGV to Paris–De Gaulle thence New York's JFK, finally returning Friday, again through JFK.

This will be the first time I've traveled through Gatwick since 11 June 1992, my first visit ever to Europe. American no longer travels there, and British Airways doesn't fly many North American routes from there. In fact, my flight tonight will be on the rare 3-class 777—so rare that SeatGuru doesn't even have the right seating plan for it.

Other than this patch that my client needs this week, I plan to do nothing of value for the next three days except read and ingest. (Writing blog entries counts as "nothing of value.") Allons-y!

Monday 16 June 2014 16:59:55 EDT (UTC-04:00)  |  | Aviation | London | Travel | Work#
Saturday 14 June 2014

As of yesterday around 4:15pm, I'm no longer with 10th Magnitude. I start a new role as an architect with West Monroe Partners' technology practice a week from Monday.

So, I'm technically unemployed for nine days. Which means I have lots of free time, right?

Well, later this morning I have a three-hour rehearsal for tomorrow's performance of Verdi's Requiem in Evanston. Tonight I'm going to see Dar Williams Honesty Room tour. And Monday I'm going to Europe for four days.

Maybe I should have scheduled a little down-time...

Saturday 14 June 2014 10:04:31 CDT (UTC-05:00)  |  | Kitchen Sink | Work#
Thursday 5 June 2014

Long-time readers know I rarely post directly about my personal life, but this one is kind of big.

After nearly three years, I'm moving from 10th Magnitude to take a new position as a .NET Architect with West Monroe Partners. I've learned a lot working with 10th, and I wish everyone there the best in the future.

I'll have more to say about this in the coming weeks. I'm excited about the change, and looking forward to some totally new challenges with WMP.

Thursday 5 June 2014 13:34:04 CDT (UTC-05:00)  |  | Kitchen Sink | Business | Work#
Monday 28 April 2014

Or, a few reasons why the "Send to Kindle" button helps me get through the day:

Monday 28 April 2014 12:35:41 CDT (UTC-05:00)  |  | Kitchen Sink | US | Travel | Work#
Monday 21 April 2014

I don't know how this little snippet of code got into a project at work (despite the temptation to look at the file's history):

Search = Search.Replace("Search…", "");

// Perform a search that depends on the Search member being an empty string
// Display the list of things you find

First, I can't fathom why the original developer made the search method dependent on a hard-coded string.

Second, as soon as the first user hit this code after switching her user profile to display Japanese, the search failed.

The fix was crushingly simple:

var localizedSearchPrompt = GetLocalizedString("SearchPrompt");
Search = Search.Replace(localizedSearchPrompt, string.Empty);

(The GetLocalizedString method in this sample is actually a stub for the code that gets the string in the current user's language.)

The moral of the story is: avoid hard-coded strings, just like you've been taught since you started programming.

Monday 21 April 2014 15:31:25 CDT (UTC-05:00)  |  | Software | Work#
Tuesday 18 March 2014

At 8:16 this morning, a long-time client sent me an email saying that one of his customers couldn't was getting a strange bug in their scheduling application. They could see everything except for the tabbed UI control they needed to use. In other words, there was a hole in the screen where the data entry should have been.

Here's how the rest of the day went around this issue. It's the kind of thing that makes me proud to be an engineer, in the same way the guys who built Galloping Gertie were proud.

The whole story is past the jump...

Monday 17 March 2014 23:26:14 CDT (UTC-05:00)  |  | Business | Cloud | Security | Windows Azure | Work#
Saturday 1 March 2014

Parker, 14 weeksI'm David Braverman, this is my blog, and Parker is my 7½-year-old mutt. I last updated this About... page in September 2011, more than 1,300 posts back, so it's time for a refresh.

The Daily Parker is about:

  • Parker, my dog, whom I adopted on 1 September 2006.
  • Politics. I'm a moderate-lefty by international standards, which makes me a radical left-winger in today's United States.
  • The weather. I've operated a weather website for more than 13 years. That site deals with raw data and objective observations. Many weather posts also touch politics, given the political implications of addressing climate change, though happily we no longer have to do so under a president beholden to the oil industry.
  • Chicago (the greatest city in North America), and sometimes London, San Francisco, and the rest of the world.
  • Photography. I took tens of thousands of photos as a kid, then drifted away from making art until early 2011 when I finally got the first digital camera I've ever had whose photos were as good as film. That got me reading more, practicing more, and throwing more photos on the blog. In my initial burst of enthusiasm I posted a photo every day. I've pulled back from that a bit—it takes about 30 minutes to prep and post one of those puppies—but I'm still shooting and still learning.

I also write a lot of software, and will occasionally post about technology as well. I work for 10th Magnitude, a startup software consultancy in Chicago, I've got more than 20 years experience writing the stuff, and I continue to own a micro-sized software company. (I have an online resume, if you're curious.) I see a lot of code, and since I often get called in to projects in crisis, I see a lot of bad code, some of which may appear here.

I strive to write about these and other things with fluency and concision. "Fast, good, cheap: pick two" applies to writing as much as to any other creative process (cf: software). I hope to find an appropriate balance between the three, as streams of consciousness and literacy have always struggled against each other since the first blog twenty years ago.

If you like what you see here, you'll probably also like Andrew Sullivan, James Fallows, Josh Marshall, and Bruce Schneier. Even if you don't like my politics, you probably agree that everyone ought to read Strunk and White, and you probably have an opinion about the Oxford comma—punctuation de rigeur in my opinion.

Thanks for reading, and I hope you continue to enjoy The Daily Parker.

Saturday 1 March 2014 14:27:44 CST (UTC-06:00)  |  | Aviation | Baseball | Biking | Cubs | Geography | Kitchen Sink | London | Parker | Daily | Photography | Politics | US | World | Religion | Software | Blogs | Business | Cloud | Travel | Weather | Windows Azure | Work | Writing#
Thursday 17 October 2013

The Chicago technology scene is tight. I just had a meeting with a guy I worked with from 2003-2004. Back then, we were both consultants on a project with a local financial services company. Today he's CTO of the company that bought it—so, really, the same company. Apparently, they're still using software I wrote back then, too.

I love when these things happen.

This guy was also witness to my biggest-ever screw-up. (By "biggest" I mean "costliest.") I won't go into details, except to say that whenever I write a SQL delete statement today, I do this first:

-- DELETE
SELECT *
FROM MissionCriticalDataWorthMillionsOfDollars
WHERE ID = 12345

That way, I get to see exactly what rows will be deleted before committing to the delete. Also, even if I accidentally hit <F5> before verifying the WHERE clause, all it will do is select more rows than I expect.

You can fill in the rest of the story on your own.

Thursday 17 October 2013 11:19:27 CDT (UTC-05:00)  |  | Kitchen Sink | Software | Business | Security | Work#
Tuesday 8 October 2013

I have a new post up on the 10th Magnitude developers' blog.

Tuesday 8 October 2013 15:38:49 CDT (UTC-05:00)  |  | Blogs | Cloud | Work#
Thursday 12 September 2013

We've published Part 3 of my series of blog posts about integrating Holden International's Azure-based sales training app with multiple customer-relationship management (CRM) applications. The combined parts 1 and 2 went up mid-August. Part 4 should come out within 10 days.

Click through for the mirrored post.

Thursday 12 September 2013 13:35:53 CDT (UTC-05:00)  |  | Business | Windows Azure | Work#
Thursday 22 August 2013
This is cross-posted with the 10th Magnitude Tech Blog.
Thursday 22 August 2013 09:11:50 CDT (UTC-05:00)  |  | Business | Work#
Sunday 11 August 2013

Yes, I know the weather's beautiful in Chicago this weekend, but sometimes you just have to run with things. So that's what I did the last day and a half.

A few things collided in my head yesterday morning, and this afternoon my computing landscape looks completely different.

Sunday 11 August 2013 16:30:24 CDT (UTC-05:00)  |  | Business | Cloud | Security | Windows Azure | Work#
Thursday 8 August 2013

I've started playing around with Orchard, an open-source content-management system, as a replacement for this blog's infrastructure (and as a replacement for other things, like inner-drive.com. It hasn't been all skittles and beer: Orchard has serious issues running on Microsoft Azure Cloud Services, though it runs fine on Azure Web sites.

It turns out, my employer is moving to Umbraco, a different open-source CMS. So it makes sense to try that out, too, as I'll have to support Umbraco at work anyway—meaning I can learn it during work hours instead of after.

Working in my few free hours after work, of course, makes this decision take longer than I'd like. That, and I don't want to do this again for many years.

So no major changes to report yet, but I'm getting closer.

Thursday 8 August 2013 15:58:31 CDT (UTC-05:00)  |  | Blogs | Cloud | Work#
Saturday 3 August 2013

This past week, my company put me in charge of operations. The job includes responsibility for our tools and technologies: bug tracking, client request tracking, code repositories, internal knowledge sharing, and Agile process management. Right now we use a collection of tools that we've used for three years: Beanstalk, Sifter, Zendesk, Yammer, and a home-grown Agile tool called Storyboard.

Well, Storyboard runs on the Azure SDK 1.4, which Microsoft will stop supporting at the end of November. Beanstalk, which just turned on support for Mercurial a year ago, has decided to turn it off six weeks from now. Sifter and Zendesk are all right, except they don't really give us the integration we want with each other or with Beanstalk—which, anyway, is going away.

We haven't picked a new tool set yet. But the search has led me to think about changing my own development tools, starting with this blog.

I mentioned about three weeks ago that I'd started playing with Orchard, an open-source content management system that came out of a Microsoft demonstration project.

I want a blog/CMS that can handle the 3,800 entries I've created here. I also want to continue tagging each entry with its location and local time (like this, whose time stamp would look really bizarre without the local time zone), which means I need an extensible application.

Oh, and it either needs a kickass import engine or a way for me to write one.

I can't say for certain when I'll migrate, given how busy I am with everything else. I hope I'll get this done in the next few weeks.

Saturday 3 August 2013 18:30:41 CDT (UTC-05:00)  |  | Blogs | Work#
Thursday 1 August 2013

...because I didn't have time to read them today:

I will now go home and read these things on the way.

Thursday 1 August 2013 18:16:13 CDT (UTC-05:00)  |  | Aviation | Kitchen Sink | Windows Azure | Work#
Tuesday 23 July 2013

Posting might be a bit slow this week as I'm helping a second project meet a deadline while my own project has a deadline only slightly farther into next week.

Oh, and if anyone knows why .NET has trouble consuming Siebel web services, I could really use some suggestions.

Tuesday 23 July 2013 11:43:52 CDT (UTC-05:00)  |  | Work#
Wednesday 17 July 2013

At 10th Magnitude, we have used Beanstalk as our central code repository. We transitioned to Mercurial about a year ago, which Beanstalk supported.

Today they sent around an email saying they're ceasing Mercurial support—including existing repositories—on September 30th, and would we care to switch to Git?

No. No, no, no. No Git. I'm not asking people to learn another damn version control system. (Plus Git doesn't quite suit us.)

But fortuitously, this forced re-evaluation of Beanstalk coincides with a general self-reflective re-evaluation we have underway. That doesn't mean we're going to Git, or (angels and ministers of grace, defend us!) back to Subversion, but as long as we have to move off Beanstalk, why not take a look at our issue tracking, external bug reporting, project management, and document sharing?

I'll have more about this as we get closer to the September 30th date, along with some awesome stuff about how we have developed an Azure application that does single sign-on with...just about any identity provider.

Tuesday 16 July 2013 19:58:09 CDT (UTC-05:00)  |  | Business | Cloud | Windows Azure | Work#
Friday 12 April 2013

Only after passing through the TSA checkpoint at O'Hare just now did I realize I've forgotten to bring a laptop charger. Fortunately my folks have a Dell at home. Otherwise I wouldn't be able to do any work for four whole days. How awful would that be?

Of course, there's always my tablet, my phone, their computers and iPad...

How much again is a ticket to Sint Maarten?

Friday 12 April 2013 15:52:04 CDT (UTC-05:00)  |  | Travel | Work#
Wednesday 16 January 2013

We're just 45 minutes from releasing a software project to our client for user acceptance testing (UAT), and we're ready. (Of course, there are those 38 "known issues..." But that's what the UAT period is for!)

When I get back from the launch meeting, I'll want to check these out:

Off to the client. Then...bug fixes!

Wednesday 16 January 2013 12:28:36 CST (UTC-06:00)  |  | Kitchen Sink | US | World | Software | Work#
Saturday 1 December 2012

I've just spent three hours debugging something caused by a single missing line in a configuration file.

At 10th Magnitude, we've recently upgraded our framework and reference applications to the latest Windows Azure SDK. Since I'd already done it once, it didn't take too desperately long to create the new versions of our stuff.

However, the fact that something works in an emulator does not mean it will actually work in production. So, last night, our CTO attempted to deploy the first application we built with the new stuff out to Azure. It failed.

First, all we got was a HttpException, which is what ASP.NET MVC throws when something fails on a Razor view. The offending line was this:

@{ 
   ViewBag.Title = Html.Resource("PageTitle");
}

This extension method indirectly calls our custom resource provider, cleverly obfuscated as SqlResourceProvider, which then looks up the string resource in a SQL database.

My first problem was to get to the actual exception being thrown. That required me to RDP into the running Web role, open a view (I chose About.cshtml because it was essentially empty), and replace the code above with this:

@using System.Globalization
@{
  try
  {
    var provider = new SqlResourceProvider("/Views/Home/About.cshtml");
    var title = provider.GetObject("PageTitle", CultureInfo.CurrentUICulture);
    ViewBag.Title = title;
  }
  catch (Exception ex)
  {
    ViewBag.Error = ex + Environment.NewLine + "Base:" + Environment.NewLine + ex.GetBaseException();
  }
}
<pre>@ViewBag.Error</pre>

That got me the real error stack, whose relevant lines were right at the top:

System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.WindowsAzure.ServiceRuntime, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
File name: 'Microsoft.WindowsAzure.ServiceRuntime, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
at XM.UI.ResourceProviders.ResourceCache.LogDebug(String message)

Flash forward an hour of reading and testing things. I'll spare you. The solution is to add a second binding redirect in web.config:

<dependentAssembly>
  <assemblyIdentity name="Microsoft.WindowsAzure.ServiceRuntime" 
    publicKeyToken="31bf3856ad364e35" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0" />
  <bindingRedirect oldVersion="1.1.0.0-1.8.0.0" newVersion="1.8.0.0" />
</dependentAssembly>

Notice the second line? That tells .NET to refer all requests for the service runtime to the 1.8 version.

Also, in the Web application, you have to set the assembly references for Microsoft.WindowsAzure.Configuration and Microsoft.WindowsAzure.Storage to avoid using specific versions. In Solution Explorer, under the References folder for the web app, find the assemblies in question, view Properties, and set Specific Version to false.

I hope I have saved you three hours of your life. I will now go back to my deployment, already in progress...

Update, an hour and a half later: It turns out, there's a difference in behavior between <compilation debug="true"> and <compilation> on Azure Guest OS 3 (Windows Server 2012) that did not exist in previous guest OS versions. When an application is in debug mode on Azure Guest OS 3, it ignores some errors. Specifically, it ignores the FileNotFoundException thrown when Bundle.JavaScript().Add() has the wrong version number for the script it's trying to add. In Release mode, it just barfs up a 500 response. That is maddening—especially when you're trying to debug something else. At least it let our app log the error, eventually.

Saturday 1 December 2012 15:36:31 CST (UTC-06:00)  |  | Cloud | Windows Azure | Work#
Monday 24 September 2012

My laptop's solid-state drive died this afternoon. It had a long, long life (23 months—almost double what they usually get). I am thankful to the departed SSD for that, and:

  • for dying after the client presentation, not before;
  • for dying on the first day of a three-week project, not the last; and
  • for living 23 months, which is about as spectacular as a dog living 23 years.

I am now rebuilding my laptop on a larger but slightly slower SSD, which I hope lasts nearly as long.

Monday 24 September 2012 18:33:25 CDT (UTC-05:00)  |  | Work#
Monday 18 June 2012

Before coming to 10th Magnitude, I was an independent consultant, mostly writing software but occasionally configuring networks. I hate configuring networks. And yet, since 2008, I’ve had a 48U server rack in my apartment.*

A “U” is 25mm, so this means I have a 1.2 m steel rack behind an antique dressing screen in my living room home office, which sits between my dining room and my bedroom in a compact apartment in Chicago:

It looks modest enough, but the four rack-mount servers behind it make a huge racket. Constantly.

I'm getting rid of the lot. Read on.

Monday 18 June 2012 14:54:53 CDT (UTC-05:00)  |  | Business | Work#
Monday 7 May 2012

Even if Parker hadn't gotten fired two weeks ago, it looks like the building would have stopped him coming in anyway. We got this email earlier today, forwarded by the landlord:

We received a complaint about one of your tenants having a dog in the building. This was discovered by persons on the 5th floor hearing barking on the 4th floor. Hopefully I'm not confusing your unit with another but per the building rules and regulations policy that's attached to the Easement and Operating Agreement, only seeing eye dogs are permitted in the building.

Some people just don't like dogs. Their lives must be so sad.

Monday 7 May 2012 11:11:01 CDT (UTC-05:00)  |  | Parker | Work#
Friday 6 April 2012

My company, 10th Magnitude, finally moved into its new office today. One of the criteria we had for selecting the new office was that they allow dogs. Everyone wins! (Hat tip MW.)

It's hard to tell who likes the Office Dog concept more, Parker or my co-workers:

Friday 6 April 2012 12:05:22 CDT (UTC-05:00)  |  | Parker | Work#
Friday 16 September 2011

ParkerI'm David Braverman, this is my blog, and Parker is my 5-year-old mutt. I last updated this About... page in February, but some things have changed. In the interest of enlightened laziness I'm starting with the most powerful keystroke combination in the universe: Ctrl-C, Ctrl-V.

Twice. Thus, the "point one" in the title.

The Daily Parker is about:

  • Parker, my dog, whom I adopted on 1 September 2006.
  • Politics. I'm a moderate-lefty by international standards, which makes me a radical left-winger in today's United States.
  • Photography. I took tens of thousands of photos as a kid, then drifted away from making art until a few months ago when I got the first digital camera I've ever had that rivals a film camera. That got me reading more, practicing more, and throwing more photos on the blog. In my initial burst of enthusiasm I posted a photo every day. I've pulled back from that a bit—it takes about 30 minutes to prep and post one of those puppies—but I'm still shooting and still learning.
  • The weather. I've operated a weather website for more than ten years. That site deals with raw data and objective observations. Many weather posts also touch politics, given the political implications of addressing climate change, though happily we no longer have to do so under a president beholden to the oil industry.
  • Chicago, the greatest city in North America, and the other ones I visit whenever I can.

I've deprecated the Software category, but only because I don't post much about it here. That said, I write a lot of software. I work for 10th Magnitude, a startup software consultancy in Chicago, I've got about 20 years experience writing the stuff, and I continue to own a micro-sized software company. (I have an online resume, if you're curious.) I see a lot of code, and since I often get called in to projects in crisis, I see a lot of bad code, some of which may appear here.

I strive to write about these and other things with fluency and concision. "Fast, good, cheap: pick two" applies to writing as much as to any other creative process (cf: software). I hope to find an appropriate balance between the three, as streams of consciousness and literacy have always struggled against each other since the first blog twenty years ago.

If you like what you see here, you'll probably also like Andrew Sullivan, James Fallows, Josh Marshall, and Bruce Schneier. Even if you don't like my politics, you probably agree that everyone ought to read Strunk and White, and you probably have an opinion about the Oxford comma—punctuation de rigeur in my opinion.

Another, non-trivial point. Facebook reads the blog's RSS feed, so many people reading this may think I'm just posting notes on Facebook. Facebook's lawyers would like you to believe this, too. Now, I've reconnected with tons of old friends and classmates through Facebook, I play Scrabble on Facebook, and I eagerly read every advertisement that appears next to its relevant content. But Facebook's terms of use assert ownership of everything that appears on their site, regardless of prior claims, which contravenes four centuries of law.

Everything that shows up on my Facebook profile gets published on The Daily Paker first, and I own the copyrights to all of it (unless otherwise disclosed). I publish the blog's text under a Creative Commons attribution-nonderivative-noncommercial license; republication is usually OK for non-commercial purposes, as long as you don't change what I write and you attribute it to me. My photos, however, are published under strict copyright, with no republication license, even if I upload them to other public websites. If you want to republish one of my photos, just let me know and we'll work something out.

Anyway, thanks for reading, and I hope you continue to enjoy The Daily Parker.

Friday 16 September 2011 18:36:32 CDT (UTC-05:00)  |  | Aviation | Baseball | Biking | Chicago | Cubs | Duke | Geography | Jokes | Kitchen Sink | Parker | Daily | Photography | Politics | US | World | Raleigh | Religion | San Francisco | Software | Blogs | Business | Cool links | Security | Weather | Astronomy | Work#
Saturday 19 March 2011

On April 12th, I'm starting a new role on the Valkre Solutions development team. Valkre is a startup in Chicago's West Loop neighborhood approximately 0.13% the size of Avanade, the company I left yesterday.

Avanade would like me to remind Daily Parker readers (and those of you tuning in through Facebook) that "Avanade does not control or endorse the content, messages or information found in any public Weblog, and therefore specifically disclaims any liability with regard to this Weblog and any actions resulting from the author's participation in any Weblog."

Now that's out of the way, let me say I truly enjoyed working with every Avanade consultant I met. I'm going to miss them, especially the team I worked most closely with at [a major food and beverage company in Chicago]. Accenture, Avanade's parent company, is a different matter, which I'll leave there.

Anyway, I'm excited to start at Valkre, and in addition to the cool work, great team, and huge potential of the company, I'll be working 5 km from my apartment (about an hour's walk or 12-minute bike ride).

Saturday 19 March 2011 10:13:54 CDT (UTC-05:00)  |  | Work#
Tuesday 1 March 2011

I'm wrapping up in Fairfield County, Conn., today, then I get five nights at home before popping off to Boston for an indefinite series of 4-day weeks there. At least it's Boston, a city I enjoy, and one with easy access to the airport. (I expect my commute will be two hours shorter than it is to Connecticut.) Parker won't like it, though: he'll likely board from Sunday night to Thursday afternoon every week for the duration of the project.

No word yet on Internet connectivity. The client with whom I'm wrapping up this morning trades good-sized portfolios, so they have strict security. The Boston client manages securities as well, so I may not have much contact with the outside world there, either.

I'll survive, and so will Parker, if for no other reason than the regular, magical increases in my bank account twice each month....

Tuesday 1 March 2011 07:25:34 EST (UTC-05:00)  |  | Parker | Blogs | Work#
Wednesday 16 February 2011

No, I'm not swimming in Long Island Sound; I'm up to here [gesture] analyzing a broken software application for a financial firm outside Norwalk. I'm also fighting to get a good night's sleep in a room with clear sightlines to the Connecticut Turnpike and the Metro North Railroad.

Within the next day or two I'm going to explain why this particular client makes me (and the rest of my team) incredibly happy to work there. One of my teammates already compared it to Nirvana Corp. Now, however, I need to chug this coffee, hibernate the laptop I'm not allowed to use at the client site, and find the rest of my team.

Wednesday 16 February 2011 07:39:31 EST (UTC-05:00)  |  | Work#
Saturday 12 February 2011

I had planned a quick getaway to New York this weekend, one involving a single carry-on, dropping Parker off this morning and picking him up tomorrow afternoon, and putting my new camera through a live-fire exercise in Manhattan.

Then, Thursday evening, I found out I'll spend the next two weeks in southwestern Connecticut. So now I have a checked bag and Parker has almost a week of boarding ahead of him. The client wants us onsite Monday at 8am through 2pm Friday, which few clients ever ask for. This reflects the short duration of the project and the client's level of security (they're a financial firm), the latter characteristic meaning I'll have no email, mobile phone, or (gasp!) Facebook access during the business day. The silver lining from that is we won't be allowed to work on the project after business hours.

So it looks like I'll get to spend more time in my third-favorite[1] city in the world. I'll also get to see a couple more friends, assuming I can get off the client site early enough to have dinner in the city some day this coming week.

Now if the plane taking me to New York weren't delayed for an hour getting out of New Orleans this morning, I might get there sooner...

[1] Chicago and London have the top two spots; New York and San Francisco are tied for third.

Saturday 12 February 2011 10:45:16 CST (UTC-06:00)  |  | Aviation | Work#
Saturday 23 October 2010

One of the benefits Avanade provides is a fairly generous "technology" budget. I'm given cash, every year, to buy things that either demonstrate my (read: Avanade's) love of technology, or give me better work-life balance.

This week I bought a 240 GB solid-state drive for my work laptop to replace the 256 GB drive it came with. So, I backed up the entire drive using Windows 7 System Image, swapped the drives out, and...crap.

Did anyone else notice that 240 < 256? Yeah. Also, the bigger drive was bit-lockered.

So, yeah, I can't restore the image. I am now copying all the data I'll need and, in fits and starts this weekend, I'll be rebuilding the laptop from scratch.

Phooey.

Saturday 23 October 2010 13:05:11 CDT (UTC-05:00)  |  | Software | Work#
Thursday 18 March 2010

Ahem. No, RoboCop isn't pointing a gun at me. However, Avanade's personal blog policy strongly recommends that I post the following, and I happen to agree:

Avanade does not control or endorse the content, messages or information found in any public Weblog, and therefore specifically disclaims any liability with regard to this Weblog and any actions resulting from my participation in any Weblog.

Also, I am not authorized in any way to speak on Avanade's behalf.

This applies not only to The Daily Parker but also to re-posts, as for example the automatic content pull from The Daily Parker into my Facebook profile.

We will now resume your regularly-scheduled program, already in progress.

Thursday 18 March 2010 11:36:26 CDT (UTC-05:00)  |  | Work#
Search
On this page....
In the bag
Harris and Sullivan talk about Gaza
Indians take the lead, and the skies open up
The rain in Ohio lands mainly on the bayou
Not a foul client
Unexpected baseball game
Follow up to yesterday
Home stretch in Cleveland
Meetings, meetings, meetings
My TripAdvisor review of the Aloft Beachwood in Ohio
Pro tip: business travel
Yes, that's an improvement (Comcast win!)
Going dark, or maybe a little dim, for a couple of days
A good day to skip work
This never gets old
Free time? Not yet
Quick personal update
Work overload link roundup
Head-scratching software bug
And the day started so well...
About this blog (v 4.2)
Small world
Integrating Multiple CRMs with One Azure Cloud Service (part 4)
Managing multiple CRM connections with one Azure application
Integrating Multiple CRMs with One Azure Cloud Service
Unexpectedly productive weekend
Quick update on the Daily Parker's future
Updating tools, at home and at work
Articles I've sent to my Kindle
Stress is caused by saying "yes" to things
Re-evaluating tools. Again.
That nagging feeling
Putting a bow on it
Debugging our first Azure 1.8 deployment
My poor, dead SSD
Out of the apartment, into the cloud (part 1)
His days were numbered anyway
New office, with dog
About this blog (v. 4.1.6)
Moving on
More travel, fewer posts, sad puppy
Snorkeling in Connecticut
Back at O'Hare
On to plan B
You have thirty seconds to comply
Countdowns
The Daily Parker +3214d 10h 02m
My next birthday 3d 01h 28m
To London 44d 12h 16m
Parker's 9th birthday 287d 03h 11m
Categories
Aviation (327) Baseball (110) Best Bars (5) Biking (44) Chicago (872) Cubs (197) Duke (132) Geography (316) Higher Ground (5) Jokes (282) Kitchen Sink (626) London (41) Parker (186) Daily (204) Photography (139) Politics (302) US (1069) World (245) Raleigh (20) Readings (8) Religion (62) San Francisco (86) Software (196) Blogs (72) Business (223) Cloud (89) Cool links (130) Security (98) Travel (180) Weather (678) Astronomy (79) Windows Azure (59) Work (45) Writing (8)
Links
Archive
<September 2014>
SunMonTueWedThuFriSat
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011
Full archive
Blogroll
About
David Braverman and Parker
David Braverman is a software developer 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 ©2014 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: 4449
This Year: 347
This Month: 2
This Week: 3
Comments: 0