Category Archives: Reviews

Trey and Kate: Review

This will be a completely biased review. I have a close relationship with the author so everything I say must be verified. Please buy Trey and Kate, read it, and make up your mind. With that caveat out of the way let’s get started.

Trey and Kate is a tale about an on and off again Millennial romance that plays out in Kingston Ontario. The two leads are not exactly star crossed lovers. They’re both partly broken and struggling with mental illness, past life hallucinations, deficient friends, and uncomprehending divorced families. Kate is bipolar and goes on and off her meds throughout. Trey is stuck in a dead-end barista job: remember Millennials. He’s mourning a deceased unloving father and has only two reliable relationships: his cat and his mother. Trey and Kate’s dreams hint at a shared past and promise a joint future but offer little practical guidance.

With destiny seemingly on their side, you would expect their romance to go smoothly; it does not. When Kate goes off her meds she’s impulsive and prone to risky behavior. The book’s best passages detail her sordid bouts of random sex with total strangers. It’s almost prostitution but Kate doesn’t have the business sense of a prostitute. Of course, this doesn’t help her relationship with Trey. To his credit or shame, he forgives her but we’re not sure if his forgiveness is self-pity. Trey’s self-esteem is so low he finds it almost comical than any woman could love him. Welcome to the club Trey. Trey and Kate’s interaction is both frustrating, satisfying, embarrassing, irritating and fulfilling.

Trey and Kate is the author’s first book. I know the author struggled to put the book together. Its best parts are purely descriptive and when the author shows us what the characters are seeing and feeling the prose tells. When the text ventures into rhetorical semi-poetic asides it hollows out. Trey and Kate feels like a screenplay disguised as a novel. This is partly due to the almost cinematic presence of the setting Kingston Ontario, a dull stone-filled town that would be unlivable without Lake Ontario, and Kingston’s wretched weather which is every bit as bad as it’s portrayed in Trey and Kate. I’d encourage the author to keep writing, rewriting and experimenting. There are good stories to tell here.

Review: The Way We Die Now

The Way We Die Now is not the best book I’ve read this year but it may be the most important. In Seamus O’Mahony’s opinion, modern society has forgotten how to deal with death. There are many reasons for this, the collapse of religious belief, the demolition of the extended family, the triumph of the scientific and rational worldview, even our delusions of curing death “real soon now” contribute to our collective denial. Yet death persists. Death remains absolute, sovereign, implacable, terrifying, “majestic and cruel.” Even if we realize our singularity fantasies and greatly extend life death will never be banished. Even the gods die! We must face death, but must we turn it into a carnival of “medical excess?”

I have seen medical excess. My mother was diagnosed with Stage IV Glioblastoma: a form of brain cancer that is so deadly it’s been nicknamed the terminator. Actually, the terminator is flattered by the comparison. Some survived their encounter with fictional terminators. Nobody survives stage IV Glioblastoma: “there is no stage V.” When I heard mom’s diagnosis I looked for actuarial survival statistics. Credible statistics for common fatal diseases are harder to track down than you might expect. I eventually found a paper that cast survival times in a useful form. Median survival was less than three months for younger and healthier patients than my mother. She died about two months after her diagnosis – right on statistical schedule. The universe does not make personal exemptions.

Her death was inevitable, but the expensive, futile, painful and isolating medical gauntlet she endured was not. She just wanted to go home, perhaps to “turn her head to the wall,” perhaps to binge on The Big Bang Theory – she still enjoyed a few silly shows. It doesn’t matter what the dying choose to do with their remaining hours, but it sure as hell matters that we honor their choices and the Way We Die Now makes a compelling case that we are failing “to be brave.” I know I acquiesced to the medial default for my mother; I still feel I should have fought harder for what she wanted.

According to O’Mahony, the medical default is full intervention even when it’s pointless and wasteful. He also notes that doctors are in a no-win situation. If they suggest doing nothing they’re accused of euthanizing patients. If they go full interventionist Rambo they’re inflicting needless suffering and profiting from the dying. Both extremes often end up in court, as if we could fix death with more litigation. Obviously, something in the middle is the best course and O’Mahony argues that doctors should not set the middle course.

Our infantile society needs to grow up and face death like adults. Nothing makes our magical thinking about death clearer than Somerset Maugham’s1 observations about a “dog’s death.” Maugham hoped he was lucky enough to die a dog’s death! A dog’s death is meant to be a horrible thing but is it really worse than human medical excess? When it comes to sick animals we are clear-headed and compassionate. We don’t subject them to futile treatments, we make them comfortable and take away their pain. I once had a cat that came down with pancreatitis. She wasted away on the top of our fridge until one day we took her to the vet. Her death was calm and without terror. My cat had a better death than my mother. I suspect many pets die with greater dignity than their owners. This is fundamentally wrong and we all know it.

There are no easy answers; it sucks to be mortal. We can’t say until we face it ourselves how we should die so how can we dictate to others? I only hope that when my time comes I have it within me to follow the one bit of advice O’Mahony offers that may apply to all us – “be brave.’

  1. The Way We Die Now relates many stories about “celebrity” deaths.

The Collapsing Empire: Goodreads Review

