Saturday, August 22, 2026

Tides of Light by Gregory Benford (2009)

image.png

This book continues the grueling saga of human endurance against overwhelming cosmic forces with brilliant hard-science worldbuilding and the continued relentless gloom that suffocates the narrative momentum in the books of this series.

Benford’s imaginative scope and hard science are great.  His intricate depiction of the cold, mysterious"Mech" civilization and the introduction of stunning new galactic entities are a particular delight. I also loved the interstellar colossal tree, a conceptual nod to Freeman Dyson’s comet-eating tree constructs and Larry Niven’s Yggdrasil in "Rainbow Mars (1999). This biological marvel demonstrates Benford’s genius for hard-SF concepts; unfortunately, these imaginative triumphs struggle to offset the oppressive emotional tone.

The overwhelming misery endured by the surviving humans turns what should be a grand space opera into an agonizing ordeal. Rather than facing villainy born of simple malice, these characters remain crushed by indifferent, hyper-advanced species and bureaucratic cosmic structures; this unending suffering severely diminishes my enjoyment of the story.

This oppressive atmosphere serves as a stark reminder of why I abandoned Benford’s catalog in the last millennium: his stellar technical concepts cannot overcome a bleakly demoralizing experience.

3/5 Stars

Soldier of Fortune by Joshua Dalzelle (2013)

image.png
I am a little embarrassed to admit I read this book. I think 9- or 10-year-old me would have enjoyed it, but 14-year-old me (or anyone older) would find it puerile and poorly written.

The story has a stereotypical motley crew of big-hearted, ethical warriors fighting for justice in an evil galactic civilization. They are composed of multiple species, star trek style, with unique species-specific capabilities but totally human values, attitudes, civilizations, etc. This adventure throws them into impossible odds and close combat.

The plot fails because of contrivance, an inconsistent magic system, a ridiculous economics setting, and unrealistic politics. World-building is poor throughout, and I never manage to suspend disbelief or care about the characters.  1/5 Stars.

Across the Sea of Suns by Gregory Benford (2004)

image.png

I started this book and discovered in a few pages that I had read it in 1984. I remembered the whole story so I put it down.  Benford’s technical assurance, including his command of orbital mechanics, radiation physics, and alien biochemistry, gives the novel an authentic familiar Benford texture. Yet Benford's awesome hard science alone cannot soften the narrative’s crushing accumulation of depressing loss.

Benford braids two strands across this Galactic Center installment. On Earth, ocean organisms reveal themselves as hostile technology. One type are swarming predators; the other are calculating skimmers that manipulate humanity into a nuclear exchange. The war destroys our high-tech civilization. Out in space, Nigel Walmsley pursues ancient civilizations, edging toward answers to the Fermi paradox only to open a deeper mystery at a terrifying scale. I am still uncertain what governs where this coercive galactic civilization originated or why they destroyed the high-tech civilizations on earth and the Nigel encounters in the story.

The novel’s power lies in Benford’s refusal to lean on easy villainy. The skimmers act not from malice, but like bureaucrats executing a mandate; destroying one changes nothing about the policy. Walmsley serves not as a hero winning victories, but as a witness accumulating evidence, rewarded only with curiosity rather than any agency, triumphs, or insights.

Ultimately, my response splits between admiration and appetite. I respect the great imagination and science, but I lack the appetite for four hundred pages offering minimal relief from despair. The book is an accomplished, punishing read that rewards patience with insight, rarely but no comfort. 2/5 Stars


Sunday, August 16, 2026

Me and the Cloud Part II: Tailscale

image.png
I am very late to the Tailscale party.

I have been messing with Linux, networks, VPNs, firewalls, NAT and remote machines for decades. I have built and maintained all sorts of elaborate kludges to make computers talk to each other.

Then I installed Tailscale.

Wow!
This experience is how networking is supposed to work.
Install it. Log in. Your machines are connected privately and securely.
That's basically it.

