Latest Entries »

Just a few days after my last post here my wife and I discovered that her cancer had advanced past the point where the medical types thought they had a chance of a successful treatment outcome.  One of the physicians told us that she thought that at this stage any attempt to arrest the cancer would likely result in a faster and more painful demise than if it were just left to take its course.  And my wife agreed that she wasn’t going to fight it any further.

I haven’t posted anything in the meantime, but as the matter has progressed I thought I should take a moment to report.

With the help of Providence Hospice Services my sweetheart has been able to deal with the inevitable health decline and the increasing pain.  There is still much to expect along that line, unfortunately.

She had a rather rough night last night and I stayed home for part of the morning in order to consult with the hospice nurse who visited us then. The nurse advised her to increase the dosage of painkiller, as it does her little good to put up with it, there being no glory in enduring pain if you can avoid at least some of it.

As for myself, it is getting harder to concentrate on work. For the past three months I could bury myself in coding or problem solving and get some temporary respite from what is happening to my wife. But this is gradually getting harder to do. I shall soldier on, however. How can it be otherwise? It is she who must be brave in the face of the enemy, and deal with what is happening to her – how can I, who am in no pain, be weak and a crybaby when she does not herself yield to the weakness, despite knowing what the outcome will be? If I were back in the Army and were ordered to storm an enemy bunker with only a rifle and a grenade, I know very well that I would have a better chance of survival than she does right now. And who deserves a medal if she does not?

But all is not lost. Because of the love of Christ for mankind there is no string in death, nor will the grave be victorious in the end. And while we must temporarily surrender to the consequences of the fall of Adam, in the end the Lord’s triumph at Gethsemane and Golgotha will prevail!

In the meantime there seems to be some programming to do.

This isn’t an April Fool’s in and of itself, but I went to Google.com in order to see what they had come up with for an April Fool’s Doodle this year.  But apparently they have decided that it’s Opposite Day and no special doodle is displayed, just the regular Google.

WhatNoDoodle

That’s my screenshot, just proving that I did see this.

I am actually amazed at this.

Global Climate Change One More Time

My earlier post on global climate change, “We’re All Going to — Die? Warm Up?“, got some interest lately when someone in a forum I participate in challenged me on it in a private message exchange.  Since it was a private message exchange I shall not identify my correspondent by screen-name, but I will call him ClimateChanger.  As background I will say that ClimateChanger is all on-board with Anthropogenic Global Warming.

The apparent intent of his challenge was to convince me that (1) global warming is happening, and (2) it’s all our fault.  I also got a sense from him that (3) this is bad.

Do you ever find yourself trying to convince someone that you agree with them on some issue, but they continue to try to persuade you over to their side of an issue?  Does this annoy you, too?  I know, right?

Anyway, he wrote:

“In other words, up until just very recently, since the end of the last glacial period, 8,000 years ago when we were at a peak in temperatures, we’ve been trending colder, not hotter”

It was a regional temperature, not a Global Temperature

The The Holocene Climate Optimum was generally warmer than today, but only in summer and only in the northern hemisphere. More over, scientists know the cause of this natural warming, and know without doubt that this proven “astronomical” climate forcing mechanism cannot be responsible for the warming over the last 100 years.

This was in reference to the Holocene Temperature Variations chart I posted.

As to the matter of “regional temperature”, the graph actually consists of several temperature tracks as found in many locations throughout the world, and provides an average of them all (the dark black line).  Note that he is right that some regions were colder and some were warmer than the average.  But that is characteristic of “average”, and not an argument against the graph.  Seeking an average in this case is not to say that everywhere on the globe marched in lockstep to the graph.  The average temperature merely identifies the trend.  And he is also correct that during the HCO the northern hemisphere experienced warmer temperatures — he left out the fact that the southern hemisphere had lower temperatures.  Oh, well.

At risk of repeating myself I shall post this graph again, but with a trendline in RED.  The trendline goes from about the midpoint of the graph’s highpoint, about 7,900 years ago, and continues to the midpoint of the beginning of the recent dramatic increase, about 200 years ago:

Holocene_Temperature_Variations_Trendline

As you can see, the trend is downwards toward the next period of glaciation.  However, when you examine the inset graph continuation it shows a disconcertedly rapid rise in temperature.  In my original post I point out that the temperature goes up to 0.5 degrees in a very short time.  And then I get the following.  My correspondent first takes a quotes from my post and then pulls a Straw Man on it:

