The Daily Parker

Politics, Weather, Photography, and the Dog

A is for Assembly

Welcome to the Daily Parker's 2018 Blogging A-to-Z challenge!

Blogging A to ZWe're starting today with a fundamental concept in Microsoft .NET software development: the Assembly.

Microsoft defines the assembly as "a .dll or .exe file that can contain a collection of APIs that can be called by apps or other assemblies." In other words, an assembly is the basic unit of delivering .NET software to the rest of the world. An assembly "fully describe[s] and contain[s] .NET programs."

When you compile .NET source code, the compiler creates one or more of these files, each of with contains an Intermediate Language (IL) representation of your original code. You can then distribute the .dll or .exe files to any computer that has the correct version of the .NET Common Language Runtime (CLR) installed on it.

I've created a Visual Studio solution for this challenge. Today we're looking just at one small piece of it, which looks like this:

using System;

// ReSharper disable CheckNamespace
namespace InnerDrive.DailyParkerAtoZ.HelloWorld
{
	internal static class Program
	{
		// ReSharper disable once UnusedParameter.Local
		private static void Main(string[] args)
		{
			Console.WriteLine("Hello, World!");
			Console.ReadKey();
		}
	}
}

If you're new to .NET, don't worry about all the pieces. This two-line program compiles into an assembly called HelloWorld.exe, which internally looks like this:

.method private hidebysig static void  Main(string[] args) cil managed
{
  .entrypoint
  // Code size       19 (0x13)
  .maxstack  8
  IL_0000:  nop
  IL_0001:  ldstr      "Hello, World!"
  IL_0006:  call       void [mscorlib]System.Console::WriteLine(string)
  IL_000b:  nop
  IL_000c:  call       valuetype [mscorlib]System.ConsoleKeyInfo [mscorlib]System.Console::ReadKey()
  IL_0011:  pop
  IL_0012:  ret
} // end of method Program::Main

Again—we're not going to get into a lot here. Suffice to say, that IL above is what actually lives in the assembly, and what the CLR will execute when you run the program. The assembly also contains a manifest, describing what it contains, and some metadata about its version, author, and whatever else the programming team has added to the assembly info file.

As with all of the topics for this year's A-to-Z challenge, I'm only scratching the surface. There is a ton more to read online and in some solid books on the market. The best information about assemblies I've found is in Jeffrey Richter's CLR via C#.

Note: the Visual Studio Solution for this challenge requires Visual Studio 2017 and the .NET Framework v4.7. ReSharper is also recommended.

April come she will

Blogging A to ZThe A-to-Z Challenge starts tomorrow, and I'm all set to go with a list of 26 topics on programming with Microsoft .NET.

Now I just need to write the actual posts.

It's interesting to me how vacations don't actually lend themselves to much productivity, even when that's the explicit purpose of the vacation.

Anyway, if I do my job today, the first post will hit at noon UTC tomorrow. If I don't do my job today, it'll hit sometime later than that.

Still churning through my to-do list

On the one hand, I've been really productive on my staycation, having checked off 38 to-do items including a few that came from my need to get Parker repaired.

On the other hand, I've done none of the reading and writing I set out to do. With the A-to-Z challenge starting in two days, I really need to get on that.

But, you know, it's still a vacation. So why not vacate a bit?

The Thick of It is now

In a column last summer, UC Berkeley professor Ned Resnikoff saw Armando Ianucci's British sitcom The Thick of It as a warning:

As scathing as The Thick of It can be in its depiction of craven, self-interested political behavior, it’s difficult to imagine any of its protagonists engaging in criminality on a scale equal to what Trump’s inner circle may have committed.

Nor can The Thick of It capture the dizzying instability of American politics in 2017, though it has occasionally gotten close. The conventions of the sitcom genre usually demand that, for all the frantic activity in one episode or another, very little ever really changes; the prime minister might get ousted and the opposition may become the governing party, but the political system itself remains static. It’s barely five years later that we understand just how fragile that apparent stasis was all along.

Indeed, one can imagine a contemporary version of The Thick of It in which its starring hacks cross the murky boundary between unethical behavior and blatantly illegal acts,the usual unprincipled goons suddenly finding themselves locked into a partnership of convenience with committed racists; and in which the collateral damage they wreak has expanded to institutional and geopolitical dimensions. While that show does not yet exist, one can see the seeds of proto-Trumpian government-as-PR-crisis in old Thick of It episodes, like a warning we all failed to heed.