No port forwarding. No firewall gymnastics. No public IP address. No VPN server to maintain. No certificate archaeology. No mysterious configuration files that worked perfectly until you touched them six months later.

Tailscale just puts your machines on a private network -- elegantly.

 # 
 
I have a free, powerful Oracle Cloud VM.
  • 24 GB RAM
  • Four ARM CPUs
  • 200 GB storage
  • $0/month

I installed Tailscale on it, then installed SFTPGo.

Suddenly I had a private cloud file server.

I installed Tailscale on my Windows machine, Mac and phones. The apps are brain-dead simple. A few minutes later, everything could reach the Oracle machine over my private Tailscale network to up- and download files.

SFTPGo provides SFTP, WebDAV and a web interface, so I can access the files from my computers, phones or a browser.
  • 200 GB of private cloud storage.
  • Accessible everywhere.
  • Free
  • No exposure to the public Internet.
image.png
Tailscale solved another problem.

My free-tier GCP machine now charges for external IPv4 addresses.

So I installed Tailscale --  Problem solved.

No public IP needed. My instance is simply another machine on my private network.
The remarkable thing is the lack of remarkable things Tailscale has simplicity and elegance instead of exotic networking capabilities. There is no drama.

The configuration is elegant and intuitive. Defaults are sensible. The mobile apps are simple. Everything works as expected or even better than expected.

After spending time in the public clouds, this simplicity is shocking.

Oracle: 200 GB of storage for free but makes me learn about compartments, availability domains, OCIDs, instance IDs, VNICs and approximately seventeen different kinds of PEM keys.

Tailscale has a button. Press it and everything works.
 
I am late to the party.

But Tailscale may be the best thing I've discovered in years.

Mitch in the Clouds: Cheaper than Dirt, Frustrating as Hell

image.png
I have been freeloading on the public cloud since free tiers first appeared.

Professionally, I have happily spent other people's money on AWS, GCP, Azure and, more recently, Oracle Cloud. But for my own purposes, I have always been attracted to the cloud's most beautiful feature:

Somebody will give you a Linux machine for free.

For decades, having a publicly addressable Linux box has been remarkably useful. It is easier than punching holes through a home router, dealing with NAT, dynamic DNS and port forwarding, and then wondering why something stopped working six months later.

A free cloud VM can be:
  • A network proxy.
  • A VPN endpoint.
  • A 24x7 cron machine.
  • A lightweight web server.
  • A service monitor.
  • A remote shell.
  • A place to run some weird little Unix job that needs to stay alive forever.
For a long time, Google was the clear winner.

I was an early Gmail beta user and, through friends at Google, got an unusually early look at the company's consumer services. I used practically everything: Gmail, Drive, Photos, Notes, Google Voice, Hangouts and their various predecessors and successors. I have written about my adventures with VOIP and video conferencing.

Google's cloud was good.

For years, Google offered a remarkably useful Always-Free tier. Its command-line tools were excellent, and the GCP interface generally made sense to Unix users rather than web pages full of menus and buttons.

AWS was different.

I have used AWS extensively for work and was comfortable with it. S3 was—and remains—excellent. AWS has enormous breadth and an ecosystem that effectively became the definition of "cloud."

But the AWS free tier was never compelling. AWS wants you in the GUI console, whereas GCP is command line friendly.

Then there was Azure.

My early Azure experience, around 2011–2012, was painful enough to leave scars.

Linux support was puke-awful. Some services seemed to require XML configuration for things that Unix had solved with a tiny config file and a few shell commands decades earlier.

Azure Subscriptions.

I understand:

  • Accounts.
  • Users.
  • IAM.
  • Machines.
  • Networks.
  • Storage.

Apparently Microsoft thinks we all need an extra, arcane conceptual hierarchy.

Subscriptions.

Eventually I learned enough Azure to limp along. But it always felt like Microsoft's enterprise software culture had been poured over a cloud architecture and allowed to harden.

Oracle Cloud wasn't even on my radar.

