Saturday 17 December 2016

Oops--So Much for Global Warming
(Or, Conventional Wisdom Isn't so Wise)

If I hear one more person recite the title of this essay, so help me I'll scream.

We're having a cold December here in Ottawa. I understand it's like this across much of North America. And, every time we have a cold month, the climate-change debunkers are out in full force. From little fish (e.g. conversations on the bus or in the bingo hall) to big fish (e.g. Donald Trump's frequent Twitter tantrums), you hear the same thing over and over again:

"Oops--so much for global warming!"

I'm sorry, but these idiots are so stupid, you just wanna give 'em a smack.

The fact is, cold weather these days is largely the exception that proves the rule. The naysayers have it exactly backwards--it's not that a little cool weather proves that global warming doesn't exist--it's the fact that the weather is usually warmer that proves global warming. Climate change. Whatever you want to call it, it's real.

I remember the 1980s. Particularly, I remember Decembers in the 1980s. Then, it was cold. For Pete's sake, temperatures like we've currently experiencing were more the norm back then. In fact, until just a few days ago, the temperature this cold season (I use that in lieu of "winter" as winter hasn't even started yet) hadn't gotten below -10. That would have been unheard-of in the '80s. I remember 1986, for example, when it was -10 just a few days after Hallowe'en. Yes--that's how you spell it. This year, it happened a full month later. A full month.

I remember December of 1994 or 1995, when it was so cold, residents in some neighbourhoods had to keep their taps running, lest the pipes freeze. That doesn't happen today.

For another example, look at the last time the temperature went below -30. I remember a lot of December days in the 80's where it got a lot colder than that--for days at a time. Lately? The average person will cite dozens of times, but they're talking about the wind chill index, which isn't a temperature at all; they're just too stupid to know the difference. Well, it didn't happen last year, nor the year before, and not often in the past 15 years. I have the numbers to prove that, by the way.

Look at the weather records--extremes if you like. Most of the record lows were set years ago. Most of the record highs were set recently. For today, just for an example, the record high (10.2 C) was set in 2010--six years ago. The record low (-28.9)? 1942--back in World War II. Seventy-four years, and we haven't had a colder December 17. The same sort of situation applies to hundreds of days in the year, nowadays. Hundreds.

Look at the average temperature. It's rising. 2016 is on track to be the hottest year globally, ever, eclipsing--guess when?--2015. The deniers point to an apparent hiatus in climate change in the early aughts, claiming triumphantly that it was all a hoax and that they knew it all along. Well, guess what--scientists have determined that the warming was occurring then, too; but the heat was being pulled into the oceans for a time. And, guess what? The atmosphere is back to warming up. Very little has changed except for the rising level of pollutants in our atmosphere. The sun isn't the cause--scientists have been monitoring that for years, and the solar output has been steady as a rock.

The basic problem is that people don't remember and don't think for themselves. They notice the extremes and completely dismiss the normal. In this part of the country, cold stands out much more than hot; and so we notice the cold days, completely ignore the ever-climbing norms, and only barely notice the hot days. After all, "It's summer--it's supposed to be hot!" For some reason, it doesn't occur to them that winter is supposed to be cold--precisely because the last 20-or-so winters have been warmer than normal.

There's a bit of a war on science going on lately. We saw it first-hand in Canada, during the Harper years, when scientists were muzzled, prevented from speaking their minds and sharing their observations. Now it's happening in the United States. My theory is that people don't trust science, because they don't understand it, don't trust scientists because scientists are smarter and know more than they do. At what point did that become a fault?

How many times has someone you know said, "the scientists don't know what they're talking about." Well, heads-up, dummy--they do. They don't rely on fallible memories of how it used to be--they deal with solid numbers. Unlike most people, they look at all the data--going back years--before they shoot off their mouths. They apply mathematical tests, do comparative analyses, adjust for known climate perturbations (el nino, la nina, volcanic eruptions, etc.). Just because it's a slightly complicated process doesn't mean it's wrong. What's wrong is scanning your feeble memory for five seconds before pronouncing on the state of the climate. In other words: your ignorance does not prove the converse of what scientists are saying.

I have the numbers to prove that this December was above normal in temperature for the first half--and those are recent normals, allowing for climate change. And, even with that, the values were still warmer than usual. I'll bet you any money that people in January take all of three seconds to think about it and will look back on December as a cold month--all of it. One of the coldest, in fact.

Climate-change deniers remind me of Nero, singing and plucking at his lyre while Rome burned around him.

So, the next time you're tempted to utter the phrase that makes my blood boil, take a few minutes to think about it. Really think. Remember the weather back in your childhood. Does the current weather measure up? Barely--it would have been considered normal, back in the years before climate change really got going.

So, buck up. Yeah, it's a little cold right now. But I'll tell you this: if you're 25 years of age, or older, it got a hell of a lot colder when you were a little kid. That's based on hard fact. And you can take that to the proverbial bank!

Wednesday 19 October 2016

Fifteen Years! Story of a Cancer Survivor

On the night of September 10, 2001 (note the date), I found a lump on my right testicle. An ultrasound examination confirmed there was something there, and a visit to the urologist confirmed it was cancer.

You can imagine how I felt on September 11, watching those people falling from the twin towers and, in a way, envying them.

They operated on October 19. The news at first was not good; it was a particularly aggressive form of cancer, and I'd likely have to go through chemotherapy and radiation treatments. I was on a waiting list to see an oncologist.

Remarkably, just before Christmas, I had some bloodwork done, and the indications were that my tumour markers were close to zero. In consultation with the oncologist, I decided to wait it out and see.

That was fifteen years ago. I've been cancer-free ever since. I was essentially pronounced cured at the five-year mark.

Now, if I could just get rid of the phantom right testicle that still aches once in a while.

Saturday 6 August 2016

MCOCR Overhaul

I recently overhauled MCOCR--the optical-character-recognition program that captures local data for the Centretown Observatory. The program was still generating too many errors, and I wanted to make it easier to use.

MCOCR v. 2.32 in Action

In the image above, you'll see some changes from the old version; there've also been some changes under the hood.

New .ini Directives
I've added a new, optional SegThresh directive, designed to be used within Group (value) definitions. It allows you to specify a segment (0-7) and a threshold value (0-100). That then becomes the threshold value for that segment only, rather than the default for the whole character. I added it in for situations where you just can't find a threshold value that'll work for the whole character.

Working Positioners
You'll have noticed the addition of a new positioner: "Char Adjust." We'll come back to that in a minute, but first a general explanation. Each positioner generates an X-Y offset value to be applied when scanning that character.  You would first hit the [Adjust] button, to enter Adjustment Mode. Under "Global Adjust," the positioner adjusts the positions of all scanning elements at once. For finger-grained control, select a Location, then one of the values from the "Group Adjust" listbox. Any adjustments there only affect that group (i.e. barometric pressure, temperature). Finally, you can adjust the positions of individual characters through the "Char Adjust" buttons. Incidentally, the button in the middle of each positioner resets the offset values to zero.

Hitting the [Adjust] button a second time makes the values stick.

Menu Bar
I've added a menu bar, with which we're all familiar. It includes a provision to 'seed' the precipitation-to-date value, with either Zero or the most-recently-recorded value.

Bottom Line
The program has grown much easier to use and is capturing data successfully 99.98% of the time. I'm soon going to release it into the wild.

-Bill

Sunday 5 June 2016

The Greying of the Recent Past

It's something I run across more often as time goes by. I see a picture from the 1970's or 1980's in a paper, on the TV or over the internet, and it's black-and-white. In many instances, I clearly remember having seen the original in colour. What gives?

The only explanation I can think of ties in with an earlier blog post on Linked In, wherein I speculated that, in contrast with the changes seen in our grandparents' and great-grandparents times, succeeding generations are seeing less change. Take my father, born in 1939. By the time he was a half-century old, the world had gone from prop planes and Irving Berlin, to 757s and Bon Jovi.

I followed twenty-five years behind. The world had, or almost had, 747s already then, and the Beatles were up, with Jimi Hendricks waiting in the wings. I'm noticing some recent changes with urban architecture, which is welcome. Apart from that, and the looks of cars and people, not much has changed. We all, of course, walk around glued to our smartphones; I discount that, as even in the 1970's we had (be they rare) carphones and wireless phones.

So, what's behind the trend? I figure it's because photos from recent decades otherwise look too recent. I don't know about you, but one of the ways in which I try to 'date' a photo is by looking, first, at its colour status (is it faded? Hand-tinted? B&W?), then at any people in the photo (extremely helpful, especially with women), and finally for any technological or architectural clues. Absent the latter, the former is introduced by turning the photo to monochrome--instantly aging it.

There are, I think, two problems with this approach. First, and foremost, by eliminating the colour information from a photo, information is essentially chucked away. Electronic search engines tend to favour most-recent references over older ones, and so the B&W versions show up in a proportionately greater number of search results. That skews the view of recent decades, the other problem. The Seventies were a colourful decade, but less so when viewed through the 'greying' eye of history.

See it from my point-of-view: in, say, 30 years' time (when we'll likely still be glued to our smartphones or their successors), you'll most likely see photos from the 20-teens--in black-and-white. Imagine your camera phone snapping black-and-whites. Ridiculous, right? But how is someone of later decades to know that, when all the old images he sees from recent history are... black-and-white. You might feel a bit proprietary about the good-ol' 20-teens, start to feel they're being presented as not nearly as technologically-sophisticated as they were? And you'd be absolutely right. As am I.

Give that some thought.

-Bill

Saturday 30 April 2016

Coming Soon: iLog 1.0

Taking a brief break from ongoing development of MC-H, I've lately been working on another project, which I've dubbed (for now) iLog.


iLog is another project in my favourite language, Pascal (implemented in a modernized, OOP-oriented form, complete with IDE, by Lazarus).


In a nutshell, iLog is meant to be a personal logging system, mostly as a demonstration project to show my programming know-how. It keeps track, for each entry, of Date+Time, what you're doing, where you're doing it, and your current status.


For now, output has been implemented in the same way as with MCH; through a data-output language (hereinafter called DOL) disguised as HTML tags.  <@TL>, for example, displays the current time in 'long' format (i.e. with a colon superposed between the first and last digit-pairs). <@PB> positions the pointer to the most-recent entry and updates the records. <@LMR> will display it.


iLog generates pages from templates with embedded tags. Note that with iLog, directives may return empty; i.e. the tag is replaced with nothing and simply disappears.


Data output directly replaces the tags in a page template. Queries to the database are generated with an eye to a tabular format. To this end, a config file stores snippets of text to include both before and after both single-line elements (i.e. a single entry), and bulk entries according to their position on a 3x3 grid.

iLog takes in information by way of the cgi-bin interface (specifically, a POST call). The input can either be a log entry, or a query or query-string. A query is a direct enquiry into the internal workings of the program, whereas a query-string is a string with embedded DOL tags. Output is returned directly, as a long string. That said, for each query, there is a corresponding tag implemented to achieve roughly the same effect. It may be that, when all is said and done, embeddable query tags accomplish the same effect as queries. Easy to delete the section, in that case; my code is quite modular.


I've got about 75% of the planned command set implemented. The server is already stable enough simply to require a reboot weekly. A multi-level logging system has been invaluable in debugging the code; in fact, it hasn't yet been necessary to launch the debugger. I'll write about it soon; it deserves a post of its own.


iLog is loosely password-protected for now.


A note about the database. It's home-rolled. I prefer my applications to 'roll their own' database support and not have to depend upon a third-party product. Nothing against third-party databases; I've worked extensively with dBASE III/IV/V, Access, Oracle and other SQL databases. I just hate depending on them being installed on the host system. As it is, my system is very simple and involves CSV files with a dead-easy format (making it simple to view and repair in the text editor--another personal requirement of my programs' data files). It's working really well.


iLog already accepts a number of directives from a terminal session:

- Regenerate a user's web pages
- Reload system parameters from an INI file
- Reload styles information for generating bulk output
- Shut down

Once I get the server finished, in probably a couple of weeks, I'll build some kind of site for it and experiment a bit. At the moment, there's only a test page, at http://mizar64.dyndns-home.com:64180/iLog/test.html.


Then I'll turn my attention to making a mobile app for iLog (again, simply to demonstrate my programming acumen). The program will have to take and store (and transmit when possible), multiple log entries. It will update things like drop-downs for status and locations by live-querying the database when possible. It will be simple to use and won't beg for access to things it doesn't need in order to do what it does.


Well, that's about it, for now.

-Bill