The Collapsing Empire (CE) is a breezy fun to read space opera. Because I rate books on Goodreads mostly on how much I enjoyed them I gave CE a solid four. If you’re looking for a few hours away from planet moron (Earth) CE is worth the time. While I enjoyed CE it’s unlikely I will be following this series as it unfolds in however many books the author and his publisher manage to flog in the future. I’ve reached the point in my life where entertainment is no longer sufficient. I demand new ideas and different ways of looking at things from what I read. By this standard CE barely rates a one.

The only moderately new notion here is that of “The Flow.” The Flow is CE’s magic element. It’s the story element that enables a human interstellar civilization. The Flow plays the same role in CE that the ocean does in Moby Dick. The ocean is not considered a character in Moby Dick but try imagining the novel without it! Remove The Flow from CE and you are left with stock characters, stock court politics, stock predictable disputes, and a tiny little universe that, trust me, feels more stunted than a night spent under a clear dark sky looking at real stars.

As a final note: I’d advise the author to refrain from dispensing his opinions about real-world politics. Nothing ruins a book faster than conflating actual authors with their fictional characters. Many years ago I was on the verge of reading Anne Rice’s vampire books but then I had the good luck to see an interview of Anne Rice going on about how her characters were her lovers. She wasn’t being metaphorical; the woman is nuts. I decided right on the spot that it was unlikely such a delusional nitwit was worthy of my sustained attention. Authors labor under an unspoken Fight Club rule. “The first rule of fiction writing is: stay the Hell out of your fiction writing!”

Affinity Photo Review

There’s a new image processor on my computers. Recently the chief developer of one of my favorite image editors, Picture Window Pro (PWP), sent out a sad email letting all PWP users know that he is stopping PWP development. He thanked us for over twenty years of support and as a last gift converted the final version of PWP to freeware. You can now download and run Picture Window Pro without a key. PWP is a superb program! It’s still the fastest and meanest image editor I have ever used and I am constantly trying image editors. If you’re interested in getting a free copy of PWP download the program before the distribution website shuts down.

I was saddened by this news but all good things eventually end. With PWP going away I decided, for the nth time, to look for alternatives. I reconsidered Photoshop. I’ve used full-blown Photoshop but frankly, I’ve never been impressed. It’s expensive and slow! I use an old copy of Photoshop Elements, mainly to remove blemishes on film scans, but in my opinion, the only Adobe image processing product worth paying for is Lightroom. Adobe is the evil image processing empire. They squeeze you with sluggish performance and abusive subscription payment models and then act like they’re doing you a favor. It didn’t take me very long to abandon Photoshop (again) and keep looking for PWP alternatives. Lucky for me there’s this thing called DuckDuckGo that quickly led me to Affinity Photo.

Affinity Photo is a relatively new image editor that got started in the Mac world and, as of November 2016, is also available for 64 bit Windows systems. Affinity has snagged dozens of positive reviews and, unlike Photoshop, is reasonably priced. I decided to give myself a little Christmas present and bought Affinity Photo.

The Affinity Windows download file is large: over 200 megabytes. Affinity Windows depends on  .Net 4.6.2 which is also installed if it’s not on your machine. It took a few minutes to suck down and install all the required bytes but things went smoothly and I eagerly started the program.

Before relating my impressions of Affinity Photo I will describe my binary image format philosophy. Image editors typically create and manipulate vendor specific proprietary binary image files. Binary image files like PSDs, NEFs, DNGs, and now Affinity’s AFPHOTOs, have a nasty tendency to evolve on vendor whim. This poses fundamental long-term image storage problems. Even if you conscientiously backup and archive your original image files you may discover, a decade hence, that you can no longer load them with current software. I hate this! Photography is for the ages, not the marketing cycles of software and camera companies! If you have ever wondered why the lowly JPG image format still reigns supreme despite its abundant technical deficiencies stop wondering. The JPG format is an open and well described eight-bit channel format. Any competent programmer can write software to read and write JPGs. The same holds for TIFs, PNGs and a few other open formats. This is not true for vendor dominated formats. The specifications, even if disclosed, can change on a moment’s notice.

How can photographers deal with transient binary image formats? There are two basic approaches. You can convert all your images to an open image format. Some photographers convert camera RAW files to high bit TIFs. Converting large numbers of image files is a tedious and resource hungry process but it’s probably the best bet for long-term storage. I use the second lazier approach: maintain at least two independent image programs that can read and write the binary image formats you work with. I use Nikon cameras; they crank out proprietary NEF binaries. Currently, I have four programs on this machine that can read NEFs: PWP, Lightroom, Affinity and ThumbsPlus. I will tolerate proprietary binaries if and only if I have options. Don’t let software and camera companies box you in.

I started using image editors about fifteen years ago. My first editor came with my first digital camera: a one megapixel HP. I cannot remember the name of this program; I only used it long enough to discover its appalling deficiencies. Within a week I had purchased my first version of Photoshop Elements (PE). I was happy with PE until I encountered posterization (read the link for the gory technical details). Posterization wreaks prints and it’s easy to posterize eight-bit channel images. The answer then, as it is now, is to increase your working bit depth. Adobe recommended upgrading from PE to full Photoshop. Why fork over $70 bucks when you can fork over $500? Photoshop Elements has a long history of half-assed support for sixteen-bit channel images and the reason is painfully obvious. If Photoshop Elements fully embraced sixteen-bit channel images there would be very little need for full Photoshop. You could save yourself hundreds of dollars. Adobe decided not to compete with themselves and adopted the time-tested pseudo-monopolistic practice of sodomizing the customer. I did not embrace the butthurt! I started looking for low-cost programs that properly handled sixteen-bit images. It didn’t take me long to find PWP.