For years, Oracle was simply Oracle: expensive databases, enormous enterprise contracts, and software I encountered mostly when some other company had already made the unfortunate decision to buy it.

Then OCI started getting interesting.

Very interesting.

Oracle began offering an absurdly generous Always Free tier. And unlike many "free" tiers, it included things I actually wanted:

Compute.

Memory.

Persistent storage.

Lots of it.

I now have an Ubuntu VM with:

  • 24 GB of RAM
  • Four powerful ARM virtual CPUs
  • Four VNICs
  • 200 GB of storage

It is more powerful than my laptop.

And it costs me nothing.

That's a hell of a deal.

The 200 GB Problem

This is where the public-cloud economics get interesting.

Two hundred gigabytes sounds like an ordinary amount of storage until you try to get it for free.

S3? Great.
Cheap? Relatively.
Free? No.


Google consumer storage? Wonderful integration.
200 GB? Pay up.

The cloud vendors have become remarkably skilled at offering you something that sounds free until you actually try to use it.

The free tier often means:

Here's a tiny amount of the thing you want, plus a generous allocation of six services you don't want, don't understand, and will eventually discover on your bill that they have conveniently enabled for you without telling you.

Google, in particular, has been getting very good at this enshittifcation.

image.png

Google: From Evangelist to Customer

I don't enjoy saying this because I was an enthusiastic Google user for a very long time.

But Google's enshittification has become difficult to ignore.

Products that once seemed almost ridiculously generous now come with restrictions, quotas, pricing changes, product discontinuations, forced migrations, or some new "experience" for which nobody asked.

Just as Lync was probably Microsoft's best video conferencing and VOIP system, so too was Google Hangouts with integrated Google Voice the best all-in-one Video conference + VOIP system. Hangouts was always free!

Google's brand has eroded badly in my eyes.

Meanwhile, Oracle—of all companies—has been moving in the opposite direction on price/performance.

OCI became particularly aggressive around compute and GPU-heavy workloads. The other cloud providers eventually had to respond with their own spectacularly low pricing, sometimes looking suspiciously like they were willing to lose money simply to keep Oracle from stealing customers.

That changed the equation.

And it made OCI's free tier even more interesting to a cheapskate like me.

Unfortunately, there is a catch.

OCI is insane.

Not expensive-insane.

Configuration-insane.

image.png

Welcome to OCI

If AWS is a large city and GCP is a large city with reasonably good signage, OCI is a city whose streets were designed by a committee of civil engineers who refused to speak to each other.

You don't merely have a machine.

You have an instance.

It has an instance ID.

It lives in a compartment.

The compartment lives in an availability domain.

The machine has a VNIC.

The storage has a volume ID.

The storage may be paravirtualized.

Authentication involves PEM keys.

The keys are stored somewhere.

Possibly somewhere sensible.

Possibly somewhere you will not remember.

And there are security lists, network security groups, route tables, gateways, policies, OCIDs and approximately seventeen other nouns that appear to exist primarily because Oracle's architects were forbidden from using a noun twice.

The terminology isn't merely unfamiliar.

It is needlessly granular, verbose, with SHA-256 strings everywhere.

And the configuration complexity often bears little apparent relationship to the thing you are actually trying to accomplish.

The really modern indignity is that even the AI assistants have no clue how to navigate OCI.

Ask an AI chatbot about an OCI error and you may get a beautifully reasoned, technically plausible explanation of a configuration that Oracle does not actually permit.

So now you have:

Oracle's error message.

Your own confusion.

The AI's confident hallucination.

image.png

And somewhere behind all three is an Oracle engineer who apparently understands exactly what is happening.

Probably.  Maybe?

And Yet...

I keep coming back.

Because underneath all the architectural cruft, OCI is offering us an astonishing amount of computing power for free.

For a cheapskate developer, that is difficult to resist.

Oracle may have found the perfect combination:

Give away an extraordinary amount of hardware.