Yes. We're longing for the halcyon days of Malcolm Tucker. Welcome to the Trump Administration.

City approves $8.5 bn airport ordinance

The Chicago City Council on Wednesday approved a massive package to restore O'Hare to its former glory as the busiest airport in the world:

With legal approvals in hand and O'Hare's tenant airlines scheduled to formally sign new lease deals later today, the path appears clear to implementing a plan that, if all goes as scheduled, will add 3 million square feet of terminal space and 30 to 35 additional gates for planes to load passengers, up from 185 now, by 2026.

City aviation officials say doing so will attract an additional 20 million passengers a year to O'Hare (up a quarter from today), many of them arriving on lucrative international flights, an area in which O'Hare has fallen behind competitors such as Los Angeles International and Atlanta's Hartsfield. And if those targets are reached, the plan sets the stage for further terminals in the future.

With American Airlines having dropped its earlier opposition to the deal, the last potential obstacle melted away when African-American and Latino aldermen agreed to set up a working group, or commission, that will regularly monitor activity and report back to aldermen on whether minority businesses and workers are receiving an adequate piece of construction and related legal and financial contracts.

The gate expansion follows a decade in which O'Hare added or lengthened several runways and converted many of them from a diagonal configuration to six east-west parallel runways. Most of that work already has been completed, with more expected soon.

O'Hare's mostly-complete runway project vastly increased the number of operations (takeoffs and landings) the airport could handle, well beyond the capacity of the terminals. The new terminals and gates should alleviate that.

Passengers will also finally have the ability to change from international arrivals to domestic departures without collecting their luggage, which right now makes O'Hare a real pain in the ass for inbound international travelers.

Wednesday afternoon Parker update

We met with the surgeon this morning. She confirmed the initial diagnosis of a right cruciate ligament tear, and said it's likely completely detached from the bone. She also suspects additional damage to the opposing ligament and possibly to his meniscus.

Parker will have surgery next Tuesday, which unfortunately was the earliest he could get in. He'll have a right tibial leveling osteotomy, in which she will carve out a piece of bone and turn it so the damaged ligament no longer supports his weight.

After surgery, Parker will have a few really miserable weeks. For the first two weeks, he'll be confined to a bathroom, forced to wear a Cone of Shame, and only allowed short potty breaks. After his sutures come out, he'll still have restrictions on his activity for up to 6 more weeks. But by the end of May, he should be able to go on long walks again.

When the surgeon goes into his right leg to repair the damage, she'll also evaluate whether he injured the knee through an athletic over-reach or whether it resulted from deterioration of the ligament. In the latter case, there is a 50% chance of his left knee blowing out within a year. So I'm hoping that this was just the result of over-exuberant stair-climbing on his part, and not the result of age.

Updates as conditions warrant.

Parker update

I mentioned yesterday that Parker stopped putting weight on one of his legs after hurting himself running up the stairs Saturday night. Turns out, it's pretty bad.

His primary vet says my aging mutt tore his ACL and meniscus, which will require surgery. He's getting X-rays on Monday to confirm the injury but she has very high confidence in the diagnosis. Surgery is scheduled for Tuesday.

He doesn't seem to be in any pain when he's lying down (which, as an old dog, he does 20 hours a day). Walking up and down stairs is not possible, however. (Did I mention he weighs 30 kg?) And he has some discomfort in his usual sitting posture. I've got him on pain meds and a joint supplement, but he's not going to be a happy dog for the next couple of months. No day care, no long walks, and definitely no running, probably until the end of May.

Poor doggie.

This guy again

Longtime readers know how much I loathe Eddie Lampert, who represents to me everything that is wrong with the adolescent philosophy emitted years ago by Ayn Rand.

Well, in next month's Vanity Fair, William Cohan sits down with the child king of hedge funds and hears him out:

[Lampert's] triumphs are largely obscured by his worst mistake: the 2005 merging of Sears, the iconic retailer whose doorstop mail-order catalogue was once a fixture in nearly every American home, with the downmarket Kmart chain, which he had brought out of bankruptcy in 2003. Twelve years on, this blundering into retail has made him a poster boy for what some people think is wrong with Wall Street and, in particular, hedge funds. Under his management the number of Sears and Kmart stores nationwide has shrunk to 1,207 from 5,670 at its peak, in the 2000s, and at least 200,000 Sears and Kmart employees have been thrown out of work. The pension fund, for retired Sears employees, is underfunded by around $1.6 billion, and both Lampert and Sears are being sued for investing employees’ retirement money in Sears stock, when the top brass allegedly knew it was a terrible investment.

The vultures are circling, waiting for Lampert to throw in the towel so they can try to make money by buying Sears’s discounted debt. But Lampert continues to claim that’s not going to happen if he can help it.

Treasury secretary Steven Mnuchin “has been a shareholder and a member of the board of directors of Sears Holdings from the day that the combined company was formed [until becoming Treasury secretary], so he spent 11 years at Eddie’s side. . . . [With] all of Trump’s focus on jobs, job preservation, job creation, somebody ought to ask his secretary of the Treasury what his involvement has been for 11 years in the destruction of well over 100,000 jobs at Sears.” (A spokesman for Mnuchin declined to comment.)

Cohan treats Lampert fairly, I think. I didn't learn a lot, though. And Lampert still runs Sears, and still will find some way to make back most of the money he, personally, has invested in it. Too bad not enough of the right people think what he did to Sears and its employees is criminal.

Whisyfest 2018 summary

I mentioned physical items on my desk that needed sorting. My tasting notes from Whiskyfest comprise some of them.

I'm not going to go into details about the whiskies I tasted; here, instead, is a summary table:

Distillery Expression Verdict
Ardbeg 10 year Drink
Ardbeg An Oa Buy
Ardbeg Dark Cove Committee Release Buy
Ardbeg Kelpie Committee Release Drink
Ardbeg Grooves Committee Release Drink
Balvenie 21 year portwood Buy
Balvenie Peat Week Drink
BenRiach 10 year Buy
BenRiach 10 year Curiositas Drink
BenRiach 21 year Drink
BenRiach 21 year Temporis Buy
BenRiach 12 year Triple-Distilled Horizons Drink
BenRiach Cask Strength Batch 2 Drink
BenRiach 2005 Peated Port Single Cask #2683 Buy
Bowmore 18 year Manzanilla Buy
Bowmore 25 year Buy
Four Roses 2017 Limited Edition Small Batch Skip
Glenmorangie Spios Rye Cask (2018 private edition) Buy
Lagavulin Distiller's Edition 2001 Buy
Laphroaig 25 year Buy
Laphroaig 27 year Buy
Linkwood 19 year cask strength Skip
Maker's Mark Cask Strength Skip
Maker's Mark Private Select Skip
Oban Distiller's Edition Buy
Old Rip Van Winkle Pappy 20 year Skip
Old Rip Van Winkle Pappy 23 year Skip
The Tyrconnell 15 year Madeira cask Buy
The Tyrconnell 7 year Drink
The Tyrconnell Madeira cask (no age) Drink
The Tyrconnell Sherry cask Skip
The Tyrconnell Port cask Skip

It's important to note that while I tasted all of these whiskies, but I did not drink all of these whiskies. I went with a friend, and we shared tastes; the pours were generally very small; and we went to seminars for three distilleries, spreading those tastings out over 45 minutes each. The whole event lasted four hours.

Also, Whiskyfest provides a metric shit ton (a shite tonne) of food. Good food. Heavy, fatty food.

But now you have more context for why I did nothing of commercial or professional value over the weekend.

And yeah, as much as I want to buy some of these, I'm not likely to shell out the $1,000 for the Laphroaig 27 next time I'm at Binny's.

Staycation: Day 1

Man, I've needed this for a while.

It's 11:15 on a Monday, after doing nothing of commercial or professional value for an entire weekend, and I'm finally at Inbox Zero for the first time in months.

My to-do list currently has 30 items (plus 6 already finished) ranging in complexity or duration from "set up coffee with so-and-so" to "45,000 steps." Inbox Zero was not on the main list, but my inbox is itself a to-do list, so that counts too. In a few minutes I'll have finished with the physical items on my desk that need sorting, and then...breathe in.

Meanwhile, Parker is still not putting weight on one of his legs. We'll be stopping by the vet this afternoon. His giardia has cleared up (I think; I haven't looked that closely), and despite whatever is wrong with his leg, he's happy to walk on the three that still work properly.

Also, just a little blog housekeeping: the A-to-Z Challenge starts Sunday, so over the next week I might have fewer general posts so I can get a head start on the longer posts for April.