This early experience shaped my entire image processing approach. Instead of adopting a single monolithic “industry standard” program and joining the nerd herd I decided to go my way and use many small programs. Instead of a Goliath, I went with many Davids.1 When you take the David approach interoperability moves to the top of the stack. The output of one program must effortlessly become the input of another. How programs play together matters. Additionally, when you apply the David approach, you never look to completely replace your tool set. General purpose tools like Affinity may be able to do all the things more specialized tools can do but probably not as efficiently or as well.

So, before adding Affinity to my trusted tools I asked:

  1. Does Affinity play nice with others?
  2. Is Affinity’s user interface (UI) tolerable?
  3. Does Affinity streamline common tedious tasks?
  4. What new capabilities does Affinity offer?

With these points in mind let’s look at Affinity Photo.

Does Affinity play nice with others?

One of the first things I look for in image processors is tolerable loading times. Part the reason I’ve never been able to stick with full Photoshop is because it takes forever to get the damn thing up. Affinity on Windows easily beats full Photoshop but it’s still slower than good old C coded PWP. PWP comes up in a flash. It’s one of the many reasons I stuck with it for over a decade. Affinity’s loading speed is comparable to GIMP, Photoshop Elements and Lightroom: fast enough to not drive me crazy.

After loading Affinity, I immediately started testing the program’s ability to read and write sixteen-bit TIF files. The basic single layer sixteen-bit TIF file format is one of the best supported lossless image formats. It’s often the only way to move information from one program to another without trashing bits. JPGs are universal, but every time you write a JPG you lose data: that’s the lossy part of JPG compression. Lossy image formats are fine for the web and final presentation but are a total disaster for image editing. Affinity can read and write sixteen-bit TIFs. It can also read and write a number of other important formats like Photoshop Elements PSDs. Affinity converts PSD layers to AFPHOTO layers. It also handles JPGs, PNGs and many RAW formats like Nikon’s NEFs. Affinity plays well with others.

Is Affinity’s user interface UI tolerable?

Once I had satisfied myself that I could slosh bits through Affinity I started evaluating the program’s user interface. UIs have ruined many editors. I’m immediately suspicious when reviewers start lauding a program’s UI before spending a few hundred hours using it. UIs either help or hinder. Affinity’s UI is decent. If you have ever used a layer oriented image editor you will quickly adjust to how Affinity works. I strongly recommend watching the Affinity tutorial videos; they are among the best video tutorials I’ve seen and quickly show what the program can do.

Once Affinity is loaded it’s pretty zippy. Common image handling operations are fast enough to fly under my annoyance radar. Image processing can be very demanding. Don’t expect to stitch 500-megabyte panoramas from original RAW files instantly. With current hardware and software, some things will take time. It’s fair to say that Affinity’s performance compares favorably to other image processors. I can put up with Affinity’s user interface.

Does Affinity streamline common tedious tasks?

After playing with Affinity for a few days I used the program to help restore some old scanned slides. Old pictures are always damaged; they all need a bit, or a lot, of retouching. The problems most people associate with old pictures, tears, color changes, and loss of tone are usually easily fixed in most editors. The biggest job is removing thousands of scratches, spots, and stains. Most restorers give up and crop or blur away such defects but I’m with Lady Macbeth: “out, out damn spots.” Any tool that helps me hunt down and exterminate spotty pests will be lovingly embraced.

The Affinity inpainting brush works a lot better than the corresponding Photoshop Elements healing brush. In particular, it crosses linear backgrounds, buildings, fabric patterns, and so forth without unduly destroying detail. Removing long linear scratches that cross regular structured detail is a soul draining chore. Whenever I see such defects I typically give up and find another picture to restore; I have a big backlog of scans awaiting restoration! This slide of the southern end of Beirut Lebanon, taken by my

I am still exploring the Affinity Photo image editor. I used it to restore this scan of a Kodachrome slide my father shot from a hotel window of the south coast of Beirut Lebanon in 1968. The Continental Hotel is visible in the lower left corner of this image. My mother often stayed in the Continental when she visited me in Beirut. I fondly remember having continental breakfast in the Continental. The original slide was overexposed and covered with splotches and sky fingerprints. The retouching tools in Affinity Photo are better than corresponding tools in Photoshop Elements. I particularly like the Affinity inpainting brush; it works well on textured and linear subjects. I was able to remove long scratches cutting through the buildings in this image without unduly wreaking building detail. I also used the inpainting tool to remove a cutoff street light and a car it was shading on the bottom of the image. It's easier to remove objects with Affinity Photo than it is in Photoshop Elements.

I am still exploring the Affinity Photo image editor. I used it to restore this scan of a Kodachrome slide my father shot from a hotel window of the south coast of Beirut Lebanon in 1968. The Continental Hotel is visible in the lower left corner of this image. My mother often stayed in the Continental when she visited me in Beirut. I fondly remember having continental breakfast in the Continental. The original slide was overexposed and covered with splotches and sky fingerprints. The retouching tools in Affinity Photo are better than corresponding tools in Photoshop Elements. I particularly like the Affinity inpainting brush; it works well on textured and linear subjects. I was able to remove long scratches cutting through the buildings in this image without unduly wreaking building detail. I also used the inpainting tool to remove a cutoff street light and a car it was shading on the bottom of the image. It’s easier to remove objects with Affinity Photo than it is in Photoshop Elements.