Make the software configuration sufficiently maddening that people question their life choices.

Eventually, "This too shall pass."

Google already demonstrated that "Always Free" can become considerably less "free" on a whim.

Oracle will eventually discover that thousands of freeloaders are running around with 24 GB of RAM and 200 GB of storage and contributing exactly zero dollars to their quarterly earnings report.

When that happens, I will grudgingly pay, migrate, or move on.

image.png

But for now:

  • 200 GB.
  • 24 GB RAM.
  • Four ARM CPUs.
  • Four VNICs.
  • Ubuntu.
  • Public Internet.
  • $0.00.

Cheaper than dirt. Frustrating as hell.

Saturday, August 15, 2026

Kingdoms of Death by Christopher Ruochio (2022)

image.png

This book is an exceptionally dark chapter in Hadrian Marlowe’s journey, yet I found the darkness purposeful rather than gratuitous. Ruocchio subjects his protagonist to sustained torture, humiliation, deprivation, and physical agony, using suffering as a crucible through which Hadrian’s identity and will are forged. I did not enjoy watching Hadrian endure such prolonged misery, but I could see the narrative necessity: the ordeal functions as a classic hero’s-journey descent into destruction and transformation, forcing Hadrian to discover what remains of himself when nearly every external source of strength has been stripped away.

I particularly enjoyed how the novel expands the larger mythology surrounding the Cielcin, revealing more about the alien antagonists and the internal political tensions that complicate their society. Ruocchio also continues to develop the saga’s intriguing treatment of possible futures, with Hadrian’s awareness of branching possibilities increasingly resembling the prescient visions associated with Paul Atreides -- Kwisatz Haderach in Dune. I find the trope effective here because Ruocchio treats foreknowledge less as a convenient superpower than as a source of ambiguity: knowing that multiple futures exist does not necessarily reveal which future will occur, and the distinction between prediction, possibility, and inevitability becomes increasingly important. The final portion of the novel provides a welcome tonal shift, offering a reasonably upbeat transition after the sustained brutality of the preceding chapters.

I did not enjoy the book because it requires me to endure Hadrian’s suffering alongside him. Nevertheless, I found the ordeal well constructed and important to the larger arc of the character and saga. Ruocchio successfully turns degradation into transformation, while simultaneously deepening the Cielcin, expanding the political and metaphysical dimensions of the story, and pushing Hadrian toward a more fully realized understanding of himself.

4/5 Stars

The Nowhere Man by Gregg Hurwitz (2017)

image.png

I loved the first book in Gregg Hurwitz's Evan Smoak series, so I approached The Nowhere Man with considerable enthusiasm. I found the sequel kept the first novel's clean prose, brisk dialogue, and kinetic action. Even so, I found the book less satisfying, because Hurwitz trades ingenious action and covert problem-solving for sustained suffering and psychological torment.

I trace my main frustration to Evan's prolonged torture and the story's excavation of his traumatic childhood. I appreciate psychological pressure in a thriller, especially when a villain attacks a protagonist's identity rather than his body; but I found Evan's anguish burdensome rather than illuminating. I also found the antagonists implausibly dominant: instead of the cat-and-mouse tactics that drew me into the first novel, I watched Evan absorb punishment while superhuman villains piled up victories. I found the late contrivance resurrecting a character who died in the first novel unpersuasive. Rather than a satisfying, well-earned surprise, I felt the resurrection worked as an artificial device for extending the story.

I still enjoyed Hurwitz's thriller machinery: I found the confrontations, dialogue, pacing, and action entertaining, and I still find Evan an appealing protagonist. I attribute my disappointment to the series' direction rather than its execution; I wanted the resourceful, high-stakes thriller that made the first novel fun, with less torture and childhood trauma. I hope the third installment restores that balance, giving Evan room to outthink and outmaneuver his adversaries rather than simply endure them.

3/5 Stars

Context, Pragmatics, Culture, Background, Under-specification in Language

