PDF Vertically Integrated Architectures: Versioned Data Models, Implicit Services, and Persistence-Aware Programming 1st Edition Jos Jong Download
PDF Vertically Integrated Architectures: Versioned Data Models, Implicit Services, and Persistence-Aware Programming 1st Edition Jos Jong Download
com
https://textbookfull.com/product/biota-grow-2c-gather-2c-cook-loucas/
textbookfull.com
https://textbookfull.com/product/galois-theory-of-algebraic-
equations-2nd-edition-jean-pierre-tignol/
textbookfull.com
https://textbookfull.com/product/coercion-and-the-nature-of-law-first-
edition-kenneth-einar-himma/
textbookfull.com
https://textbookfull.com/product/the-acp-group-and-the-eu-development-
partnership-beyond-the-north-south-debate-1st-edition-annita-montoute/
textbookfull.com
https://textbookfull.com/product/the-age-of-fragmentation-a-history-
of-contemporary-economic-thought-1st-edition-alessandro-roncaglia/
textbookfull.com
https://textbookfull.com/product/single-stranded-rna-phages-from-
molecular-biology-to-nanotechnology-1st-edition-paul-pumpens-author/
textbookfull.com
Chest Drains in Daily Clinical Practice 1st Edition Thomas
Kiefer (Eds.)
https://textbookfull.com/product/chest-drains-in-daily-clinical-
practice-1st-edition-thomas-kiefer-eds/
textbookfull.com
Vertically
Integrated
Architectures
Versioned Data Models,
Implicit Services, and
Persistence-Aware Programming
—
Jos Jong
Vertically Integrated
Architectures
Versioned Data Models,
Implicit Services, and
Persistence-Aware
Programming
Jos Jong
Vertically Integrated Architectures: Versioned Data Models, Implicit
Services, and Persistence-Aware Programming
Jos Jong
AMSTELVEEN, The Netherlands
v
Table of Contents
Limited by Frameworks��������������������������������������������������������������������������������������41
Human Factors����������������������������������������������������������������������������������������������������44
Summary������������������������������������������������������������������������������������������������������������46
vi
Table of Contents
Associations������������������������������������������������������������������������������������������������������131
Attributes����������������������������������������������������������������������������������������������������������135
Values vs. Items������������������������������������������������������������������������������������������������136
Putting It All Together����������������������������������������������������������������������������������������141
Inheritance?������������������������������������������������������������������������������������������������������146
Summary����������������������������������������������������������������������������������������������������������151
vii
Table of Contents
Index�������������������������������������������������������������������������������������������������239
viii
About the Author
Jos Jong is a self-employed independent
senior software engineer and software
architect. He has been developing software
for more than 35 years, in both technical and
enterprise environments. His knowledge
ranges from mainframes, C++, and Smalltalk
to Python, Java, and Objective-C. He has
worked with numerous different platforms
and kept studying to learn about other
programming languages and concepts. In
addition to developing many generic components, some code generators,
and advanced data synchronization solutions, he has prototyped several
innovative database and programming language concepts. He is an abstract
thinker who loves to study the fundamentals of software engineering and is
always eager to reflect on new trends. You can find out more about Jos on
his blog (https://josjong.com/) or connect with him on LinkedIn
(www.linkedin.com/in/jos-jong/) and Twitter (@jos_jong_nl).
ix
Acknowledgments
There are many people who encouraged me to push forward with my ideas
and eventually write this book. I’d like to thank all of them for inspiring
me. Colleagues who were skeptical at the time helped me to rethink and
refine certain aspects of my vision. I want to thank them for the interesting
discussions. To the members of Know-IT, a group I have been a member
of for ten years, my special thanks for all the patience you have shown
me when I was suggesting better solutions again and again in whatever
discussions we were having. I want to thank the people who read my early
drafts: my good friends Marc, Rudolf, Edwin, Winfried, Peter-Paul, and
especially Remco for doing most of the initial translations and essentially
being the first full peer-reviewer. I also would like to thank Robbert, for all
the inspirational words and for setting deadlines. And special thanks to my
sister, Marian, my parents, my good friends Ger, Wilma, Nina, Sudais, and
others who supported me.
xi
Visit https://textbookfull.com
now to explore a rich
collection of eBooks, textbook
and enjoy exciting offers!
Preface
I guess most books start with lots of half-related notes and ideas. So far,
so good. But my first notes and drawings date back 30 years. During my
studies, I learned about real databases and how they magically hide a lot of
technical details from the programmer.
With SQL, I saw the beauty of a fully thought through conceptual data
model, brought to life by a neat and powerful query language. However,
I also remember asking myself whether tables are really such a good
choice to represent data. The relational model was obviously better than
anything else out there. But influenced by other methods I studied, such
as Sjir Nijssen’s natural language information analysis method (NIAM), I
imagined data more as a network of abstract objects (facts) joined together
by relationships. In SQL, you have to specify the actual relationships, based
on attributes, with every query, again and again. And because applications
are mostly not built using SQL, every query also requires its own glue code,
to fit inside the accompanying 3GL programming language. Why? These
early thought experiments eventually became the main premise of this
book.
Why doesn’t the user interface understand the underlying data model,
so that a lot of things can be arranged automatically? Why do we program
in two, three, or four languages to build a single application? And why do
we manually have to pass around strings with pieces of keys and data, as
we do with JSON nowadays?
My inspiration to resolve these dilemmas over and over is born of
frustration, experimentation, study, and lots of discussions within my peer
group. I never was a computer scientist and, as practical as I like to be,
loved working on concrete projects. But I used every slightly more generic
xiii
Preface
xiv
Preface
logic. I show that what has made two-tier architectures inflexible and not-
general purpose so far is the lack of support for data model versioning and
a more conceptual approach to data modeling.
I hope my book will inspire experienced developers to explore these
ideas. I believe that the challenges will be an interesting pursuit for
computer science students. Software development is still in its infancy.
I hope that my contribution will steer us away from the endless stream of
frameworks that we see today. Trying to solve each individual problem
with a separate framework mostly brought us more complexity and
certainly did not increase developer productivity for the last decade or so.
Most of my ideas take the form of what-if proposals. That is not
because I haven’t experimented with some of them. For example, I built
a prototype to explore the persistence aware programming language that
I present. It impressed some people, but, for now, it is not a real product.
But who knows what the future will bring.
xv
CHAPTER 1
The Problem
Problems are not stop signs, they are guidelines.
—Robert H. Schuller
Like being in a swamp. That is how it must feel if you end up in a software
development team, after switching from another profession. Just when
you think you have a firm grasp of things, someone comes along with yet
another new concept, principle, or framework. You just want to finish
that one screen you’re working on. But there are larger stakes. And, to be
honest, after listening to all the arguments, you’re on the verge of being
convinced. Another framework gets added to the project.
The accumulation of frameworks year after year must pay off.
You would expect things to have gotten super easy. And yet, every time
a new team member is added, it becomes apparent that the team has
created its own little universe. The new guy or gal has to absorb all the
frameworks he or she is not familiar with and learn a whole new set of
architectural principles.
I am not talking here about commonsense principles every self-
respecting software engineer is expected to know. The problem lies in the
never-ending avalanche of new ideas and experiments that manifest in the
form of still more new architectural principles and frameworks.
Never-Ending Complexity
Developing software is a complex endeavor. While one would have
expected it to have gotten easier over time, the exact opposite seems true.
Back in the day, one could build a whole system using Turbo Pascal, C#,
Java, and some SQL. But today, before you know it, you’re once again
Googling the latest features of HTML, to see which browser does or does
not support them. Your CSS files are getting out of hand, so you start
generating them with Sass. And while you were using Angular previously,
you’re thinking about switching to React. Your CV is growing and growing.
2
Chapter 1 The Problem
3
Chapter 1 The Problem
4
Chapter 1 The Problem
and remains manual labor. Adding an attribute might not be such a big
deal, but with adding entities and relationships, there is typically more
complexity involved.
The fact that a data model manifests itself in so many ways also leads
to the duplication of code taking care of validations and constraints. Users
prefer to have immediate feedback from the user interface when data
entered does not fit certain constraints. But to be sure to never store invalid
data, you want the same check to be repeated in the service layer as well.
And maybe you would even have the database check it again. Now imagine
we develop multiple UI clients (web, mobile), and we end up with three to
five places in which we do the exact same validations for which we write,
and maintain, specific pieces of code.
It is fair to say that while we mastered the art of code reuse in most
programming languages, there is still one aspect that leads to a lot of code
repetition, and that is the data model itself.
G
rowing Insecurity
With half the planet now sharing its personal and business information
via online services, you would expect software security to be rock solid.
Instead, the number of data breaches has been on the rise for years (1,579
reported cases and 178 million accounts exposed in 2017 in the United
States alone).1
How can it be that an industry with so much money and prestige at
stake make and accept so many blunders? Undeniably, one reason is the
aforementioned ever-increasing complexity. No matter how easy it can be
to avoid a particular security threat, risks lurk at every level. Any nontrivial
1
tatista, “Annual number of data breaches and exposed records in the United
S
States from 2005 to 2018 (in millions),” www.statista.com/statistics/273550/
data-breaches-recorded-in-the-united-states-by-number-of-breaches-
and-records-exposed/, 2018.
5
Chapter 1 The Problem
Architectural Fog
Software architecture can be both the solution and the cause of problems.
As mentioned, no matter how good the intentions of architects, they
may cast a team into a fog-laden land, and fairly often, the benefits they
promise are never realized.
6
Chapter 1 The Problem
7
Visit https://textbookfull.com
now to explore a rich
collection of eBooks, textbook
and enjoy exciting offers!
Chapter 1 The Problem
Language Wars
Software exists by virtue of programming languages. So, you would expect
them to improve every year, to help us out with all the issues mentioned
so far in this chapter. The general perception is that they do. But do they?
It is also commonly accepted that frameworks can be used to extend a
programming language. But is that really true?
Virtually all software is built with 3GLs today. And these languages
did indeed evolve. Object orientation, garbage collection, and exception
handling became a standard feature for many languages. And such things
as closures, coroutines, and functional extensions are getting more and
more popular. However, object orientation was invented with Simula and
Smalltalk in the sixties and seventies. The same is true for closures and
functional programming. And coroutines have been at the core of Erlang
since the eighties. So, what we mostly see is cherry-picking from other
programming languages, both old and contemporary. In that sense, the my-
language-is-better-than-yours approach is mostly about syntactic sugaring.
There is nothing wrong with that. But what about our more fundamental needs?
While almost no software system can do without storing data and
network communications, 3GLs are only concerned with in-memory data
handling and processing. That’s why we still deal with data persistency as
a second-class citizen. The same is true for client-server communication.
This is where code plumbing comes in. A lot of source code deals with
the marshaling and unmarshaling of messages, filling and extracting
screen data, or assembling and processing database queries. Recall that
fourth-generation languages (4GL) in the nineties delivered in this area.
There may be good reasons why we have stuck to 3GLs since then. It is still
interesting, nonetheless, to see what we can learn from that era.
8
Chapter 1 The Problem
9
Chapter 1 The Problem
10
Chapter 1 The Problem
One factor in this balancing act is the perceived quality of these pieces
of art. It is a plus when a framework is widely used. This makes it stand
up under scrutiny. But even then, the question remains whether it is
maintained well enough, and how much priority is given to fixing bugs. It
is a good thing for something to be open source, but it is still tough to tell
your client that a given bug is caused by a framework, and you either have
to dive into the dark secrets of that framework or wait for others to fix it.
Besides this, popularity and quality are not constant over time. Perhaps
the initiators have already moved on to the next great idea. They take a few
shortcuts, and along the way the quality of the product begins to suffer, all
while there is a huge lock-in for your own project.
A framework may also constrain you. Not every framework plays well
with other frameworks. That means the choice of a framework cannot be
viewed independently of that of others. Sometimes frameworks overlap;
sometimes they interfere; and sometimes they force you into using other
frameworks.
As mentioned at the beginning of this chapter, frameworks may be
intended to simplify things, but they can just as easily increase overall
complexity. While it is nice to have these extensive lists on our résumés, if
we’re not careful, we are creating legacy code every single day. It requires
a lot of experience and a pragmatic approach to not bog down a project in
unnecessary complexity. The big question that we should ask ourselves is
why do we need so many frameworks anyway?
Summary
In this chapter, I have discussed the following:
11
Chapter 1 The Problem
After this pile-up of misery, some people may wonder why anyone
would still want to become a programmer. But that’s not how it works with
professionals. Developing software is an inherently complex profession
that requires a certain drive to get ahead. That we have to write more code
than what would strictly be necessary is not the end of the world. And the
fact that the complexity of the trade continues to increase is perhaps even
a bonus for all those professionals who by their nature always want to learn
new things and thrive on challenges.
However, something lurks beneath the surface. The vast amount of
copycat code that we write again and again undoubtedly takes time. And
time equals money. It makes projects take longer. More code also increases
the risk of introducing bugs, which raises the demand for testing and
12
Random documents with unrelated
content Scribd suggests to you:
"Try again," said the Lieutenant, and unslung the rifle. "Fire on the
downward roll."
The gunlayer fired on the downward and then on the upward roll, and
each time the shell went sobbing away into the Channel haze, and the dark,
smooth object still bobbed in the fast-fading light amid the waves. The
Lieutenant kicked aside his seventeenth empty brass cylinder and snapped
the rifle bolt angrily. "There's the smoke of the convoy," he shouted to his
second in command, who was firing from aft and swearing in a monotonous
undertone that sounded like a litany. "It's right in their track." For the
ensuing half-hour they kept up the fruitless fusillade until dusk blotted out
the target.
The R.N.V.R. Lieutenant rang down for half-speed. "Secure the gun," he
said, curtly, and to the Coxswain: "Close the blighter; we've got to make a
rope's end fast and tow it inshore out of the fairway." The Coxswain gave
his Commanding Officer a searching, incredulous glance, as if he doubted
his sanity, and spun the wheel round, but the Lieutenant was lurching aft on
his way to the cabin hatch. He paused en route and thrust a head and
shoulders into the engine-room. "Bring a can of lubricating oil aft an' a
handful of waste," he shouted to the unseen occupant, and dived into his
cabin.
Under direction of the First Lieutenant, a grass line was uncoiled and
one end made fast to a cleat; there was no time to be lost, for the dusk was
falling fast and the convoy with its attendant escorts was a bare five miles
away. The motor-launch circled round the floating mine, visible only by
reason of the intermittent whiteness of the broken water about it. The Sub-
Lieutenant stared at it half-fascinated, the coils of the line in his hands. For
a moment he felt an angry resentment against the minesweepers; this,
assuredly, was their business. Then he remembered that they had garnered
their grim harvest and returned to port. The motor-launch was only a
gleaner.
"Now then!" He turned to see his Captain at his elbow, stark naked as
the moment he was born, glistening with oil like a wrestler of old. "Give us
the rope's end. Drop down to leeward when I shout—an' stand by with a hot
grog."
The speaker knotted the rope loosely over one muscular shoulder and
measured the distance to the mine with a dispassionate eye. "If I bungle it
and foul one of the horns," he said, "it'll blow the boat to smithereens. You'd
better stand by with life-belts for yourselves."
"What about you?" asked the Sub. His Captain gave a little grim laugh.
"If that egg breaks, there won't be much of me to put a belt round," and
without further ado he slid over the stern into the water.
The crew of the launch watched the receding head and shoulders as
their Commanding Officer was carried to leeward on the crest of a wave,
and the Sub-Lieutenant, paying out loose coils of rope into the dark water,
murmured: "That's a man for you! They had a glimpse of white gleaming
body, as the swimmer circled cautiously round the floating mine and the
waves lifted or dropped him into their hollows. Then for a moment he
vanished and the watching group aft held their breath.
"If he grabs for the ring bolt and catches hold of a horn——" said the
Coxswain, and left the sentence unfinished. The seconds passed. Then out
of the darkness came a thin hail. The Coxswain jumped to the wheel; the
second in command flung the slack line over the stern, and the launch
dropped down to leeward.
The numb, exhausted figure hauled over the side a minute later, to be
wrapped in blankets and massaged back to speech, resumed his clothes and
clumped forward to the wheel-house as the launch turned inshore with the
mine in tow.
He stared into the darkness astern as the line tautened. "God knows if
there are any more farther up the coast... But our beat's clear. Full speed,
Coxswain!"
2
Three hundred feet above mother earth sat an able seaman of the Royal
Navy, reflecting on the strangeness of his profession. For the first eighteen
months of the War he had been a loading number of one of a Battleship's
six-inch guns; as such he spent most of his waking hours punching a
dummy projectile into the breech of a "loader," or, when not at meals or
asleep, following critically the fortunes of cinema artistes as portrayed on
the Grand Fleet films. There came a day after that when the vagaries of
fortune transplanted him to a Dover Monitor, where he grew accustomed to
the roar of fifteen-inch shells from the Belgian coast batteries passing
overhead, or pitching short of his floating home in a thunderous upheaval of
white water. Finally he returned to his depot suffering from gun-deafness, to
find himself in due course one of a working party attached to a high-power
Naval Wireless Station, and still a little hard of hearing.
Whatever the effect of heavy gunfire on his hearing, his nervous system
remained unimpaired; so much so that, as he sat swaying in a "boatswain's
stool," three-quarters of the way up one of the four hundred and thirty feet
wireless masts, slapping creosote on to the wooden lattice work with a
brush, he hummed a little tune to himself:
Below him, seen through a thin veil of shifting mist, stretched smooth
grey downs and a network of roads. Directly beneath, tiny figures moved
among the buildings of the wireless station; on the slope of a far hillside
rows of conical tents showed white in a passing gleam of sunshine.
Something moving along one of the roads held his interest for a moment
and the song came to an end; a field-gun battery going out to exercise;
horses the size of mice. He wondered what it must be like to be an airman
and pepper an enemy battery with a machine-gun. Wouldn't they scatter!
Horses all mixed up with the traces, plunging. Pap! pap! pap! would go the
machine-gun with the goggled face behind it, laughing triumphant... Fine, it
'ud be.
He bent his head back and stared up into the low-lying clouds that
seemed to hover just overhead. Was it because he had been thinking of
aeroplanes, or did he really hear the hum of an engine coming down out of
the mist? The slender lattice-work above him rose towering for another
hundred feet, taking the eye criss-cross along its diminishing perspective
until it made you giddy. The sailor knotted his brows and cursed his
deafness as he strained to listen. Surely it was an aeroplane. He could feel
the vibration of its engine rather than hear it. Or was it the wind droning in
the taut wire stays that spread earthward on every side.
Then, swift as a falling stone, flashing dark through the mist, he saw the
machine, apparently coming straight for him.
The A.B. craned his head downwards. The small figures on the earth
were running to and fro like ants. But where was the pilot? He peered up at
the motionless wreck and shouted. No reply came. Odd! He'd better go and
see about the pilot, who evidently hadn't seen the mast in the fog, and, by
the millionth chance, hit it.
The able seaman took a deep breath. Far below him—perhaps half an
hour's climb—men with ropes were toiling upwards to the rescue. Overhead
the damaged mast shivered and creaked in the wind; a yard away on the
curved surface of the wing lay the pilot, spread-eagled and motionless.
"That ain't no place for you!" said the bluejacket. He knotted the rope round
his body, made the other end fast to the mast, and gingerly tested the frail
platform. Would it stand the weight of both?
Inch by inch he crawled out along the wing, stretched forth a hand, and
grabbed the pilot's gauntleted wrist. Then unfastening the rope from his
own body he tied it round the insensible figure, and slowly, breathlessly,
with many a pause and muttered oath at the tumultuous thumping of his
heart—which seemed as if it must bring down the mast—he drew the body
off the wing and regained the mast. Sitting in the V-shaped angle of the
cross-girders he lashed the boy's shoulders securely to the nearest upright,
and with the limp legs across his lap, produced and with difficulty lit the
stump of a clay pipe. His hand shook and the perspiration trickled cold
behind his ears; but presently his lips parted, and in a not too certain voice
he began again his interrupted song:
CHINKS
"The Hohangho," read the First Lieutenant, turning the pages of a three-
day-old paper, "has shifted its course. It is estimated that upwards of three-
quarters of a million souls perished in the inundation of villages." He puffed
at his pipe and eyed the inmates of the Destroyer's Wardroom with
solemnity. "They give it a four-line paragraph.... Three-quarters of a million
——"
"You don't think of 'em quite like that," replied the Captain of the
Destroyer, stirring his cup of coffee. He braced his back against a stanchion
to steady himself to the roll of the ship. "There are four hundred millions of
the blighters, remember. They all look alike; they've no religion, no
ambition, no aim in life except to scratch together enough for the next meal
——"
A Signalman came tumbling down the ladder, water streaming from his
oilskins.
"Please, sir, Officer of the Watch says there's a glare ahead looks like a
ship a-fire. Shall he increase speed?"
The Captain, who had descended for a cup of coffee, and still wore his
sea-boots and duffle coat, snatched up his cap and was on the bridge with
his glasses to his eyes in fewer seconds than it takes to write these lines.
The Destroyer was slashing her way past a head sea and the sound of
the wind and waves made speech difficult. The Gunner was on watch,
peering ahead into the darkness through binoculars.
The Captain studied the far-off glare in silence for a moment, and gave
an order to the telegraph-man.
"Yes," he said presently. "Oil ship. Must have been torpedoed. She's
leaving a trail of blazing oil on the water astern of her." For half an hour
they watched the conflagration grow brighter as the Destroyer rapidly
overhauled the burning derelict. Finally the Gunner ranged alongside his
Commanding Officer. "She's making way through the water, sir—yawing
too. Best give her a wide berth."
The Lieutenant nodded. "Keep to windward. There can't be anybody
below. I expect the heat of the fire is keeping the steam pressure up.... My
ghost! What a blaze!"
The ship was now plainly discernible, blazing furiously from forecastle
to poop. The wind whipped pennons of flame hundreds of feet to leeward,
and from started rivets and gaping seams streams of liquid fire poured
blazing into the sea. The ship was blundering along at a good seven knots,
swerving blindly from side to side like a wounded bull, and leaving on the
troubled surface of the water a fiery, serpentine trail of burning oil. The
hissing crackle of the flames and roar of the wind, the constant eruption of
vast columns of sparks that belched hundreds of feet into the air and floated
to leeward, made the doomed ship a terrifying and almost demoniac
spectacle.
"Can't be a soul alive on board," said the First Lieutenant. "Just as well
—ugly customer to tackle."
They ranged abeam, giving the blazing derelict a wide berth, and even
at that distance felt their cheeks scorch. Men lined the Destroyer's lee rail,
watching in shocked silence. To the seaman the fairest of all sights is a ship
upon the sea; a ship wrecked upon a lee shore or even plunging beneath the
surface with racing propellers is a sad, though not unnatural sight,
prompting the heart of every sailor to the rescue, whatever the risk. But a
ship on fire, even though abandoned, is repellent, horrible beyond the
power of description.
The Gunner suddenly emitted an oath and extended an arm and pointing
forefinger:
"Yes," he said calmly; "you're right. They'll be grilled alive if her head
falls away from the wind. Starboard ten, Quartermaster."
Obedient to her helm, the Destroyer closed that blinding hell-glare, and
presently to the naked eye a score of human figures were visible, huddled
into the eyes of the ship. The Lieutenant on the Destroyer's bridge picked
up a megaphone and bawled through it.
"Why don't they jump, the damned fools?" he demanded angrily. "They
must have seen us. They know we'll pick them up." The Destroyer came
closer, plunging and rolling in the seaway. The figures on the bridge
shielded their faces from the scorching heat as every eye watched the
hungry flames licking their way forward along the oiler's forecastle. Her
foremast fell with a crash, sending up a great column of fire into the
outraged sky. By its glare the faces of the huddled figures were plainly
visible: beardless, with high cheek-bones, distorted with terror like the
masks of trapped animals.
The Captain thrust him towards the ladder. "Stand by with fenders the
port side. Get the hand-pumps going. I'll run her alongside."
"Gawd 'elp us!" muttered the Gunner, and as he spoke the burning ship
yawed suddenly and came bearing down on them.
From first to last it was less than five minutes' work. With paint
blistered and scorched clothing, rails and davits bent, with cold fear in their
hearts and a sense of duty that mastered all, that prodigy of seamanship was
accomplished. Twenty-four jabbering Chinese firemen and a dazed Scotch
mate flopped down pell-mell on to the Destroyer's upper deck, and received
the gift of life at the hands of a young man in a singed duffle coat, who said
nothing, whose breath came and went rather fast through dilated nostrils.
"Maybe I did," replied his Captain. Dawn was paling the Eastern sky,
and he loosened the duffle coat about his throat. "Maybe I did. I ain't the
Hohangho."
A FORTY-FOOT SETTING
The tramp that had done the damage lay rolling lazily in the long,
smooth swell, blowing off steam. Her escort of two Destroyers—or more
properly a Destroyer and a half—was some distance away, exchanging a
highly-seasoned and technical dialogue through megaphones. In the course
of an unpremeditated zigzag a quarter of an hour earlier the tramp had
rammed one of her escort and cut her in two.
The Captain of the rammed Destroyer (his age was twenty-five and his
vocabulary one Methuselah need not have been ashamed of) transferred his
ship's company to the other escort and made a cursory survey of the
damage.
The Captain of the cripple filled and lit a pipe while he considered the
problem from the vantage of the midship funnel of his command, which
lolled drunkenly in a horizontal posture athwart the upper deck.
"Not yet," he shouted, and turned to the Gunner, who stood knee-deep
in water where once a torpedo-tube had been. "It's that cursed depth-charge
I'm worrying about. It's still in the chute at the stern, and set to explode at a
depth of forty feet."
The Gunner nodded, and bent forward to peer through the translucent
depths at what had been, a quarter of a hour before, the dwelling-place of
both. Somewhere beneath the surface, still affixed to the submerged stern,
was the Destroyer's main anti-submarine armament—her depth-charges.
One had been in the tray, ready set for instant release by the jerk of a lever,
when the collision occurred.
"If the stern breaks off, that depth-charge'll sink with it, and explode
when it gets down to forty feet."
"And the explosion'll rip this bulkhead out of her, and down the fore
part will go. Half a ship's better'n none, Mr. Hasthorpe."
Mr. Hasthorpe agreed, but inclined to the view that he'd rather have kept
the other half, given a choice in the matter.
"There was a nice li'l drum o' paint aft there we had give us at Taranto,
sir, an' some ostridge feathers under my bunk, what I'd promised my old
woman."
A long, sleek swell passed beneath them on its unhurried path from
Africa to the Adriatic. The dark wreckage beneath the surface stirred like
weed in a current, and the deck plating under their feet trembled ominously
as the hulk rolled.
"A few more of those," said the youthful Captain, "and down goes the
after part. I shall lose my ship." The speaker had rather less than half a ship
to lose, but he scrambled down on to the buckled plating of the upper deck,
hastily unbuttoning his drill tunic.
His Captain waved the dinghy alongside. "That's nothing. I'll have a
shot for it—if I can only find the beastly thing in all that tangle."
"An' if another swell passes when you're in the water, sir, likely as not
the stern'll drop off an'——" The sentence remained unfinished, for his
Captain had slipped over the side into the waiting dinghy and was busily
divesting himself of his clothes.
The oarsman leaned over the gunwale and held his breath, gazing under
the boat like a man in a trance.
After all the tumult of the collision the moment was one of deathly
stillness. The tramp lay black against the sunlight half a mile away. The
Destroyer was turning in a wide circle, with a flick of white under her stern,
and close at hand, amid the wreckage of the still floating unfortunate, the
Gunner stood motionless, staring.
The dinghy man suddenly sat upright and took a stroke with one paddle.
The head and shoulders of the Lieutenant-in-Command broke the oily
surface with an abrupt splash. He gripped the stern of the dinghy and
heaved himself out of the water. Then, stark and dripping, he stood upright,
transfigured by the Mediterranean sunshine into a figure of shining gold,
and, raising his arms above his head, semaphored two letters to the
watching Destroyer—"OK," finishing with a triumphant wave of the hand.
A thin cheer broke out along the crowded rail, the syren sounded a toot
of congratulation, and as the resultant wisp of steam dissolved in the air the
dinghy suddenly rose, rocked on the slope of a passing swell, and dropped
down its smooth flank. The portion of the Destroyer that remained afloat
rolled twice; there was a succession of big swirls in the water, an ugly
grinding sound, and a snap. The Lieutenant-in-Command gave a short, hard
laugh.
AUTHOR'S NOTE
The foregoing are based on actual occurrences in the War, and, as far
as the author is aware, conform to fact. The characters are imaginary; their
words and thoughts those of the writer's imagination.
IV
(1917)
The German submarine U93 sailed from Emden on Friday, April 13,
1917, on her maiden trip to the Atlantic. She carried eighteen torpedoes and
500 rounds of ammunition for her two 3.9 mm. guns; her complement
consisted of thirty-seven officers and men, under the command of Captain
Lieutenant F. Freiherr Spiegel von und zu Peckelsheim.
A tendency on the part of the crew to regard the date as ill-omened was
met by the Commander with the assurance that the combination of Friday
and the figure thirteen would cancel any bad luck usually associated with
either.
The Commander of U93 was more than satisfied with the result of his
cruise: moreover, he had two horses running in the Berlin races during the
second week in May, and was anxious to be back in time for the event. But
on sighting the sails of a small top-sail schooner coming over the horizon,
he decided to delay his return a few hours and complete the round dozen of
ships sunk; also the size of the schooner would, he judged, round off his
tonnage figures evenly.
He opened fire on the schooner at three miles range, and, as this was the
last ship to be sunk during the trip, gave orders that all men who could be
spared from their duties below might come on deck and witness the sinking.
The schooner in question was His Majesty's Ship Prize of 200 tons,
commanded by Lieutenant William Edward Saunders, Royal Naval
Reserve, with two 12-pounders concealed in collapsible deck-houses, and
one aft on a disappearing mounting under the hatchway covers of the after
hold. She also carried two Lewis guns, and was incidentally the first
German prize (then called the Else) captured by Great Britain on the
outbreak of war.
The ship's head was put up into the wind, and the six hands in charge of
Mr. Brewer, who formed what was technically known as a "panic party,"
launched the small boat and abandoned the ship with every outward
symptom of haste and disorder. The time was then 8.45 P.M.
The ship's head fell away to eastward, and the enemy slowly followed
her round, still firing at her in a deliberate manner. Of two shots that hit the
water-line and burst inside the ship, one put the auxiliary motor-engine out
of action, wounding the Stoker Petty Officer in charge; and the other
shattered the wireless-room, wounding the operator inside it. The cabins
and mess-room were wrecked, the mainmast shot through in two places,
and the ship began to make water fast.
In spite of this heavy punishment and the intensity of the strain, the
guns' crews remained motionless on the deck while the submarine drew
closer. She was invisible to all on board the schooner except the two figures
inside the companion, who through slits in the plating were able to watch
her movements and communicate the closing range to the guns.
The next moment U93 put her helm to starboard and glided out on to
the port quarter of the schooner at seventy yards' clear range.
It was then 9.5 P.M., and Lieutenant Saunders, satisfied at last that his
guns would bear, shouted, "Down screens! Open fire!" At the same moment
the White Ensign was hoisted.
The foremost gun's crew leaped to their feet, and the deck-houses
collapsed simultaneously, unmasking the foremost twelve-pounders.
The enemy was not easily taken by surprise, however. As the White
Ensign appeared above the bulwarks of the Prize, the submarine fired two
rounds from her guns. One hit the schooner's superstructure, and the other
the water-line. This shell burst in the interior of the ship, severely wounding
the Shipwright, who had rushed below to fetch one of the Lewis guns which
were kept at the bottom of the ladder.
The Commander of the submarine put his helm hard over with the
intention of ramming the schooner, but realising that she was inside his
turning circle, reversed his helm and tried to escape. The next moment a
shell from the schooner's after gun struck the foremost gun of the
submarine, blowing it to atoms and annihilating the crew.
In the meanwhile, however, the gunlayer of the after gun had hit the
conning tower of the submarine with his second shot, and demolished it; a
deckhand at the same time raked the remainder of the survivors off her deck
with the Lewis gun. A third shot from the after twelve-pounder struck the
submarine in the vicinity of the engine-room and disabled her, but she
continued to carry her way until about 500 yards from the Prize, when she
came to a standstill, slewing broadside on to her vanquisher. There were no
survivors visible, and a dull red glare from internal fires showed through the
rents in her hull. At the thirty-sixth round she sank stern first, four minutes
after the commencement of the action.
The "panic party" in the boat were then ordered to pull over the scene of
the action and search for survivors. Darkness was falling fast, but they
succeeded in picking up the Commander of the submarine, who had been
knocked overboard by one of the bodies blown from the foremost gun, the
Navigating Warrant Officer, and a Stoker Petty Officer. No other survivors
could be found, and the boat returned with the prisoners, conscientiously
"covered" by a Browning pistol in the fist of the Trawler Skipper at the
helm.
While the search for survivors was being carried out by the ship's boat a
survey of the damage on board the schooner revealed a serious state of
affairs. The water was pouring through the shot-holes and stood a foot deep
between decks. It continued to gain in spite of the employment of every
available man on pumping and bailing, and the temporary plugging of the
holes with hammocks and blankets.
Fortunately the sea was calm, with very little or no wind. The ship was
put on the port tack and every possible device employed to list her to
starboard, all the damage she had received being on the port side. The boat
was swung out at the starboard davits and filled with water, coal and water
shifted to the starboard side, and both cables ranged along the starboard
scuppers. By these means sufficient list was obtained to lift the shot-holes
clear of the water and to enable them to be temporarily patched.
As soon as it was realised that the water was no longer gaining on them,
the attention of the Commanding Officer of the Prize was devoted to an
attempt to restarting the motors. In the course of this work a fire broke out
in the engine-room, due to sparks from the motor igniting the oil which had
leaked from the damaged tank. This was successfully extinguished, and the
wounded Stoker Petty Officer, assisted by the German Stoker Petty Officer,
succeeded in getting one motor started. By 11.45 P.M. on April 30 all sail
was set, and with one engine working the Prize shaped a course for the Irish
Coast, 120 miles to the north-eastward.
Land was not sighted until the afternoon of May 2, during which time
the crew, assisted by the prisoners, laboured at the pumps day and night.
They were finally picked up 5 miles to the westward of the Old Head of
Kinsale by one of H.M. Motor Launches and towed into Kinsale Harbour.
Here two of the wounded were disembarked, and improvised leak-stoppers,
made out of the pieces of plank with blankets stretched over them, were
bolted over the shot-holes.
On May 4 the Prize, with her three prisoners still on board, left Kinsale
Harbour in tow of one of H.M. Drifters, and arrived at Milford Haven,
where she was based, at 8 A.M. on May 4.
THE FORFEIT
(1916)
The sun was sinking low behind the peach-trees when workers from the
rice-fields came straggling back to the village. By twos and threes they
came, toil-stained women and boys, with here and there an old, gnarled
man, their shadows long on the road before them.
Tani, maker of sandals, looked up from his work as each one came
abreast his shop, responding gravely to the low-voiced, musical greetings.
But after the last worker had passed, his eyes, shaded beneath the palm of
his hand, still sought the road beyond the village in patient expectancy.
Presently he heard the distant click of clogs, and a little figure came in
sight. Her cotton kimono was looped to the knees, the mud of the paddy-
fields still clung to her slender brown limbs. She drew near.
"Greeting, Su Su O!"
"Greeting, Tani!" The girl paused before the shop, with quaint
genuflection and the gentle hiss of indrawn breath that in Japan is a
courtesy. The sandal-maker sat back on his heels.
"Tired, Su Su O?"
"Very," replied the girl. She moved the heavy, mud-caked hoe from her
shoulder and leaned on the haft, looking down at him with a little smile.
Her mouth, with its geranium-scarlet lips, drooped wearily at the corners
when in repose: her whole attitude betrayed fatigue.
The man frowned. "It is not well, Su Su O, that you should do coolie
work. You are not of coolie stock, nor yet of coolie strength. Su Su O,
hearken yet again! Be my wife! Come and live with me here, and let me
labour for us both! I need you so, little Flower. I want you for my wife ...
not to see you only at sunrise and dusk, passing my dwelling by."
The sun set swiftly; swiftly the purple night swept up over rice-field and
cherry-orchard. Here and there along the village street a coloured lantern
glowed suddenly out of the darkness; through the frail oiled-paper walls of
the cottages drifted the voices of children and the tinkle of a samisen. The
sandal-maker stood up and took the girl's hand in his.
Her lip quivered. "I too am lonely, Tani; but I am a beggar—a coolie girl
without father or mother. I cannot marry you: I have no dowry. I can bring
nothing to the wedding—save myself, in rags. It would bring disgrace upon
us."
In vain he pleaded, all the poetic imagery of the Asiatic upon his tongue.
In vain he scoffed at convention—that terrible, inexorable convention of the
East; still the dainty head shook in plaintive negation. Some unknown strain
in her blood set honour before love, bowed to the decrees that had ruled her
unknown forbears. At length, as if fearing that her resolution might weaken
from sheer physical weariness—and she loved very dearly too—she turned
towards the village.
"I must go, Tani. It is of no avail.... Nay, entreat me not further.... Nay,
Tani, I am so tired...."
That evening a traveller came to the village, a little wizened man, clad
somewhat incongruously in a grey silk kimono, a bowler hat, and elastic-
sided boots. Rumour whispered that he was the owner of a fashionable cha-
ya (tea-shop) in Tokyo, renowned for the beauty of its Geishas. Gossip
spreading quickly from door to door supplemented this as the night wore
on. The honourable stranger was touring the country on the look-out for
pretty girls. He paid well, they said, and his establishment was much
frequented by Europeans, who, as all the world knows, part freely with the
sen. Here was a chance for a girl with looks!
The old gentleman was sipping saki in the guest-room of the village inn
when Su Su O was announced. His keen old eyes noted with appreciation
the lines of the childish figure as she bowed her forehead to the matting.
But when she raised herself to her knees, and faced him with downcast
eyes, he pursed up his mouth as if contemplating a whistle. Had he been a
European he probably would have whistled, but this is not an art practised
among owners of cha-ya. Otherwise his face was expressionless.
"I will take you on condition that you remain with me three years." The
heart of Su Su O sank. Would Tani wait three years? "And I will pay you"—
he named what was to the girl a considerable sum. That clinched it: with a
dowry like this she could marry Tani over and over again. Yet her fingers
trembled as she painted her signature to the indentures, and her heart was
sick at the thought of the parting. Even "passing his dwelling by" was better
than never seeing it at all. But she left for Tokyo the next day, and a few
moments were all that she had for saying good-bye.
"Oh, but you will wait?" she pleaded. "It will soon pass, the three years,
and I will come back rich, and—marry you, Tani."
Tani's reply, in flowery Japanese, was to the effect that he would wait a
hundred million years if necessary.
* * * * *
Her life in the Tokyo tea-house was no worse than that led by the
thousands of other Geishas in the great straggling city. In some respects it
was better, because European tourists of many nationalities frequented the
establishment, and her beauty was such as to appeal not only to Japanese
ideas, but Western as well. For one thing, her cheek-bones were not
accentuated; and her mouth, scarlet-lipped and tremulous at times with
laughter, you would have thought adorable whatever part of the world you
hailed from. Also there was something very bewitching about her plaintive
love-ditties (even if you couldn't understand them), which she sang in a
minor key to guitar accompaniment through her inconsiderable nose.
One day there came to the house a German officer on leave from
Tsingtau. He was a big, bearded youth with blue eyes, and—this was a
ceaseless wonder and delight to the Geishas—the centre of his front upper
row of teeth was crowned with a diamond.
Attracted by the glitter in his mouth, and inured to the oafish attentions
of European customers, she suffered him to put his arm round her. Without
further warning, he lowered his bearded face and kissed her publicly on the
lips.
The railway terminus at Tokyo was gay with bunting and thronged by a
great crowd of people. A brass band somewhere out of sight broke into
crashing martial music. "Banzai!" roared the khaki-clad figures in the
closely packed carriages, and in response the women and children waved
little hand-flags that bore the national emblem on a white ground.
Japan had declared war on Germany, and the occasion was the departure
of a Reserve Division which was shortly to operate against the German
fortress of Tsingtau. The windows of the carriages were blocked by grim,
fighting faces: men from the North. Among them was Tani, sometime
maker of sandals; and on the platform beneath his window, like a painted
butterfly hovering round the cannon's mouth, stood Su Su O, eyes
suspiciously bright.
"Return if the gods will it!" she whispered, echoing the murmured
farewells of mothers, wives, and lovers. The grim memories of ten years
ago still lingered. The vaulted roof of the terminus had echoed so many
farewells; so few who parted amid the roars of "Banzai!" had greeted one
another again. "If the gods will," said the women now, and the younger men
still shouted "Banzai!" in reply. But at the last, as the long train steamed
slowly out of the station, the finite human heart held sway. The oft-repeated
"Banzai!" changed to "Sai-onara! Sai-i-onara!"—the saddest, most
plaintive-sounding farewell yet fashioned by the human tongue.
Early one morning a flask of raw saki was passed along the advanced
trench. Tani drank deep and tightened his belt, for he was hungry; the spirit
ran through his veins like fire. "It is the end," said the man next to him, a
battle-scarred veteran of Nogi's Army, with a queer note of exultation in his
voice. There, was a sudden lull in the firing. Whistles sounded shrilly.
An officer near Tani who had been divesting himself of his overcoat
leapt to his feet with a shout. With an answering roar the trenches seemed to
vomit wave upon wave of steel, and yellow-faced, khaki-clad figures. They
swept forward, stabbing and cheering, hewing their way through the wire
entanglement in the face of a tempest of bullets, leaving their dead dangling
as they fell.
Tani reached a line of sandbags at the crest of a rise unhurt, and drove
his bayonet into the chest of a German who was clubbing his rifle. He heard
the breast-bone crunch as the steel went home to the muzzle of the rifle.
The German fell sideways, twisting the weapon out of Tani's grip with his
weight. Then Tani saw a bearded officer, the haft of a broken sword
dangling from a leather thong at his wrist, struggling to reload his revolver.
Tani leaned over to examine more closely the phenomenon in the dead
man's mouth. Then he emitted an interested grunt. The centre tooth of the
German's upper jaw was crowned with a diamond.
Tani, maker of sandals, leaned over the parapet of the little cedar-wood
bridge that spanned an artificial hike in the temple grounds. Every now and
again the moon's placid reflection on the water broke into widening ripples
as a carp rose. In the stillness the sound of its feeding was audible—a tiny
"gluck!" as if a greedy child were smacking its lips. It was late spring, the
season of the cherry-blossom, and the light airs of evening came in puffs
across the water, laden with faint fragrance. The doors of the temple stood
open: inside, a lamp burned dully before the altar.
After a while the man took from his pocket a little pouch of oiled silk
and emptied the contents into his palm. There was some dusty tobacco, two
or three matches, and a small object that caught the light as he moved his
hand. This he retained, and put the pouch and the rest of its contents back
into his pocket.
"So long, Su Su O, that the night had grown into Eternity, and the sound
of my sighing checked the very lamentation of the frogs!"
She laughed in her delicious gurgling way, and pressed her face against
his sleeve. He slipped one hand beneath her chin, raising the flawless oval
face to the full light of the moon.
"Thou art very beautiful," he said, half below his breath. "A thousand
men assuredly have loved thee since we bade farewell."
The man smiled a little, and then his face grew grave. He fretted with
the sling which supported his left arm. "What manner of man was he, this
love-besotted fool?"
"A German, Tani; a man of great stature, bearded, with a jewel set in the
centre tooth of his upper jaw."
"Ah!" For a moment the sandal-maker stared across the water, his eyes
narrowed into slits, his face inscrutable. Then, with a sudden jerk of the
wrist, he sent something spinning through the air—something that glittered
like a point of flame in the moonlight. It fell with a splash, scaring the lazy
carp that lay just beneath the surface.
VI
SUPPER BEER
(1914)
With the turn of the tide the wind backed and swept a wet mist in from
the sea. During the day promenaders had thronged the stone pier that partly
encircled the deserted harbour; townspeople for the most part—stolid,
sombre-clad folk, taking their constitutionals soberly, as if they formed part
of some inflexible schedule that regulated their lives. In the afternoons a
sprinkling of infantrymen from the fort intermingled with them; loose-
limbed young conscripts in grey uniforms, with heads too small for their
bodies—a phenomenon partly accounted for by the zeal of the garrison
barber, and partly by the size of their grotesque boots.
His face, as much of it as was visible above the collar of his ulster, was
that of an elderly man, thin and aristocratic-looking. When not gazing out to
sea, he contemplated his slow-pacing feet with mild, thoughtful blue eyes
through rimless pince-nez. One cheek-bone was ornamented by a duelling-
sabre scar.
Half an hour passed, while the spray drifted over the sea-wall and
collected under-foot in shallow pools that alternately mirrored the waning
light and darkened as a fresh gust of wind hurled itself in from the North
Sea. Out at the entrance to the harbour a solitary gull faced the wind with
steady beats of its powerful wings, calling with querulous persistency.
Lights were beginning to twinkle here and there along the deserted sea-front
when the watcher at the pier-head lowered his glasses, hastily wiped the
lenses, and raised them again to his eyes. Then he made a guttural
observation in an undertone.
Out of the grey smudge of sea and sky a small vessel suddenly became
an object distinct, making for the mouth of the harbour: a short, squat craft,
with high bows and a tall raking funnel set far aft. To judge by the derricks
topped up to her mainmast she had every appearance of being a trawler; yet
for a trawler returning in the height of the fishing season she gave evidence
of very empty holds by the buoyancy of her movements. She carried no
lights, though the dusk was now settling fast.
A short, thick-set man in a blue jersey stood at the wheel; at his side was
a younger man, a tall, upright figure muffled in a thick pilot coat. The crew,
with the exception of two who were getting ready to make the vessel fast,
stood in a group in the waist. For a North Sea trawler the complement of
hands appeared somewhat in excess of the usual requirements.
The man at the helm brought the vessel smoothly alongside without
acknowledging the presence of the watcher on the pier. His companion,
however, smiled a greeting, raised his hand as if to salute, and checked
himself. As the trawler went astern and her way slackened, he jumped out
and joined the figure in the ulster.
The other gave an abrupt, disconcerting laugh. "You laid them in fours,
as you were ordered?"
The young man nodded. "They cannot miss them. And if a ship fails to
touch one direct she must cross one of the wires that connect them. The
impetus of her speed will swing them aft against her side—two on each
side.... Or three on one and one on the other...! Then——!" The speaker
made a graceful upward gesture with his hands and smiled.
"Once. The fog lifted a little, and one of their Light Cruisers must have
seen us. But I was flying their flag——" He laughed again. "Oh, they are
fools! Fools! They had time to blow us out of the water six times over
before I could slip back into the fog again." The speaker lit a cigarette and
moistened his dry lips. "Then I came back as quickly as possible. And now I
want my supper and some beer—it's thirsty work, that—that trawling in the
North Sea!" He took a Service revolver out of the side pocket of his coarse
reefer jacket and extracted the cartridges from it as they walked along the
deserted quay.