father in 1968, is typical of many images in my backlog. There were dozens of long linear scratches running through the buildings. It would have taken hours to fix them with PE. All it took was a few passes with Affinity’s inpainting brush to remove them. I was impressed. This single tool significantly speeds up restoring scratched and spotted images and justifies Affinity’s purchase price all by itself.

Another Affinity tool that streamlines common image processing tasks is the Affinity panorama tool. Most modern image editors have fairly decent panorama tools and building a panorama is easier than it used to be. In the image editing Dark Age, you had to manually select control points and master blend masks to build decent panoramas. It could take hours to align a single image. Current editors use effective automatic control point detection and advanced blending algorithms. In most cases, it’s a simple matter of using good capture technique followed by loading the individual images into a panorama tool to generate decent to excellent results.

We are living in a panoramic golden age but there are still problems. I shoot entirely in RAW because RAW preserves the most information and affords the greatest post processing options. Panoramas often encompass scenes of high contrast. Image tones will vary from extremely bright to very dark. It’s not uncommon for ordinary panoramas to span twelve or more stops of dynamic range. When processing high dynamic range pictures it’s extremely advantageous to do all your work on sixteen-bit or thirty-two-bit channel images. Blending eight-bit panoramas can release the posterization Kraken; trust me, you don’t want that monster savaging your scenes.

Unfortunately, the Photoshop Elements panorama tool is inherently eight-bit. This means I must do all my major tone adjustments in Lightroom before panorama stitching. Adjusting the tones of a single image is tedious, doing it for many panorama frames is cruel and unusual punishment. Adobe’s answer is always the same; give us a lot of money and we’ll release you from eight-bit Hell! Lucky for us Affinity gets us out of eight-bit panorama Hell for a lot less.

The following panorama of the mountains near the eastern entrance of Glacier National Park was directly generated from Nikon NEF RAW files. All feature detection and blending calculations were high-bit. Tone adjustments were aided by regular tone mapping. Tone mapping is like an automatic Zone System. Compared to what I used to put up with ten years ago Affinity panorama building is almost as easy as scanning scenes with an iPhone. Affinity significantly streamlines routine retouching and panorama building.

Looking west from just outside the eastern side of Glacier National Park near Saint Mary. The weather was grim and dark, just the way I like it, when I braved the rain to snap the frames that went into this panorama. I built this panorama directly from Nikon NEF files in the Windows version of Affinity Photo. My favorite image processor, Picture Window Pro, is being retired and I am exploring alternatives. I rather like this result.

Looking west from just outside the eastern side of Glacier National Park near Saint Mary. The weather was grim and dark, just the way I like it when I braved the rain to snap the frames that went into this panorama. I built this panorama directly from Nikon NEF files in the Windows version of Affinity Photo. My favorite image processor, Picture Window Pro, is being retired and I am exploring alternatives. I rather like this result.

What new capabilities does Affinity offer?

So far, the features I’ve discussed are common to most image editors. Does Affinity offer anything new or special? There is one Affinity feature, the FFT (Fast Fourier Transform) Denoise filter, that greatly mitigates one of my long-standing retouching nightmares: regular patterns.

Many old portraits were printed on patterned paper. The following is a crop of an old (1935) baby picture of my mother.


My mother as a seven-week-old baby. This 1935 picture was printed on patterned paper. Patterned paper often adds luster and depth to photographs but it also makes it more difficult to retouch them. The Affinity Photo FFT (Fast Fourier Transform) Denoise filter can remove regular patterns without unduly softening images.

As you can see the entire picture is covered with tiny regular hexagons. Patterned prints were popular in the early and mid-20th century. The pattern adds depth and luster and has the nice side effect of making prints difficult to copy. Patterns also make retouching difficult. Retouching spots and scratches on patterned backgrounds tends to make them more, not less conspicuous. If only there was some way to remove the damn pattern before retouching. Affinity’s FFT Denoise filter does just that.

I applied the FFT Denoise filter to my mother’s baby picture and then ran through my regular retouching regime: see the following before and after diptych.

For some restorations, the ones that please or annoy me, I create a before and after diptych. I want to convince myself that my restoration work was worthwhile. Most of the time the restored image is better but in more cases than I would like the original scan is superior. And, every now and then, I cannot decide which one I like the best. This rendering of an old faded patterned print of my mother as a baby is one of those images. The original print is on patterned paper. The pattern imparts a quality that the restoration lacks. Ansel Adams once wrote that the negative is the score and the print is the performance. For restorers, the scan is the score and the restoration is the performance. Sometimes the music is glorious and clear and sometimes it's rap – rhymes with crap!

For some restorations, the ones that please or annoy me, I create a before and after diptych. I want to convince myself that my restoration work was worthwhile. Most of the time the restored image is better but in more cases than I would like the original scan is superior. And, now and then, I cannot decide which one I like the best. This rendering of an old faded patterned print of my mother as a baby is one of those images. The original print is on patterned paper. The pattern imparts a quality that the restoration lacks. Ansel Adams once wrote that the negative is the score and the print is the performance. For restorers, the scan is the score and the restoration is the performance. Sometimes the music is glorious and clear and sometimes it’s rap – rhymes with crap!