He quotes me thus:

we are not yet out of the last Ice Age! We are presently in a period known as the Quaternary Glaciation, which started 2.6 million years ago and hasn’t ended yet. The only reason why you’re not sitting on a huge pile of ice reading this is because we happen to be in what is called an Interglacial Period

And then he responds

Even if true, even if we are still not out of the last ice age, that does not explain the rapid rise of the global temperature since 1980. The global temperature increased more than 0.5 degrees in just 30 years. Why did it accelerate in a few years?

Your own graph shows the Earth was getting colder, but now the Earth is hotter than it has ever been in the last 12,000 years, see your own graph.

First of all, his quotation of me occurs AFTER I wrote this:

…as we move off the chart to the right, the temperature line goes up to near 0.5 degrees.

I said this twice, in fact, but he either ignored or missed it entirely — all the while telling me to look at my own graph!

Yes, my own graph shows an sudden increase to 0.5 degrees, and I mention it twice in one paragraph.  Who is he arguing with?  I can’t be with me because I wrote what he appears to be trying to claim I didn’t write several months ago.

He wrote “Even if true…” to my statement that we are still in an Ice Age but in the midst of an Interglacial Period, presumably because he disagrees with me about the Ice Age / Interglacial, but he’s generously allowing it for the sake of argument.  How kind.  I responded:

What do you mean “even if true”? I’m not stating my opinion, I’m stating fact, and fact backed up by climatology. And who says that being still in a current ice age “does not explain the rapid rise of the global temperature since 1980″? That’s a non-sequitor since I did not link the current ice age with any rise in temperature. You’re trying to refute what I haven’t claimed, which is what makes me think you read me very superficially. As to “even if true”, I can back up what I wrote. From a portion of the relevant article in Wikipedia, which is sourced from Science, Nature and ScienceDaily:

“The earth has been in an interglacial period known as the Holocene for more than 11,000 years. It was conventional wisdom that the typical interglacial period lasts about 12,000 years, but this has been called into question recently. For example, an article in Nature[35] argues that the current interglacial might be most analogous to a previous interglacial that lasted 28,000 years. Predicted changes in orbital forcing suggest that the next glacial period would begin at least 50,000 years from now, even in absence of human-made global warming[36] (see Milankovitch cycles). Moreover, anthropogenic forcing from increased greenhouse gases might outweigh orbital forcing for as long as intensive use of fossil fuels continues.[37]”

[36] – http://www.webcitation.org/5qnO3Fw2p
[37] – http://www.sciencema…/5585/1287.full (Sorry, it’s a paywall)
[38] – http://www.scienceda…70829193436.htm

I love it when someone tries to argue with me as if I were a climate change denier, and on top of that, doesn’t have his facts straight about even this basic concept in climatology: we’re in an Ice Age, dude.  It’s only looks mild because we’re in a temporary interglacial period.  I also love it when I write about how greenhouse gases are apparently providing some forcing of the global temperature, only to have someone turn around to try to convince me that science has shown that CO2 is causing temperatures to rise, as if I said something to the contrary.  Now, I will admit that I don’t believe that humans are 100% responsible for all this.  So far, anyway.  I’m persuadable — in fact I used to believe that there was no anthropogenic global warming, but I’ve come around on that.

There is more to the conversation, but I am not going to extend this post to go on and on about it.  I think I have demonstrated my point, which is that people should actually read what they are supposedly responding to before they attempt to respond to it.

What are these plants?

Several years ago the City of Olympia planted some trees along our street, and these were immediately attacked by the low-life vandals who walk through the neighborhood from time to time, heading from the downtown bars to the Section 8 housing located up the street from us.  The new trees were barely a week in the ground when these idiots (don’t know who they were, but I know their kind, at least) deliberately broke many if not most of them in half.  City crews came out and tried to fix them, but the vandals had done their work too well, and the tops of these trees eventually died.  Sickening.

But, the trees themselves did not die, and they continue to grow.  It hadn’t occurred to me to wonder what kind of trees these were until a couple of days ago when I happened to notice that there were two varieties.  The ones growing on the north side of the street have sort-of spiky light green leaves and produce copious quantities of red-orangish berries.  The ones growing on the south side have more rounded but dark green leaves and produce copious quantities of dark red berries.  This piqued my curiosity.  Neither produce tasty berries — they aren’t too bitter, but they are astringent, and the birds don’t seem interesting in eating them.  So what are they?