image.png
"Is there water in the fridge?"
"Yes."
"Where? I don't see it."
"In the cells of the eggplant."
     -- Terry Winograd, 

In human language, wants and desires are always underspecified.  It is impossible to list all caveats, all limitations, exceptions.

Language alone, and the current "AI" large language models cannot ever be "psychic" and divine our intentions.  There will always be frustrating communication gaps. Barath Raghavan and Bruce Schneier have proposed yet another AI benchmark to measure the gap between the human's unambiguous intentions and the AI's responses or actions. When we define and measure, we can start to understand better what is needed and engineer solutions. 

To measure is to know.

"I often say that when you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meagre and unsatisfactory kind; it may be the beginning of knowledge, but you have scarcely, in your thoughts, advanced to the stage of science, whatever the matter may be."
    -- Lord Kelvin (William Thomson)






Saturday, August 8, 2026

Trust by Herman Diaz (2022)

image.png

Trust by Hernan Diaz (2022) turned out to be another unexpectedly fantastic read, and a particularly welcome second birthday present from my sister. I have always enjoyed the "Rashomon" narrative device of presenting the same underlying events through competing perspectives, but Diaz uses the technique with unusual structural discipline: each successive account does more than add information; it subtly destabilizes what I thought I understood about the preceding version. The gradual accumulation of apparently disconnected details creates a slow intellectual tension that culminates in a sudden reconfiguration of the entire story. I found the delayed realization especially satisfying because Diaz trusts the reader to recognize the implications rather than announcing them.

I also enjoyed the remarkable depth and breadth of the characters, along with the immersive "slice-of-life" detail of the 1920s and 1930s settings. Financial markets, Manhattan society, domestic life, art, and personal relationships are rendered with enough specificity that I felt immersed in the social world rather than merely observing a historical backdrop. Diaz's prose also contributed substantially to my enjoyment: his writing is controlled, elegant, and stylistically varied, with each narrative perspective possessing its own texture and implied relationship to the truth. I found Trust especially successful because its formal construction and subject matter reinforce one another; the novel asks how wealth, power, memory, and authorship shape the stories people tell about themselves, while its own structure makes me experience the instability of those stories firsthand.

5/5 Stars


We by Yevgeny Zamyatin (1924)

image.png
I was surprised by how closely Zamyatin's We anticipated Orwell's 1984: nearly every major dystopian theme is already present, particularly the conflict between an omnipotent state and the irreducible complexity of human nature. I found Zamyatin's achievement especially striking because he was writing in 1924, before Stalin's regime had fully developed the apparatus he seemed to anticipate. The novel's vision of scientific management, centralized planning, bureaucratic rationality, and socially engineered conformity reads in retrospect like an uncanny prefiguration of the Soviet system that followed. I also recognized a broader pattern: repressive regimes repeatedly exhibit the same institutional symptoms and provoke remarkably similar psychological and social reactions among the people subjected to them.

Some of Zamyatin's science-fiction devices have inevitably aged, yet most remain surprisingly effective after a century. I found his attempts to ground political and metaphysical certainty in mathematics less convincing; mathematical truth has a distinctive epistemic status that does not transfer neatly to moral, political, or social propositions. A broader appeal to "science" might have made the intellectual conceit more persuasive. The narrative itself, however, gathers considerable momentum, particularly during the final third, when the conflict between individual desire and collective control becomes increasingly dangerous. I thought Zamyatin's greatest strength was his ability to render the struggle rather than merely announce it: D-503's transformation from an intellectually obedient functionary into a romantic, irrational, and increasingly self-aware individual gives the abstract conflict an intimate psychological form. The adversary is consequently more interesting than a conventional collection of villains; the real antagonist is an entire system that has converted bureaucratic rationality into an ideology and treats deviations from its mathematical conception of order as defects in the human organism. I found We less polished than 1984, but historically more astonishing for having anticipated so much of the dystopian vocabulary that later writers would make familiar.

4/5 Stars