Affinity Conclusion

Affinity, like PWP, is a great value. The first Windows version is already superior to every version of Photoshop Elements I’ve ever used. It’s not as comprehensive as full Photoshop, but if you subtract the marginal features of Photoshop and keep the essential core elements, you’ve basically described Affinity’s feature set. Affinity is a layer editor but it’s not a Photoshop clone. The UI is completely modern, RAW development is built in, sixteen-bit layers are the default, and useful stack operations like automatic alignment are a click away. Affinity also supports thirty-two-bit HDR file formats and high dynamic range composites. There’s a lot of bang for the buck: strongly recommended!

  1. If you remember what happened to Goliath siding with David doesn’t seem like much of a risk.

Falling Colors Technology a BHSD Crony that needs Competition

BHSD (Behavioral Health Services Division) is a New Mexico state agency that doles out federal and state funds to a variety of small, ostensibly health related, programs. For example, in the state of New Mexico, BHSD runs a program called Synar1 that attempts to cut down on merchants selling cigarettes to minors. One Falling Colors employee characterized the program as “mostly stick and no carrots.” Synar funds a stable of ambush inspectors that descend on merchants hoping to catch them selling to minors. It’s a standard bit of well-intentioned government coercion. If you are wondering what’s in it for the merchants stop wondering: it’s all stick. They lose sales and face fines. If you are wondering why the state of New Mexico supports Synar follow the money. Depending on the dubious statistics compiled by Synar administrators the state could lose millions of dollars of federal grants if the percentage of offending merchants exceeds an arbitrary threshold. Synar, in the twisted minds of state bureaucrats, “generates revenue.”

In addition to saving the state from the unconscionable scourge of teenage smoking BHSD also funds a mishmash of programs to prevent drug addiction, help the mentally ill, subsidize methadone treatments and reimburse psychologists, psychiatrists and other health professionals for counseling and other services. BHSD’s budget for all these operations is, according to Mindy Hale, roughly fifty million dollars per year. In the greater wasteful schemes of government this is small beans, even for New Mexico, but, it’s still fifty million public dollars so it’s not out-of-bounds to ask, what are the taxpayers getting for their money?

If you are naïve enough to think the intended clients of BHSD’s largesse, the teenage smokers, the mentally ill, and the drug addicts, garner the lion’s share of that fifty million dollars you’re probably a statist or a moron, but I repeat myself. Many years ago a wise old wag, when badgered about the high cost of landing a man on the moon, chirped, “None of that money was spent on the moon!” While some of BHSD’s fifty million is directed to clients, the moon, the lion’s share goes to contractors, service providers, and BHSD internals. Whether the state of New Mexico and the federal government are getting good value for their money is debatable; what’s not debatable is that some IT service providers are doing very well from themselves.

Two IT providers consume a significant share of BHSD IT funds: Optum New Mexico and Falling Colors Technology. The founders of Falling Colors, Mindy Hale and Pamela Koster3, claim Optum bills the state of New Mexico roughly four million dollars per year for the onerous job of cutting checks. It’s important to understand that Optum is not dispensing their own money. They are simply managing a pool of funds that are replenished by state and federal tax dollars. Yes, it takes money to manage money. You have to pay auditors, comptrollers, and other financial professionals to make sure the funds are not redirected into questionable pockets. Surely you don’t think New Mexico’s corruption free government would abscond with unwatched dollars?


The Falling Colors Technology Logo. This logo was designed by a competent graphic designer. I’ve observed an inverse relationship between the quality of company logos and the products and services they offer.

Still, four million seems a bit steep for providing a routine service that any experienced financial entity like a bank could do, and to the state’s credit, they have recognized this and are in the process of renegotiating Optum’s four million dollar fee. Optum has responded with a “this isn’t worth the damn hassle” attitude. If they cannot get their four million they’re threatening to pull out of the state and cede the check cutting business to others. How much of this is hardball negotiating, corporate whining, or even the truth, is hard to determine. The only thing that seems certain is that there is a business opportunity for an IT provider if Optum makes good on their threat and leaves New Mexico.

Falling Colors Technology, a little company that is already extracting about one million dollars per year from the state, is angling to take over Optum’s fund disbursement role. In standard insider crony fashion, they hope to keep this transfer quiet and elude potential competitors. Why go through all that messy inefficient public bidding? There’s only one problem with their business plan. Falling Colors has absolutely no experience managing funds. There is nobody on their staff that could be considered a financial professional. They are planning to hire staff, but I have to wonder why BHSD, and the state of New Mexico, are considering flushing millions of dollars through an entity that has no financial expertise and has already received a formal letter of warning for shoddy IT work.

Instead of branching out into lines of business that they have no experience with Falling Colors efforts would be better invested in fixing their core problems and they have lots of core problems. Let’s look at what nearly one million dollars or public funds per year buys from Falling Colors Technology.

Your one million is buying a few unreliable, crash prone, insecure, low volume websites geared towards BHSD staff and service providers. When I first ran the following SQL query on the database that backs many Falling Colors websites I was alarmed at the results.