A query via email produced an interesting reply.  The responder wasn’t sure of the exact species, without a photo at least, but suggested they were either Serviceberries or Mountain Ash.  A quick look at Wikipedia showed that these were no way Mountain Ash (or Rowan) — the leaves are completely different, and so are the berries.  But Wikipedia makes it pretty certain these are some species of Serviceberry, or Amelanchier.  But which two species?  At least some of these species are edible, but neither of the two types of tree on our street are producing fruit that I would call edible.

Well, I took a photo of the fruit and some leaves from both species. Here:

Serviceberries

What species of Serviceberry are these?

Any ideas?  I’m sending a link to this post to the City Arborist, and if I get a response, I will update accordingly.

Fluency

It’s been quite a while since I’ve bought and read any new science-fiction by any but a select circle of writers.  My favorites have been Jerry Pournelle (who doesn’t write much any more, unfortunately), Lois McMaster Bujold, David Sherman, and Dan Cragg (who has completely retired).  But completely by chance I happened upon a new writer, Jennifer Foehner Wells, who has a first novel out: Fluency.

Now, not everyone with a first novel is a Tom Clancy, whose first, The Hunt for Red October, was an instant classic.  But Wells’s book is in that league, I feel.  Think I’m exaggerating?  I will admit to only being slightly less than halfway through the book, but I am finding it a very worthy read, and hard to put down.  Since I have it on Kindle, this means I can carry it around and read it any time, so this isn’t a bad thing.  But this book is fascinating, and I am looking forward to its conclusion!  I understand Jen is working on a sequel already, and this is good news.

Fluency is a “first contact” novel, meaning that it is about first human contact with an extraterrestrial race.  And it’s near future as well.  Pretty much current technology, so it isn’t hard to relate to.  Let me repeat the first part of the story synopsis:

NASA discovered the alien ship lurking in the asteroid belt in the 1960s. They kept the Target under intense surveillance for decades, letting the public believe they were exploring the solar system, while they worked feverishly to refine the technology needed to reach it.

The ship itself remained silent, drifting.

Dr. Jane Holloway is content documenting nearly-extinct languages and had never contemplated becoming an astronaut. But when NASA recruits her to join a team of military scientists for an expedition to the Target, it’s an adventure she can’t refuse.

The ship isn’t vacant, as they presumed.

I am so glad the author didn’t choose to start the book on earth, and painstakingly delve into the assembly of the crew, and all the technical details. She gets pretty much right into it, and leaves whatever background information for a few quick flashbacks — which do not at all detract from the plot. The crew is wonderfully human, and not a bunch of perfect jocks (like you expect astronauts might be). They have realistic characters, and are developed pretty much “just right”.

I recommend this book for those of my readers who are looking for a good SF read.  Buy it Here.

Rediscovering Yahoo!

Recently I needed a new email account that was not Gmail.  Note that I have about six or seven (lost count) Gmail accounts.  One for each of several purposes.  But now I needed one with my Ham Radio callsign, and it’s only got five letters.  Five letters account names are too small for Gmail (why?), so Gmail was out.  The criteria for the new email ISP was: Free; and not a startup that would be gone next week.  And I thought I would try Yahoo!

I used to use Yahoo! for web searches (a loooonnnggg time ago), but haven’t been there is literally years.  So I got my new email account and had a quick look at the overall site.  I was surprised!

Yahoo! was actually INTERESTING!  There was news, there was entertainment, and there were videos.  I am not sure if it’s doing YouTube-type crowd-sourced videos, but there they were.  I guess times change things.

And yes, apparently you can still search the web on Yahoo!

Nice.

I was browsing StackOverflow.com today, and ran into this question on doing transactions in Sql Server.  Since I was familiar with using SqlTransactions, I thought maybe it was a question I could provide an answer to, but then I saw the response by Anders Abel about TransactionScope.  Wow!  I had never known this existed and it seemed like a much better way of doing transactional operations without getting into SqlTransaction.