SELECT  iq.WeekNumber ,
        AVG(iq.ErrorCount) AS AvgWeekErrors ,
        MIN(iq.ErrorCount) MinWeekErrors ,
        MAX(iq.ErrorCount) AS MaxWeekErrors ,
        STDEV(iq.ErrorCount) AS StdDevWeekErrors
                    COUNT(1) AS ErrorCount ,
                    MIN(DATEPART(iso_week, TimeUtc)) AS WeekNumber
          FROM      dbo.ELMAH_Error
        ) iq
GROUP BY iq.WeekNumber

Falling Colors websites were crashing about twenty times per day. On some days the crash count exceeded fifty. I thought to myself, “If this doesn’t dramatically improve this little company is doomed.” I’ve worked with lots of bug infested software over my long career but twenty to fifty crashes per day, distributed over a few dozen users, was an entirely new level of unreliability.

Why is it so bad? The developers at Falling Colors, like developers everywhere, bitched about “inherited code.” Basically, this means they’re working with code that they didn’t entirely write themselves. Developers complaining about inherited code is so common that software managers rightly label it whining. Software developers bitching about inherited code is like civil engineers griping about inherited bridges. The world is not created fresh every day. The inherited code base is a source of problems but the main reason Falling Colors exhibits such a high crash rate is simply a lack of formal quality control.

Testing at Falling Colors is mostly performed by one beleaguered Business Analyst. She runs through a series of basic web page checks after significant new releases. This is a very low standard of testing for modern software development. Falling Colors does not practice many common quality control techniques. For example, most development environments support a variety of internal testing tools. Falling Colors is a Visual Studio shop and Visual Studio has built-in unit testing tools and supports a host of third-party add-ons. Developers focused on quality, spend as much time implementing internal units test as they do writing production code. There is an entire coding regime known as TDD that strongly promotes writing tests before you write software to pass the tests. At the end of June 2016, there were precisely zero internal unit tests in Falling Color’s code base. In addition to missing internal unit tests, there were no repeatable or scripted tests, no large case tests, and no stress tests. Lack of formal testing combined with misplaced developer optimism is a recipe for high error rates and Falling Colors is really boiling that pot.

Buggy insecure low volume websites are a dime a dozen. There’s a lot of crap out there. If Falling Colors cranked out standard public websites we would click on and ignore their rubbish. Unfortunately, being intertwined with BHSD, the users of Falling Colors websites do not have the option of clicking on. Making things worse, Falling Colors hosts a substantial amount of HIPAA protected information.

HIPAA is a set of federal guidelines that outline how health providers and their contractors must protect information that might be used to uniquely identify people. HIPAA penalties, for both providers and individuals, are severe if protected information is either accidentally or willfully disclosed. You can go to jail for exposing HIPAA protected information.

HIPAA guidelines list common data elements that must be protected. There is only one way to properly protect these elements: full element encryption. Every single data element should be encrypted and the keys should be rigorously guarded by a small number of individuals. Even developers, especially developers, should never see the unencrypted information. This is the way things should work, but, if you have followed the news about an unending stream of website hacks and data breaches, you’re probably aware that this is not how it works in the big nasty world.

It’s certainly not the way things are working at Falling Colors. With the exception of website passwords, which were only hashed in the last year,4 HIPAA data is stored in plain, ready to hack, text. If I were an IT savvy methadone user in the state of New Mexico I would be reluctant to disclose personal information to CareLink, TreatFirst, Prevention, or any of the Falling Colors managed programs. One HIPAA breach and your methadone habit is on Facebook.

Falling Colors is fully cognizant of their shabby security and are planning to eventually fix it. They’re taking steps to harden their websites and tighten up their loose databases but they are not, as of the end of June 2016, pursuing a full element encryption regime. Anything short of full element encryption is just putting lipstick on the security pig. Currently, Falling Colors is a HIPAA breach in waiting. BHSD would be well advised to insist on an immediate and independent full security audit of Falling Colors systems!

BHSD should also demand a fair and public RFP (Request for Proposal) process when seeking IT contracting services. Currently, some individuals in BHSD, in connivance with Falling Colors, are delicately crafting RFPs that are designed to exclude Falling Colors competitors. This is a blatant abuse of the public RFP process and the perpetrators should be ashamed of themselves. Crony state contracting may be business as usual in New Mexico but it is not in the interests of the pubic, BHSD, or even Falling Colors. Cronies without competition invariably turn into parasites and BHSD, which recently suffered a bedbug outbreak in their Santa Fe offices, has enough of those.

  1. The Synar program is named after Congressman Mike Synar of Oklahoma. How many tax dollars would be saved if it was illegal to name things after politicians?
  2. The founders of Falling Colors are questionable sources; their claims should be subjected to a high standard of scrutiny.
  3. Yes, incredibly user passwords were stored as plain text for years. This is monumentally inept.

Euphoria: Review

euphoriabookLily King’s excellent new novel Euphoria derives from an incident in Margaret Mead’s life. Margaret Mead achieved fame as a young woman with her 1928 book Coming of Age in Samoa. Usually, scholarly works do not attract mass audiences but the good bits of Mead’s book read like soft-core porn and introduced the radical idea that sexual behavior in adolescence may have strong cultural overtones. Nowadays we lump such deep revelations in the “No Shit Sherlock” category!

Some of this is brilliantly alluded to in Euphoria. The strong female character (Nell) had written a popular book that her husband (Fen) envied and peers deprecated. The three main characters, Nell, Fen and Bankson, are social anthropologists doing field research in New Guinea in the 1930s. All three have serious doubts about what they are doing. They obliquely acknowledge the sheer conceit of foreign neophytes descending on an unfamiliar culture and, without speaking the language, being familiar with the environment, or knowing jack shit about the local economy, “decode a people,” in a few short months.

Early social anthropologists liked to cast themselves as “anti-missionaries.” Euphoria echoes this sentiment in a few passages. Anthropologists were there to learn about a culture not obliterate it with Christian sky fairy fantasies. The admirable agnosticism of social anthropologists, you cannot take one myth seriously when you have studied hundreds, is still blunted by an infantile dedication to the absolute primacy of culture. We are not animals but Rousseauian “blank sheets” that our culture scribbles on. Many contemporary social scientists of the left, “Are there any other kind?” bitterly dismiss criticism of this ludicrous axiom as “White Privilege.” The social anthropologists of Mead’s day may have been a bit delusional and naïve, but they didn’t create utter bullshit like Critical Race Theory or, I kid you freaking not, Microaggression Theory.

My only complaint about Euphoria is that it romanticizes a “soft pseudo-science.”  Anthropology has two major branches: physical and social. Physical anthropology deals with things like comparative anatomy, radioisotope dating, geological layering, and DNA; it is very much a real science! Social anthropology is all squishy, personal, and non-verifiable; it is not a real science.  It’s not even, to use Rutherford’s exquisite burn, “stamp collecting.”  Euphoria makes this all clear to scientifically literate readers. In many ways, Euphoria is a better introduction to Mead than Mead herself: recommended.

How Dante Can Save Your Life: Review

dantesavelifeDante’s Commedia may save your life, but I wouldn’t bet on this book doing the same. How Dante can Save Your Life is both interesting, annoying, and ultimately disappointing. If I had stopped in the middle of this book I would have rated it higher. It certainly started out well but, what can only be described as the author’s whining, slowly degraded my view.

The seriously religious do not perceive reliable approximations of reality. They are drifting with their phantoms, looking for things that cannot be rationally demonstrated to exist. Though I admire the discipline and restraint many intelligent religious people exhibit it’s simply impossible to take their cherished beliefs seriously. Those of us that demand verifiable reasons for accepting propositions will never accede to the belief that the purpose of life is to return to God. The author repeatedly returns to this theme as he reads Dante and shares his own life.

The author, Rod Dreher, and his family endured serious grief. The best part of this book is his retelling of his sister’s death from cancer in her forties and her community’s outpouring of love and support. I don’t think the author would disagree that his sister’s death, and the book he wrote about it, greatly contributed to his career as a writer.

It was at this point the author had a crisis that lead to Dante. Cemeteries are for the living not the dead, as is myth. Dante created an extravagant and great myth and like all great classics his epic poem has much to offer readers in any age. The author uses it as a type of self-help book to work through his family problems.

His problems are common. Many of us have seen loved family members die horribly, many of us have suffered crippling injuries, many of us have distressing careers, and many of us have family members that are struggling with themselves and us. Yet some of us are tough enough to see life as a random clash of blameless atoms and that whining will not fix anything.

In Dante’s view, this is the great sin of pride that unchecked leads to Hell. Lucky for us Hell and Heaven are myths. Art, however great, is not reality.

Incoherent Interstellar


Don’t look for plot points in Black Holes!

Christopher Nolan has made some excellent commercially successful films like Inception, The Dark Knight, and Mememto. When word got out that he was working on a serious science fiction film expectations got out of hand. Those of us old enough to remember the first screenings of 2001 thought maybe, just maybe, we might see something comparable to Kubrick’s masterpiece. Well I am sorry to report that Interstellar is no 2001; it’s not even a Blade Runner or Nolan’s own Inception. Interstellar is a giant, moderately entertaining, incoherent mess.

Much has been made of Kip Thorne’s involvement with Interstellar. The Black Hole depicted in Interstellar is based on General Relativity calculations. Apparently the CGI animators uncovered something unexpected in how a spinning Black Hole drags light around it. We are told the Black Hole in Interstellar is the most technically accurate ever seen in the movies. Unfortunately, it’s the only technically accurate part of the whole damn movie.

There is no point going over the boners in Interstellar. They are numerous, annoying, glaring, and embarrassing. If you must torture yourself the Bad Astronomer has catalogued Intersellar’s most egregious violations. Now I know what you’re thinking. John, it’s a freaking sci-fi movie, lighten up! You’re going on like a character on the Big Bang Theory.

My answer to such ankle biters is simple.  Science fiction is as an Art Form.  An art form has two equal components: art and form!  Art, without form, is usually effete garbage, and form, without art, is an income tax return. Greatness only emerges when the two are in perfect balance. The first step in achieving balance is honoring the basic elements of the form.  So what are the basic elements of the serious science fiction form?

I’ve gone over this before but clearly you weren’t paying attention. Serious science fiction differs from fantasy in the way it treats reality. Serious science fiction is allowed a few departures from physical reality. You can assume wormholes connect different parts of the universe and that it’s possible to safely traverse them but that’s it cowboy!  Outside of wormholes it’s physics as usual! This is the science part in science fiction. Great science fiction strictly follows this mandate. Take 2001, the exemplar of how this is done, anything non-obelisk related in 2001, including HAL 9000, is completely and absolutely plausible. The obelisk is the singular departure from reality in 2001.