However, Remus Rusanu, commented on Anders’ answer, however, suggesting that this wasn’t the best way to use TransactionScope.  He pointed to a blog post by a Microsoftie that gave serious caution to using it “straight up” without some modification.  I had a look at the article and I was really excited about using TransactionScope with that technique.  I can think of a few places it might have saved me some grief in the past.  And I’m posting a link to the MSDN article, “using new TransactionScope() Considered Harmful” here, mainly for my personal future use, but YOU, dear reader, might find this valuable too.  So here it is:

using new TransactionScope() Considered Harmful by David Baxter Browne

Enjoy coding!

Phil Plait, he of the Bad Astronomy blog (it’s on Slate these days, so you know he’s for real), is a fun read.  He reports all kinds of interesting astronomical stuff, and I enjoy reading his work.  On some days, however, he insists upon breaking wind about non-astronomical matters, and in many of these blog entries he gets to be quite annoying.  Can you say: specialist trying to comment outside his area of specialization?  That’s Phil Plait from time to time.

Global Warming Deniers

Phil gets really exercised about people who won’t take global climate change seriously.  He seems to regard them as the moral equivalent of Holocaust Deniers.  A recent post of his concerning old arctic Ice melting is a case in point.

Phil has posted about his Denier fixation before, and while I definitely apprecaite his frustration (I have to deal with people who can believe the craziest things, too), what does he expect to accomplish?  He writes:

We don’t know how long it will be before we see our first ice-free Arctic summer, but it may be as soon as 30 years. Most likely it will be somewhat longer; I hope so. But the bottom line is that the ice is going away due to global warming, and as it does we’ll see worse and worse effects from it. The time to stick our heads in the sand about this is long, long gone.

OK, let’s assume that climate change is real, and that we’re warming up.  Further, let’s assume that the warming is caused by human activities (something that I am still not convinced of).  What about it?  More to the point, what do we do about it?

Enact the Kyoto Accords?  Everyone stop breathing? Kill all the cows?

Well, cattle are responsible for enormous amounts of methane, an even better greenhouse gas than carbon dioxide, so they have it coming.  Clearly.  And lest PETA put out a contract on me, I’m joking.

When was the last time something like this happened?  It might have happened during the so-called Medieval Warm Period (MWP), a period lasting three hundred years from 950-1250 AD.  I have been unable to determine if the warming effects included an ice-free Arctic Ocean or not, and what I’ve read suggests that the warming was not global.  I guess some scientists prefer to call this period the Medieval Climatic Anomaly. And apparently during this time the southern hemisphere was experiencing other effects than increased warmth – Antarctica was colder than today, for example, and the tropical Pacific was cooler and drier.

And then there’s the Roman Warm Period!  This proposed period, RWP, is less well attested than the MWP.  But the point is, this period from 250 BC to 400 AD was another time in which global climate got frisky, it seems, much the same way during the MWP.  And in neither one of these periods were the Vikings or the Romans driving SUVs or selling carbon credits to the Huns.

So, Who’s to Blame?

Phil Plait is one of many would-be Cassandras who is desparately trying to get our attention about how Global Climate Change is going to Kill Us All.  And ironically enough, from the viewpoint of the Cassandra Chorus, we have met the enemy and He is Us (with apologies to Walt Kelly).  I’m not convinced, of course.  In this game of correlation and causation, who would I prefer to blame?  The cows, of course.  There are now more cows upon the face of the earth than there have ever been before upon the face of the earth.  If you can’t see the obvious correlation there isn’t much I can do for you.

But joking aside, and quite frankly I don’t give a darn if we humans are driving the climate change or not, look at this chart of global temperatures over the last 12,000 years (the chart from the Wikipedia article on the Holocene Climatic Optimum) :

What do you see there?  Notice that modern times is on the right side of the chart (the right edge is 2000 AD).  You see the humps of the MWP and RWP, ocurring at around 1,000 and 2,000 years ago respectively?  You see the right edge of the chart show temps about in the same neighborhood as the MWP and RWP?  And further, that as we move off the chart to the right, the temperature line goes up to near 0.5 degrees.  Now, that’s hot, but notice that it’s only just a little hotter than it was 8,000 years ago!  In short, we’ve been here before.  Is it perhaps too early to panic?  Well, perhaps not, since temperatures now are hotter still — off the chart to the right, in fact, they’ve popped up dramatically to over 0.5 degrees (see the note there for year 2004?).

But I do wish to have you consider the entire chart.