Interstellar bombs because it often departs from physical reality for the basest of reasons: advancing a clunky nap inducing plot. I cannot abide such transgressions. It’s like watching a prima donna ballerina stop in the middle of Swan Lake, drop her tutu, and take a dump on stage. Now prima donna dumps may be entertaining but they’re not ballet. Similarly, Interstellar has its good parts but it’s not serious science fiction. In my opinion Interstellar is a bigger disappointment than Transcendence and it makes we wonder if anyone in Hollyweird is capable of making serious science fiction these days.

Pandora’s Star: a Grand Sprawling Entertainment

pandoras-starIn my fevered youth I was an avid fan of science fiction but as I crossed the Rubicon of middle age I read less and less of the genre. For years I preferred nonfiction: mostly science with a smattering of history and biography. Then, about five years ago, I started reading science fiction again.

What kept me away? Most of the authors of my youth had died: Heinlein, Clarke, Asimov, Bradbury, Anderson, Herbert and Dick – all gone! I had to find new – to me – authors. I knew and loved Neal Stephenson, the author of Cryptonomicon, Diamond Age, Snow Crash, and Anathem, but after four or five thousand pages of Neal it was time to move on. My first post Stephenson, new to me, author was Iain M. Banks.

Banks specialized in what’s often called alien infested space opera. His universes are overflowing with life. Aliens are everywhere, inhabiting niches that most biologists would poo-poo as impossible. I prefer more empty and serene universes but Banks’ books like The Algebraist, Surface Detail, and Consider Phelbas whet my appetite for his crowded milieus. I was looking forward to following Banks for years but it wasn’t to be. Iain M. Banks died of cancer, at the ridiculously premature age of 59, leaving fans all over the word wanting. There is no greater outrage than mortality!

After Banks’ death I looked around for other operatic authors; it didn’t take me long to find Peter F. Hamilton and Pandora’s Star. Pandora’s Star is a huge, highly entertaining, example of what I call restrained science fiction.

Restraint is what separates science fiction from fantasy. Fantasy tolerates an anything goes mishmash of logical inconsistencies. Literature has a term for this: Deus ex machina. Modern fantasy is a veritable high-tech Deux ex machina factory churning out beta-male vampires that take implausible romantic interests in their food, prepubescent wizards jerking off in boarding school, (Oh it happened), fireproof maximum babes with pet dragons, and armies of oxymoronic brain-dead brain eating zombies. Only scripture piles on more logical nonsense than fantasy.

I enjoy fantasy as much as the next nerd but it’s not science fiction. Proper restrained science fiction admits a small number of “magic suppositions” but otherwise rigorously adheres to what we know about physical reality. You need some damn science in your science fiction people. The universe of Pandora’s Star presumes a few impossibilities; it assumes wormholes and faster than light (FTL) travel. FTL is a standard plot enabling device. Civilizations spanning thousands of light years simply cannot exist, on human time scales, without it. Pandora’s Star makes three more “impossible” assumptions which I will not divulge because ruining good books should be a capital crime. Aside from these allowed departures from reality the universe of Pandora’s Star sticks to scientific bricks and unfolds with lovely consistency.

Most science fiction writers make impossible assumptions but great ones take them in unexpected directions. Consider wormholes. Wormholes have been a staple of science fiction forever. Three, not entirely restrained, TV series had contemporary soldiers marching through them every week for years. They’ve popped up in every two-bit tale that needed quick point A to B plumbing. Wormholes are a cliché and their presence often signals unimaginative hackery. If you’re going to confront me with wormholes you better damn well show me something new or I’m outta your lame book. The opening chapter of Pandora’s Star is one of the most humorous and imaginative use of wormholes in science fiction. A few pages later Hamilton sends trains through wormholes. It’s Sheldon Cooper’s wet dream: trains in space. I had to smile and keep on reading. Pandora’s Star is a big book, almost one thousand pages, but like all great sprawling books it’s too damn short. Fortunately, there’s a second book, Judas Unchained,  that keeps the story rolling. I haven’t had this much fun with a science fiction since Dune. It’s that good.


JOD Update: J 8.02 QT/JHS/64 bit Systems

JOD LogoI have pushed out a JOD update that makes it possible to run the addon on J 8.02 systems. In the last eight months a QT based J IDE has been developed that runs on Linux, Windows and Mac platforms. To maintain JOD’s compatibility across all versions of J from 6.02 on I had to tweak a few verbs.

The only significant changes are how JOD interacts with various J system editors.  I have tested the system on Windows  J 6.02, J 7.01, J 8.02, and Mac J 7.01 systems. I expect it will behave on 32 and 64 bit Linux systems from J 7.01 on, but I have yet to test these setups. My hardware budget limits my ability to run common variants of Windows, Linux and Mac systems.

JOD is still not complete; that’s why the version number has not been bumped past 1.0.0. The missing features are noted in the table of contents of jod.pdf, (also available in the joddocument addon), with the suffix “NIMP,” which means “not implemented.”  I will fill in these blanks as I need them. Most of the time JOD meets my needs so don’t hold your breath.

If you want to make your own additions to JOD the program and documentation source is available on GitHub. Just follow the links and enjoy.

As a last note: I will be at the J Conference in Toronto (July 24 and 25, 2014) where I will be giving a short presentation and handing out a few hardcopy versions of the JOD manual to one or two JOD fans.