See how the temperatures fall very dramatically off as we go backwards pass 10,000 years?  That, my friends, is the last glaciation period.  It’s warmed up since then, yes?  But I want you to lay a ruler, figuratively, along the middle of that squiggly line starting at around 8,000 years ago where the temperature line crosses 0 degrees, and end up at about the midpoint of the upward trending squiggle, at about -0.25 degrees.  What slope do you see on your ruler?  That’s right!  Downwards!

In other words, up until just very recently, since the end of the last glacial period, 8,000 years ago when we were at a peak in temperatures, we’ve been trending colder, not hotter

And here’s something you may not be aware of: we are not yet out of the last Ice Age.  I can hear your eyelids snap open in surprise at this, so I will repeat myself: we are not yet out of the last Ice Age!  We are presently in a period known as the Quaternary Glaciation, which started 2.6 million years ago and hasn’t ended yet.  The only reason why you’re not sitting on a huge pile of ice reading this is because we happen to be in what is called an Interglacial Period.  This one even has a name: the Holocene Interglacial, “Holocene” being a fancy scientific name for “modern times”, in case you’re wondering.  And do you know what the paleoclimatologists were doing in 1972?  They were worried that we were heading out of the current interglacial and into the next stage of glaciation.  Or, in other words, they were worried about global cooling.  There were at the time several articles in popular magazines reporting on this worry; can you remember back that far?  The climatologists felt that since interglacial periods tended to last about 10,000 years, and we were 10,000 years into the current interglacial, things were about to start getting seriously colder — and the data on the chart above tended to bear them out.  Since then they have changed their minds, however.  The increase in atmospheric CO2 has given good cause to believe that the trend is reversing (and recent temperature trending confirms this).  In short, while we could have been heading out of the current interglacial period and into some serious ice, this won’t happen after all because — wait for it — we’ve been dumping enough CO2 and other greenhouse gases into the atmosphere to hold off the next glaciation period another 15,000 years!  And if we can just get the greenhouse gas level up to twice what it is now, we will delay the next glacial period up to 60,000 years!  Yay!  Does this mean that I have now changed my mind about the climate change being human-caused?  No, I’m still not convinced, but I will allow the possibility.  We aren’t the only thing blowing out greenhouse gas — I am convinced the situation is very complicated.

Now, what would you prefer: being dumped into the deep freeze, or being warm and toasty?  I don’t know what course others might prefer, but give me warm summers and a mild winter.

You see what this means, of course.  We need more cows.

I was just scanning StackOverflow looking for interesting Questions and Answers, and happened up this one: Converting JSON to C# Class Object. Serialization is always an interesting subject, and I had previously thought about the idea of serializing (or deserializing) to and from JSON, so I had a look. The questioner was having a problem getting JSON serialization to work, and asked if anyone could see what he was doing wrong. Well, I certainly couldn’t see anything (since I’ve never dealt much with JSON — that’s “JavaScript Object Notation” for those of you wondering about it — it was Greek to me).

But what caught my eye the most was a comment to the question. See, the questioner’s displayed code contained data names like this one: “strMapPolicyID”. Note the “str” prefix. This is one way to indicate that the object in question contains a string. Or “intZoomLevel”, where “int” indicates that it contains an integer. This kind of notation is what is called “Hungarian Notation”, and in some (most?) programmer’s minds it is a thing to be avoided like the plague. The comment in this case was:

Don’t use Hungarian notation. It’s bad practice generally, and totally unexpected when working with JSON. – Panagiotis Kanavos

This annoyed me. There’s nothing wrong with Hungarian notation, per se, any more than there’s anything wrong with Hungarian. In it’s proper place (amongst Hungarians), the Hungarian language is perfectly appropriate. And Hungarian notation has its place, as well. I don’t use the style of Hungarian Notation expressed in the StackOverflow question (I used to, long time ago), but the inventor of the notation, at-that-time Microsofty Charles Simonyi (who is, by the way, Hungarian), didn’t encourage this version of the notation that most programmers are familiar with anyway. This idea of prefacing each variable name with a short indicator of the object’s underlying data type (such as “str” or “int”) is a tautology, and was not what Simonyi had in mind.

One should read Simonyi’s original article on the subect, on Microsoft’s Developer Network site: http://msdn.microsoft.com/en-us/library/aa260976(v=vs.60).aspx

The kind of prefix that Simonyi argued for was the functional prefix, not the data type. For example, if an integer was intended to represent a color, specifically the color red, the variable might be named coRed. Or, if it was supposed to represent the color of a house, coHouse. I don’t have time to provide a precis of Simonyi’s article — just read it.

The simple fact about Hungarian notation is this: what most programmers think is Hungarian notion isn’t. They’re abusing a straw man.

I still use Hungarian notation for names of controls in web pages and windows forms. For example, I might name a textbox txtFirstName, or txtAddress1. What this does is enable me make sure I am addressing all related objects. On the other hand, if I had a lot of textboxes, I might group them in nominal groups, such as a set of textboxes intended to collect or display address information. For example: addrStreet1, addrStreet2, addrCity, addrState, and addrZip. The fact that addrState might be a dropdown containing all 50 states is not important, but it IS important that it enables me to more easily code to them all because auto-completion (Intellisense in Visual Studio) would help me make sure I got them all during coding to access them. And that is the proper role of Hungarian notation — not to mention the proper definition of Hungarian notation.

By the way, there are a couple of blog posts from famous programmers on the subject that bear linking to:

And, as always, have fun coding!

This blog generally deals with technical topics only, but I am going to make an exception in this case. I guess I have that privilege — I make the rules here, after all!

I’ve been working on a side project for the last six or seven years, something completely unconnected with information technology. And after a lot of time, research and just plain work, it has finally come to fruition. I’ve been working on two books, getting them ready for publication.

My wife’s family is German. My mother- and father-in-law were from Memel, Germany, which is now Klaipeda, Lithuania. At the end of the war in Europe they had been living in Osterode in East Prussia (now Ostroda, Poland). As the Red Army invaded East Prussia in January 1945, the family (consisting of Dad, Mom, and four little girls aged 4 through 11) fled via rail toward Elbing, near the Baltic Coast. They got about halfway before a train wreck blocked further progress, and then there were on foot, walking near the rail line in the dead of a cold, cold winter, until they reached the town of Prussian Holland, which is where the Red Army caught up with them. They took shelter in an abandoned house.

They were able to stay in Prussian Holland while the Red Army flowed through on the way towards Berlin, until the military occupation authorities declared that all German adults must register. Mom and Dad left the kids in the house (a different one, because they had been forced to move), and duly went to report. They never returned, leaving the four little girls to fend for themselves in the burned out town. Both the father and mother were taken separately into the Soviet Union, where the Soviets took advantage of the Yalta Agreement provision permitting them to use “German labor” in rebuilding.

The two books track what happened to the little girls and their mother over the next four years, To this day, nobody knows what happened to the Dad. He never returned, which was the fate of nearly half of Germans taken into the Soviet Union to do forced labor. And over 500,000 were so taken. This is not including any prisoners of war taken during or after battle. And these half-million were all civilians, mostly women and old men.

The books themselves are the first person accounts of one of my sisters-in-law, and my mother-in-law. My SiL wrote her own book, titled Yesterday’s Sandhills, and I have edited it extensively over the past seven years (I’ve actually rewritten it five times, but decided in the end to go back and stick closer to her own version). My MiL’s account was actually originally a transcript (in German) of a tape recording of her telling her entire tale from the moment they left Osterode on the train, until she finally returned to East Berlin. My SiL provided my wife and I with the typed transcript, and we translated it into rough English. I have spent the last two years working to turn it into a viable story that could be made into a book.  We’ve given this book the title The Bones of My People.

I am so relieved to finally be able to say: I’M DONE!!!! During the past week we have finally gotten both books into print, using Amazon’s CreateSpace, and both books are now available in both print and Kindle editions. Actually, the second one isn’t quite available on Amazon (in a few days it will be), but I can offer it on my CreateSpace eMarket already. It’s in the pipeline, though.

While I am happy to say I’M DONE, I’m not really done, of course. Since this is self-published (and we formed an actual publishing company with an EIN and all that), we still have to market the books or nobody will ever see them.

I am going to go to bed tonight and I will not set the alarm clock. I am sleeping in tomorrow, Saturday. I’ve been staying up into the wee hours for the last 2 weeks getting all this finalized and I declare that it is now vacation time. I am going to take a Saturday off. For the first time in months.

BothCovers

Available from Prospect Avenue Books!

Follow

Get every new post delivered to your Inbox.