100% found this document useful (2 votes)
5 views

Stylish F Crafting Elegant Functional Code for NET and NET Core 1st Edition Kit Eason instant download

The document provides an overview of the book 'Stylish F# Crafting Elegant Functional Code for .NET and .NET Core' by Kit Eason, which aims to teach readers how to write elegant and functional code in F#. It outlines the book's structure, including chapters on designing functions, handling missing data, working with collections, and various programming concepts, while emphasizing the importance of coding style and creativity. Additionally, it mentions supplementary materials available on GitHub and acknowledges contributors to the book.

Uploaded by

carnejeeyavn
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
5 views

Stylish F Crafting Elegant Functional Code for NET and NET Core 1st Edition Kit Eason instant download

The document provides an overview of the book 'Stylish F# Crafting Elegant Functional Code for .NET and .NET Core' by Kit Eason, which aims to teach readers how to write elegant and functional code in F#. It outlines the book's structure, including chapters on designing functions, handling missing data, working with collections, and various programming concepts, while emphasizing the importance of coding style and creativity. Additionally, it mentions supplementary materials available on GitHub and acknowledges contributors to the book.

Uploaded by

carnejeeyavn
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 65

Stylish F Crafting Elegant Functional Code for

NET and NET Core 1st Edition Kit Eason download

https://textbookfull.com/product/stylish-f-crafting-elegant-
functional-code-for-net-and-net-core-1st-edition-kit-eason-2/

Download more ebook from https://textbookfull.com


We believe these products will be a great fit for you. Click
the link to download now, or visit textbookfull.com
to discover even more!

Stylish F Crafting Elegant Functional Code for NET and


NET Core 1st Edition Kit Eason

https://textbookfull.com/product/stylish-f-crafting-elegant-
functional-code-for-net-and-net-core-1st-edition-kit-eason-2/

C 8 0 and NET Core 3 0 Modern Cross Platform


Development Build applications with C NET Core Entity
Framework Core ASP NET Core and ML NET using Visual
Studio Code 4th Edition Mark J. Price
https://textbookfull.com/product/c-8-0-and-net-core-3-0-modern-
cross-platform-development-build-applications-with-c-net-core-
entity-framework-core-asp-net-core-and-ml-net-using-visual-
studio-code-4th-edition-mark-j-price/

Pro C# 7 with .NET and .NET Core Andrew Troelsen

https://textbookfull.com/product/pro-c-7-with-net-and-net-core-
andrew-troelsen/

Modern Data Access with Entity Framework Core: Database


Programming Techniques for .NET, .NET Core, UWP, and
Xamarin with C# 1st Edition Holger Schwichtenberg

https://textbookfull.com/product/modern-data-access-with-entity-
framework-core-database-programming-techniques-for-net-net-core-
uwp-and-xamarin-with-c-1st-edition-holger-schwichtenberg/
Modern Data Access with Entity Framework Core: Database
Programming Techniques for . NET, . NET Core, UWP, and
Xamarin with C# 1st Edition Holger Schwichtenberg

https://textbookfull.com/product/modern-data-access-with-entity-
framework-core-database-programming-techniques-for-net-net-core-
uwp-and-xamarin-with-c-1st-edition-holger-schwichtenberg-2/

Exploring the .NET Core 3.0 Runtime: Through Code


Generation and Metadata Inspection 1st Edition Roger
Villela

https://textbookfull.com/product/exploring-the-net-
core-3-0-runtime-through-code-generation-and-metadata-
inspection-1st-edition-roger-villela/

Applied Cryptography in .NET and Azure Key Vault: A


Practical Guide to Encryption in .NET and .NET Core 1st
Edition Stephen Haunts

https://textbookfull.com/product/applied-cryptography-in-net-and-
azure-key-vault-a-practical-guide-to-encryption-in-net-and-net-
core-1st-edition-stephen-haunts/

Pro ASP NET Core Identity Under the Hood with


Authentication and Authorization in ASP NET Core 5 and
6 Applications 1st Edition Adam Freeman

https://textbookfull.com/product/pro-asp-net-core-identity-under-
the-hood-with-authentication-and-authorization-in-asp-net-
core-5-and-6-applications-1st-edition-adam-freeman/

DevSecOps for .NET Core: Securing Modern Software


Applications 1st Edition Afzaal Ahmad Zeeshan

https://textbookfull.com/product/devsecops-for-net-core-securing-
modern-software-applications-1st-edition-afzaal-ahmad-zeeshan/
Kit Eason

Stylish F#
Crafting Elegant Functional Code for .NET and .NET
Core
Kit Eason
Farnham, Surrey, UK

Any source code or other supplementary material referenced by the


author in this book is available to readers on GitHub via the book’s
product page, located at www.​apress.​com/​9781484239995 . For more
detailed information, please visit http://​www.​apress.​com/​source-code
.

ISBN 978-1-4842-3999-5 e-ISBN 978-1-4842-4000-7


https://doi.org/10.1007/978-1-4842-4000-7

Library of Congress Control Number: 2018963299

© Kit Eason 2018

This work is subject to copyright. All rights are reserved by the


Publisher, whether the whole or part of the material is concerned,
specifically the rights of translation, reprinting, reuse of illustrations,
recitation, broadcasting, reproduction on microfilms or in any other
physical way, and transmission or information storage and retrieval,
electronic adaptation, computer software, or by similar or dissimilar
methodology now known or hereafter developed.

Trademarked names, logos, and images may appear in this book. Rather
than use a trademark symbol with every occurrence of a trademarked
name, logo, or image we use the names, logos, and images only in an
editorial fashion and to the benefit of the trademark owner, with no
intention of infringement of the trademark. The use in this publication
of trade names, trademarks, service marks, and similar terms, even if
they are not identified as such, is not to be taken as an expression of
opinion as to whether or not they are subject to proprietary rights.
While the advice and information in this book are believed to be true
and accurate at the date of publication, neither the authors nor the
editors nor the publisher can accept any legal responsibility for any
errors or omissions that may be made. The publisher makes no
warranty, express or implied, with respect to the material contained
herein.

Distributed to the book trade worldwide by Springer Science+Business


Media New York, 233 Spring Street, 6th Floor, New York, NY 10013.
Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-
[email protected], or visit www.springeronline.com. Apress Media,
LLC is a California LLC and the sole member (owner) is Springer
Science + Business Media Finance Inc (SSBM Finance Inc). SSBM
Finance Inc is a Delaware corporation.
To Val, Matt, Meg, Kate, Noah, and Darwin: my own persistent collection.
Introduction
There are three distinct philosophies that you can apply to computer
programming. You can think of programming as a science , where the
measure of progress is how well you discover and reflect fundamental
mathematical concepts in your code. You can think of it as a discipline ,
where you seek to establish and follow rules about how code should be
written and organized. Or, best of all, you can think of it as a craft ,
where, yes, you apply some of the science and some of the discipline;
but you leaven those with a generous helping of human creativity. To do
this successfully, you need a fair bit of experience, because crafting
something is an inherently intuitive process. This book aims to get you
to a level where you can craft code confidently. It does this by distilling
and passing on my own experience of writing F# systems in numerous
different industries over the past eight years.
Before you start this book, you’ll need at least some knowledge of
F# syntax and concepts. Maybe you’ve read some of the wide range of
beginner material that’s available, and probably you’ll have written at
least a few simple F# programs yourself. You may well have deeper
experience of other languages and environments, such as C# and .NET.
That said, I have framed the book so that C# knowledge is not a hard
prerequisite: I learned F# before I learned C#, and if I can do it, so can
you! Also you definitely don’t need any background in Computer
Science or functional programming. I don’t have even a trace of formal
education in either of these areas.
So what’s between the covers? In Chapter 1 , I’ll establish some
principles that will help us decide whether we are coding well, and say a
little bit about why coding stylishly is important. In Chapter 2 , we’ll
pick up the basic tools of our craft and learn to chisel out elegant and
reliable functions . In Chapter 3 , we’ll tackle the thorny issue of missing
data , learning some effective techniques for writing dependable code
when certain values might not be available. In Chapter 4 , we’ll pick up
some more powerful crafting tools: the so-called collection functions ,
and explore how you can use them to achieve a surprising amount with
very little code. In Chapter 5 , we’ll delve into the strange world of
immutability : how you can write programs that achieve a result
without explicity changing anything. In Chapter 6 , we’ll look at pattern
matching , a concept you may have looked at a little when you learned
F# syntax, but which is surprisingly pervasive and powerful in quality
F# code. In Chapter 7 , we’ll explore record types , F#’s go-to structure
for storing groups of labeled values. In Chapter 8 , we’ll cover some
ground that might already be familiar to C# developers: object oriented
classes . In Chapter 9 , we’ll return to the topic of F# functions , and
explore what it means for a function to also be a first-class value. In
Chapter 10 , we’ll tame the apparent complexity of asynchronous and
parallel programming : it needn’t be as hard as you think! In Chapter 11
, we’ll look at Railway Oriented Programming , an interesting metaphor
you can use to help you think about processing pipelines. In Chapter 12
, we’ll investigate performance : can you really write code that is both
elegant and fast? In Chapter 13 , we’ll establish some useful techniques
for laying out your code and naming items to maximize readability. In
Chapter 14 , I’ll briefly reiterate what we’ve learned.
As this book is primarily about the language, you’ll find relatively
few references to other libraries. Of course, to build substantial
systems, you’ll almost always want to pull in Nuget packages for
requirements such as unit testing, serialization, web serving, and so
forth. But these libraries constitute a large and fast-changing landscape,
so I’ve chosen to pare things down to the F# essentials for this book.
This also means that almost all the examples can be typed in and simply
run as F# scripts, and they are provided in script form in the
downloadable code samples. In the small number of cases where you
need to write a compilable program, I take you through the process
alongside the example.
Likewise, you won’t find many references to specific integrated
development environments (IDEs) such as Visual Studio, Visual Studio
Code, Xamarin Studio, or JetBrains Rider. Any of these can be used to
edit and run the examples in this book, and all are available as free
editions if you don’t already have something installed. If your IDE
doesn’t know about F# “out of the box,” simply search online for “F#
<your IDE> getting started” to find setup instructions. The samples
should work without change on any platform where F# is installed,
except you may need to change some paths where the sample code
accesses local files.
I very much hope you enjoy sharing my F# experience as much as I
enjoyed acquiring it. Don’t forget to have fun!
Acknowledgments
I am grateful for the generous help I received in putting Stylish F#
together. Thanks to Quinton Coetzee for his exceedingly diligent and
constructive technical reviews. To Val Eason for reading every chapter
before submission, detecting many typos and poor turns of phrase. To
Jon Harrop for providing detailed technical feedback on Chapter 12 ,
and to several other F# community members who reviewed a code
sample for Chapter 8 . To Jason Heeris for kindly giving permission to
reproduce the cartoon in Chapter 1 . To Don Syme and the F#
community for the never-ending stream of compiler and tooling
improvements that propel F# forward. And to Matt Jones and the
amazing team at Perpetuum for providing the best working
environment I’ve ever experienced. Thanks also to the tireless crew at
Apress: Joan Murray, Jill Balzano, and Laura Berendson.
Any errors, omissions, or plain wrong-headedness are, of course,
still my own responsibility.
Table of Contents
Chapter 1:​The Sense of Style
Why a Style Guide?​
Understanding Beats Obedience
Good Guidance from Bad Code
What About Testability?​
Complexity Explosions
Summary
Chapter 2:​Designing Functions Using Types
Miles and Yards (No, Really!)
Converting Miles and Yards to Decimal Miles
How to Design a Function
Sketch the Signature of the Function
Naïvely Code the Body of the Function
Review the Signature for Type Safety
Review and Refine
A Final Polish
Recommendations
Summary
Exercises
Exercise Solutions
Chapter 3:​Missing Data
A Brief History of Null
Option Types versus Null
Consuming Option Types
Pattern Matching on Option Types
The Option Module
Option Type No-Nos
Designing Out Missing Data
Interoperating with the Nullable World
Leaking In of Null Values
Defining a SafeString Type
Using Option.​ofObj
Using Option.​ofNullable
Leaking Option Types and DUs Out
Using Option.​toObj
Using Option.​toNullable
The Future of Null
The ValueOption Type
Recommendations
Summary
Exercises
Exercise Solutions
Chapter 4:​Working Effectively with Collection Functions
Anatomy of a Collection Function
Picking the Right Collection Function
Detailed Collection Function Tables
Practicing with Collection Functions
Exercise Setup
Single Collection Function Exercises
Multiple Collection Function Exercises
Partial Functions
Coding Around Partial Functions
Using the “try” Idiom for Partial Functions
Consuming Values from try… Functions
Try… Function Exercises
Functions for Other Kinds of Collections
When the Collection Function Is Missing
Common Mistakes
Recommendations
Summary
Exercise Solutions
Chapter 5:​Immutability and Mutation
These Folks Are Crazy!
Classic Mutable Style
Immutability Basics
Common Mutable Patterns
Linear Search
Guarded Linear Search
Process All Items
Repeat Until
Find Extreme Value
Summarize a Collection
Recommendations
Summary
Exercises
Exercise Solutions
Chapter 6:​Pattern Matching
Weaving Software with Patterns
Pattern Matching Basics
When Guards
Pattern Matching on Arrays and Lists
Pattern Matching on Tuples
Pattern Matching on Records
Pattern Matching on Discriminated Unions
Pattern Matching on DUs in Function Parameters
Pattern Matching in Let Bindings
Pattern Matching in Loops and Lambdas
Pattern Matching and Enums
Active Patterns
Single Case Active Patterns
Multi-Case Active Patterns
Partial Active Patterns
Parameterized Active Patterns
Pattern Matching with ‘&​’
Pattern Matching on Types
Pattern Matching on Null
Recommendations
Summary
Exercises
Exercise Solutions
Chapter 7:​Record Types
Winning with Records
Record Type Basics
Record Types and Immutability
Default Constructors, Setters, and Getters
Records versus Classes
Structural Equality by Default
Records as Structs
Mapping from Instantiation Values to Members
Records Everywhere?​
Pushing Records to the Limit
Generic Records
Recursive Records
Records with Methods
Records with Methods – A Good Idea?​
Record Layout
Recommendations
Summary
Exercises
Exercise Solutions
Chapter 8:​Classes
The Power of Classes
Asymmetric Representation
Constructor Bodies
Values as Members
Getters and Setters
Additional Constructors
Explicit Getters and Setters
Internal Mutable State
Generic Classes
Named Parameters and Object Initializer Syntax
Indexed Properties
Interfaces
Object Expressions
Abstract Classes
Abstract Members
Default Member Implementations
Class Equality and Comparison
Implementing Equality
Implementing Comparison
Recommendations
Summary
Exercises
Exercise Solutions
Chapter 9:​Programming with Functions
Functions First
Functions as Values
Currying and Partial Application
Mixing Tupled and Curried Styles
Function Signatures Revisited
Type Hints for Functions
Functions That Return Functions
Function Composition
Recommendations
Summary
Exercises
Exercise Solutions
Chapter 10:​Asynchronous and Parallel Programming
Ordering Pizza
A World Without Async
Running the Synchronous Downloader
Converting Code to Asynchronous
Locking Shared Resources
Testing Asynchronous Downloads
Batching
Throttling
C# Task versus F# Async
Recommendations
Summary
Exercises
Exercise Solutions
Chapter 11:​Railway Oriented Programming
Going Off the Rails
On the Factory Floor
Adapting Functions for Failure
Writing a Bypass Adapter
Writing a Pass-Through Adapter
Building the Production Line
Making It Official
Love Your Errors
Recommendations
Summary
Exercises
Exercise Solutions
Chapter 12:​Performance
Design Is Compromise
Some Case Studies
BenchmarkDotNet
Case Study:​Inappropriate Collection Types
Avoiding Indexed Access to Lists
Using Arrays Instead of Lists
Use Sequences Instead of Arrays
Avoiding Collection Functions
Avoiding Loops Having Skips
Inappropriate Collection Types – Summary
Case Study:​Short-Term Objects
Sequences Instead of Arrays
Avoiding Object Creation
Reducing Tuples
Using Struct Tuples
Operator Choice
Short-Term Objects – Summary
Case Study:​Naive String Building
StringBuilder to the Rescue
Using String.​Join
Using Array.​Parallel.​map
Naive String Building – Summary
Other Common Performance Issues
Searching Large Collections
Comparison Operators and DateTimes
Concatenating Lists
For Loop with Unexpected List Creation
F# 4.​5 and Span Support
The Importance of Tests
Recommendations
Summary
Exercises
Exercise Solutions
Chapter 13:​Layout and Naming
Where Are My Braces?​
It’s Okay Pluto, I’m Not a Planet Either
Some Infelicitous Code
Convenience Functions
Column Extraction Functions
The Observation Range Type
The Importance of Alignment
The Minor Planet Type
Recommendations
Summary
Exercise
Exercise Solution
Chapter 14:​Summary
F# and the Sense of Style
Designing Functions with Types
Missing Data
Collection Functions
Immutability and Mutation
Pattern Matching
Record Types
Classes
Programming with Functions
Asynchronous and Parallel Programming
Railway Oriented Programming
Performance
Layout and Naming
Onwards!
Index
About the Author and About the Technical
Reviewer

About the Author


Kit Eason
is a software developer and educator with more than 20 years of
experience. He has been programming in F# since 2011 and is
employed at Perpetuum Ltd., working on an extensive network of
energy-harvesting vibration sensors fitted to railway rolling stock. Kit is
an avid F# user who is passionate about teaching others. He has
contributed to several publications, as well as to the books Beginning
F# 4.0 (Apress 2016) and F# Deep Dives (Manning 2014). He often
teaches and presents on F#, and his popular videos appear on
Lynda.com and YouTube.

About the Technical Reviewer


Quinton Coetzee
was born and raised in a small town not too far from Johannesburg,
South Africa, which means he can just about remember how to speak
Afrikaans. He played paintball at a relatively high level (for a South
African team), traveling to the USA and Europe to compete, before
moving to the UK in 2011 to pursue career opportunities in London.
Since then, he has worked on real-time trading systems and various
applications in one way or another related to trading, primarily in F#.
As a productivity tool, F# is really hard to beat and would be his first
choice in most production environments. That said, he enjoys playing
with other functional languages like Clojure and Scala in his spare time.
© Kit Eason 2018
Kit Eason, Stylish F#
https://doi.org/10.1007/978-1-4842-4000-7_1

1. The Sense of Style


Kit Eason1

(1) Farnham, Surrey, UK

Mystification is simple; clarity is the hardest thing of all.


—Julian Barnes, English Novelist

Why a Style Guide?


In this chapter I will talk a little about why we as F# developers need a
style guide, and what such a guide should look like. I’ll also outline a
few principles that, independent of language, great developers follow.
These principles will be our guiding light in the many decisions we’ll
examine in future chapters.
One of the most common issues for developers beginning their
journey into F# is that the language is neither old enough nor corporate
enough to have acquired universally accepted and comprehensive
idioms. There simply isn’t the same depth of “best practice” and “design
patterns” as there is in older languages such as C# and Java.
Newcomers are often brought to a standstill by the openness of the
choices before them, and by a lack of mental tools for making those
choices.
Traditionally, teams and language communities have dealt with this
kind of problem by adopting “coding standards,” together with tools to
support and enforce them, such as “StyleCop” and “Resharper.” But I
must admit to having a horror of anything so prescriptive. For me they
smack too much of the “human wave” approach to software
development, in which a large number of programmers are directed
toward a coding task, and “standards” are used to try and bludgeon
them into some approximation of a unified team. It can work, but it’s
expensive and depressing. This is not the F# way!

Understanding Beats Obedience


So how are we to assist the budding F# developer, in such a way that
their creativity and originality are respected and utilized, while still
giving them a sense of how to make choices that will be understood and
supported by their peers? The answer, I believe, is to offer not coding
standards, but a style guide. I mean “guide” in the truest sense of the
word: something that suggests rather than mandates, and something
that gives the reader the tools to understand when and why certain
choices might be for the best, and when perhaps the developer should
strike out on their own and do something completely original.
In coming to this conclusion, I’ve been inspired by Steven Pinker’s
superb guide to writing in English, The Sense of Style (Penguin Books,
2014). The book is a triumph of guidance over prescription, and my
hope is to set the same tone here. Pinker makes the point that stylish
writing isn’t merely an aesthetic exercise: it is also a means to an end,
that end being the spread of ideas. Exactly the same is true of stylish
coding, in F# or any other computer language. The aim is not to impress
your peers, to adhere slavishly to this or that “best practice,” or to wring
every possible drop of processing power out of the computer. No, the
aim is to communicate. The only fundamental metric is how effectively
we communicate using our language of choice. Therefore, the measure
of the usefulness of a style guide is how much it improves the reader’s
ability to communicate with peers, and with the computer, via the code
they write.

Good Guidance from Bad Code


Let’s begin by defining what kinds of communication problems we are
trying to avoid. We can get to the bottom of this by looking at the
common characteristics of codebases which everyone would agree are
bad. Avoid those characteristics and we can hope that our code can
indeed communicate well!
Regardless of the era or technology involved, hard-to-work-with
codebases tend to have the following characteristics in common.
Characteristic 1: It’s hard to work out what’s going on when looking
closely at any particular piece of code.
To understand any one part of the program, the reader must think
simultaneously about what is going on in various other widely
scattered pieces of code and configuration. This cartoon (Figure 1-1)
sums up the situation brilliantly.
Figure 1-1 This is why you shouldn’t interrupt a programmer
Interrupting busy programmers is bad, but the whistling coffee
carrier isn’t the only villain in this cartoon. The other is the code, which
requires the developer to keep so much context in their personal
working memory. When we write such code, we fail to communicate
with people (including our future selves) who will have to maintain and
extend it.

Note I’ll describe the kind of code that isn’t readable with
minimum context as having poor semantic focus. In other words,
relevant meaning isn’t concentrated in a particular place but is
spread about the codebase.

Listing 1-1 shows an example of code that has poor semantic focus
(along with a number of other problems!).

let addInterest (interestType:int, amt:float,


rate:float, y:int) =
let rate = checkRate rate
let mutable amt = amt
checkAmount(&amt)
let mutable intType = interestType
if intType <= 0 then intType <- 1
if intType = 1 then
let yAmt = amt * rate / 100.
amt + yAmt * (float y)
else
amt * System.Math.Pow(1. +
(rate/100.), float y)
Listing 1-1 Code with bad semantic focus

It is literally impossible to predict the behavior of this code without


looking at other code elsewhere. What are checkRate and
checkAmount doing? Is it OK that the value interestType can be
any value from 2 upward with the same result? What happens when
any of the parameters is negative? Or are some or all of the invalid
range cases prevented elsewhere, or within checkRate and
checkAmount? Could those protections ever get changed by accident?
And you can bet that when you see code like this, then the other
code you then have to look at, such as the bodies of checkRate and
checkAmount, are going to have similar issues. The number of “what
if?” questions increases – literally exponentially – as one explores the
call chain.
By the way, when I was writing this example, part of me was
thinking “no professional would ever do this,” and a larger part of me
was remembering all the times when I had seen code exactly like it.
Characteristic 2: It’s hard to be sure that any change will have the
effects one wants, and only those effects.
In hard-to-maintain code, it’s also difficult to answer questions such
as:
Can I refactor with confidence, or does the mess I’m looking at
conceal some special cases that won’t be caught properly by
apparently cleaner code?
Can I extend the code to handle circumstances it wasn’t originally
designed for, and be confident that both the old circumstances and
the new circumstances are all correctly handled?
Could the code here be undermined in the future by some change
elsewhere?
Again, this is fundamentally a failure of communication with a
human audience.

Note I’ll describe code that is difficult to change safely as having


poor revisability, because the consequences of any local revision are
not readily predictable.

I’ll give some specific examples in Chapter 5, “Immutability and


Mutation,” but I’ll bet that if you’ve been in the industry more than five
minutes, you can provide plenty of your own!
Characteristic 3: It’s hard to be certain of the author’s intent.
A bad codebase raises similar unsettling questions in the area of
authorial intent:
What did the author mean by a particular section of code? Does the
code actually do what they apparently think it should do? Is that even
the right thing in the context of the system as a whole?
If there appear to be gaps in the logic in the code, did the author
realize they were there? Who is wrong, the author or the reader?
If there are logic gaps, are the circumstances where they could
manifest themselves prevented from occurring, or are the resulting
errors handled elsewhere? Or have they never happened due to good
luck? Or do they sometimes happen, but no one noticed or
complained?
As if reading code wasn’t hard enough, the maintainer is now placed
in a position of having to read the mind of the original author, or worse
still, the minds of every author who has touched the code. Not the
recipe for a good day at work, and another failure to communicate.

Note I’ll describe the kind of code where the author’s intentions
are unclear as having poor motivational transparency. We can’t
readily tell what the author was thinking, and whether they were
right when they were thinking it.

Here’s a great example of some code (in C# as it happens) where it’s


hard to divine the author’s intention. This is code that is published by a
major cloud service provider, apparently with a perfectly straight face,
as an example of how to iterate over stored objects. Perhaps a little
cruelly, I’ve removed some helpful code comments (Listing 1-2).

ListVersionsRequest request = new


ListVersionsRequest()
{
BucketName = bucketName,
MaxKeys = 2
};
do
{
ListVersionsResponse response =
client.ListVersions(request);
foreach (ObjectVersion entry in
response.Versions)
{
Console.WriteLine("key = {0} size = {1}",
entry.Key, entry.Size);
}

if (response.IsTruncated)
{
request.KeyMarker =
response.NextKeyMarker;
request.VersionIdMarker =
response.NextVersionIdMarker;
}
else
{
request = null;
}
} while (request != null);
Listing 1-2 Code with bad motivational transparency
My problem with this code is that request is used both as an
object embodying a client request; and as a sort of break marker, used
to transport to the end of the loop the fact that
response.IsTruncated has become true. Thus, it forces you to
carry two distinct meanings of the label "request" in your head.
This immediately makes the reader start wondering, “Is there some
reason why the author did this, something which I’m not understanding
when I’m reading the code? For example, will any resources allocated
when request was instantiated be released promptly when the
assignment to null occurs. Was this therefore an attempt at prompt
disposal?” (Would you know, without googling it, if resources are
disposed promptly on assignment to null? I have googled it and I still
don’t know.) This is on top of the mental overhead caused by the way
the code has to transport state (KeyMarker and VersionIdMarker)
from the response to the request. Admittedly this isn’t the sample
author’s fault as it is part of the API design, but with some careful
coding it might have been possible to mitigate the issue.
All in all, reading this code starts a great many mental threads in the
user’s head, for no good reason. We can do better.
Characteristic 4: It's hard to tell without experimentation whether the
code will be efficient.
Any algorithm can be expressed in myriad ways, but only a very few
of these will make decent use of the available hardware and runtime
resources. If you’re looking at code with a tangle of flags, special cases,
and ill-thought-out data structures, it is going to be very difficult to
keep efficiency and performance in mind. You’ll end up getting to the
end of a hard day fiddling with such code, and thinking: “Oh well, at
least it works!” As data volumes and user expectations grow
exponentially, this will come back to bite you – hard!

Note I’ll describe code that isn’t obviously efficient as having poor
mechanical sympathy.

Again, it’s a failure of communication. The code should be written in a


way that satisfies both the human and electronic audiences, so the
human maintainer can understand it, and the computer can execute it
efficiently. I’ll give some bad and good examples in Chapter 12,
“Performance.”
Generally, the term “mechanical sympathy” means the ability to get
the best out of a machine by having some insight into how the machine
operates. In a world of perfect abstractions (such as perfect automatic
gearboxes or perfect computer languages), we wouldn’t need
mechanical sympathy. But we do not yet live in such a world.
Incidentally the term is sometimes attributed to racing driver Jackie
Stewart, but although he used it, a quick glance at Google Ngrams
suggests it predates him as a well-used phrase.

What About Testability?


If you are worrying that I have missed out another characteristic of bad
code, poor testability, don’t worry. Testability is always at the forefront
of my mind, but it’s my belief that it would be hard to write code that
Another Random Document on
Scribd Without Any Related Topics
SOME POISONS AND THEIR PREVENTION

Little did the learned Dutchman Leeuwenhoek dream when, more


than two hundred years ago, he recorded, in his Arcana Naturæ,
that he had found "viva animalcula" in his saliva, that this, the first
beginning of bacteriology, would lead, a couple of centuries later, to
the inauguration of a new era in the treatment of disease, in which
these so-called animalcula, from being considered as curiosities,
would come to be regarded as powers for good and evil of the first
importance. Protective inoculation or serum therapy, of which the
public have lately heard so much in connection with diphtheria, is
the direct outcome of bacterial investigations which during the last
two decades have been pursued with such zeal in every part of the
globe.

The vast domain of immunity, which until recently was an


undiscovered country, is now being bit by bit annexed, and in all
directions workers are engaged upon opening up new tracts, in
overcoming difficulties, in changing chaos into order.

The problems which surround immunity are of so complex and


subtle a character that their mastery is by no means either easy or
rapid, and many recondite researches appear at frequent intervals
on this subject in foreign and other scientific journals, rendering it a
difficult matter to keep pace with the new discoveries and the latest
theories.

The interest in this country in toxins and anti-toxins not unnaturally


centres round that branch of the subject which deals with diphtheria,
this disease having of late years figured so prominently in our
mortality tables, whilst the production of diphtheria and other anti-
toxic serums has been so finely elaborated abroad that it already
constitutes an article of commerce, and doubtless helps to swell the
exports of our great continental commercial rival.

In this connection the following statistics, published by Dr. Jalzer, of


the Mülhaus Hospital, are of interest regarding the mortality from
diphtheria before and after the introduction and application of
diphtheria anti-toxin. The death-rate from this disease, writes Dr.
Jalzer, which in 1892 and 1893 was fully 50 per cent., fell in 1895 to
38·5 per cent., in 1896 to 28·8 per cent., in 1897 to 16 per cent., to
20 per cent. in 1898, 15·15 per cent. in 1899, and 18·75 per cent. in
1900.

So far the efforts which have been made to mitigate human


suffering have attracted most attention; but it will be remembered
that Pasteur, before he commenced the study of hydrophobia, had
already won his laurels in combating disease in the victory he gained
over anthrax, the ravages of which so frequently decimated the
herds of the French farmer and robbed him of his well-earned return
on his capital and labour.

In summoning the brilliant Director of the German Imperial Board of


Health to South Africa to investigate the nature of rinderpest, and, if
possible, discover a means of protecting cattle from its onslaught,
the Cape Government afforded another opportunity for the scientific
study of a disease associated with animals, upon the successful
mastery and limitation of which the agricultural prosperity of South
Africa is so largely dependent, being as it is one of the most fatal
and contagious maladies to which cattle are subject. Apart from the
great commercial importance attending Dr. Koch's discovery of a
device whereby cattle can be immunised or protected from
contracting rinderpest when exposed to its contagion, this discovery
is of great scientific interest, inasmuch as it has inaugurated a new
departure in methods of immunisation.

The previous methods in vogue for inducing immunity in animals


from a particular disease consisted in converting the virus itself into
a vaccine, as was done by Pasteur in his classical investigations on
anthrax and its prevention; and secondly, the employment of anti-
toxic serums, in which the virus is not directly inoculated into the
animal to be protected, but in which an intermediary is employed
between the virus and its victim. This intermediary, or living machine
for the generation of the anti-toxin, is usually a horse, which is
artificially trained by being given gradually increasing doses of the
virus or toxin, until it ultimately withstands doses which in the first
instance would infallibly have killed it. When the animal has arrived
at this satisfactory stage or condition of complete immunity, some of
its blood is from time to time drawn off, and the serum thus
obtained constitutes the anti-toxin which now figures so prominently
in modern therapeutics. Besides diphtheria-anti-toxic serum there
are also those of tetanus, or lock-jaw, plague, the famous anti-
venene serum, about the discovery and preparation of which greater
detail is given later on, and many others which are still the subject
of experimental inquiry.

Now Koch's method for the compassing of rinderpest differed from


both the systems above mentioned, inasmuch as he neither
employed artificially weakened cultures of the virus, or an anti-toxic
rinderpest-serum; instead he took one of the natural secretions of an
animal infected with rinderpest, and by injecting this into a healthy
animal it was discovered that the latter, as is the case with a vaccine,
suffered only local and temporary discomfort, and acquired
pronounced immunity from the active virus. The secretion selected
by Dr. Koch and his assistant, Dr. Kolle, for this purpose was the gall,
and it might be supposed, from the fact that its inoculation into
healthy animals did not communicate the disease, that the
rinderpest bacteria were absent from the gall. But this is not so, for
Dr. Kolle has succeeded in isolating the latter from the gall of
infected animals, and, moreover, has proved them on isolation to
possess their full complement of virulence. Further investigations
made by Koch and Kolle have shown that the explanation of this
seeming anomaly is to be found in the fact that the gall of an animal
suffering from rinderpest contains a substance which prevents the
migration of the rinderpest bacteria, with which it is associated, from
the point of inoculation. Hampered in their movements by the
controlling influence of this special substance which has been
generated in the gall, the bacteria remain rooted to the spot where
they are first situate, and only a passing and exceedingly slight local
affection results, which on its departure leaves the animal with an
immunity from rinderpest lasting some four months. A number of
interesting investigations have not unnaturally been stimulated by
this remarkable discovery, and researches on the properties inherent
in the gall of healthy animals of various kinds have been recently
carried out by Dr. Neufeld, of the Institute for Infectious Diseases in
Berlin, which are, however, of a too technical nature to deal with
here.

As an illustration of the practical use to which Koch's gall


immunisation method may be put in dealing with outbreaks of
rinderpest, reference to a recent report furnished by the Health
Officer of Shanghai may be of interest. Dr. Arthur Stanley describes
the outbreak as follows:—

"A large herd of cattle infected with cattle-plague was


brought to Shanghai from the Tanyang district, around the
Grand Canal, for export to the allied troops in the north of
China. The disease spread to an adjacent dairy, most of
the cattle dying. On this dairy becoming infected a police
cordon was established round it to prevent ingress and
egress of cattle and ingress of persons unconnected with
the dairy, while the outside infected herd was removed to
an isolated part of the settlement. Having been previously
convinced of the futility of police cordons in the prevention
of cattle-plague, I was not surprised to find, within a short
time, that the disease had spread, by the meeting together
of cattle-coolies at a common tea-house, to three other
dairies at a distance of a quarter, a half, and two miles
from the original source of infection.

"As the animals are not, as a rule, taken away from the
immediate vicinity of the dairy, there being no grazing
fields, and as neither fodder nor dung is taken from one
dairy to another, it is practically certain the infection was
carried by the dairy-coolies.

"Immediately on this second series of dairies becoming


infected it was resolved to apply the gall immunisation
method of Koch as being the means at hand. About 1,500
cubic centimetres were collected from the gall-bladder of a
rinderpest animal, and 10 cubic centimetres were injected
into the dewlap of each of the twenty remaining cattle in
the dairy.

"The injection caused slight local swelling and tenderness,


but no constitutional symptoms and no alteration in the
milk-supply, an important matter in a dairy. In all sixty-
eight cattle were injected with cattle-plague gall. Of these,
seventeen were among isolated uninfected herds; the
remaining fifty-one belonged to infected herds, and among
the latter eleven died of cattle-plague subsequent to the
injection."

Dr. Stanley points out that ten of these animals, judging by the time
which elapsed after the injection, when they showed the first
symptoms of the disease, must have been already infected when the
injections were made; the eleventh animal, however, undoubtedly
contracted the disease after and in spite of the injection.

"Considering," continues Dr. Stanley, "the usual excessive


mortality during an outbreak of this disease, the result may
almost be compared to the success of vaccination against
small-pox. Three young bullocks, each having received 20
cubic centimetres of cattle-plague gall, were purposely
exposed to severe infection. They remained well, while
unprotected animals around them died of the disease."

In the domain of immunity there is, however, no more fascinating or


interesting story than that which deals with the discovery and
elaboration of a cure for snake-bites, a discovery which, while
attracting but comparatively little attention in this country, should
prove of paramount importance to our fellow-subjects in the great
Indian Empire. The significance to India of Professor Calmette's
discovery of a specific cure for snake-poison may be gathered,
indeed, from the statistics which have been compiled of the number
of deaths attributed by Indian officials to this cause alone,
amounting, it is said, to some 22,000 annually.

The Pasteur Institute in Paris has despatched many pioneers of


science to various quarters of the globe, but perhaps no scientific
missionary has produced more fruitful results than has Dr. Calmette.
It was while acting in the double official capacity of Médecin de 1st
Classe du Corps de Santé des Colonies and Director of the
Bacteriological Institute of Saïgon, in Cochin China, in the autumn of
1891, that Calmette first commenced his experiments on the
neutralisation of serpent venom in the animal system.

He had, indeed, exceptional opportunities in the matter of serpent


venom wherewith to carry out his investigations, for during the rainy
season a village in the neighbourhood of Bac-Lieu (Cochin China)
had been attacked by a band of most venomous serpents.

These creatures, driven by the floods into the very huts of the
natives for shelter, created a terrible panic, and no fewer than forty
individuals were bitten by them. The panic was certainly not without
justification, for these serpents belonged to the species known as
naja tripudians, or cobra de capello, renowned for the deadly nature
of their venom, and widely distributed over India, Burmah, Sumatra,
Java, Malacca, and Cochin China; but until Calmette set to work to
systematically study the nature of this reptile's venom but little
precise or reliable information had been obtained as to its character.

The governor of the district gave orders that as many as possible of


the reptiles were to be captured alive and forwarded to the Director
of the Bacteriological Institute, and a plucky Annanite actually
succeeded in securing ninety specimens, which were forwarded in a
barrel to Dr. Calmette.

This formidable gift was received with enthusiasm by the director,


who realised the importance and scope of the inquiry, which he at
once set himself to systematically work out.

Forty of these reptiles arrived alive, and several were at once


sacrificed to secure their venom glands. Each gland, resembling both
in size and shape a shelled almond, contains about thirty drops of
venom, and in this transparent limpid liquid is embodied a toxin of
extraordinary strength. It was, of course, necessary in the first
instance to ascertain, within as narrow a limit as possible, the exact
degree of toxic power inherent in the venom, and to determine, if
possible, the precise lethal dose in respect of each variety of animal
experimented upon.

A correct calculation of the quantity of venom required in every case


was, however, found to be quite impossible, for so virulent is the
poison that a single drop of an emulsion produced by pounding up
eight glands in 300 grammes of distilled water is sufficient, when
introduced into the vein of a rabbit's ear, to kill it in five minutes. All
the mammals to which Calmette administered this cobra venom,
such as monkeys, dogs, rabbits, guinea-pigs, rats, succumbed more
or less quickly, according to the size of the dose.
Small birds and pigeons die very rapidly, but the domestic fowl is
more fortunate, being somewhat less susceptible. Frogs also fall a
prey to the venom, but they are far more refractory than rabbits, for
it takes thirty hours to kill a frog with a dose of venom which would
infallibly destroy a rabbit in ten minutes. Toads, curiously, do not
enjoy to the same extent this power of resisting its toxic action, for
they die more quickly than frogs, whilst it makes short work of
lizards and chameleons. Fish form no exception to the rule, and even
invertebrates, such as leeches, are killed by minute traces of venom.

Whilst Calmette has found that the venom of different kinds of


reptiles exhibits marked differences in its toxic character, he has also
discovered that the venom secreted by one and the same serpent
varies considerably, according to the length of time the animal has
fasted. He describes how he kept a naja haje (Cleopatra's asp) in his
laboratory, which during the whole eight months that it lived never
took any food whatever, although it was offered the most diverse
dainties. On its arrival it was made to bite on a watch-glass, this
being one method adopted for collecting the venom; the liquid was
at once dried, and 0·7 milligramme was found to kill a rabbit
weighing nearly four pounds in four hours. Two months later on,
when the venom was again collected, 0·25 milligramme proved a
fatal dose. On the death of the animal, at the end of eight months,
the venom extracted from the glands was so toxic that it only
required 0·1 milligramme to kill a rabbit of about the same weight as
the previous one. The same curious fact was noted in the case of a
cobra's venom. Another circumstance which appears to control the
degree of toxicity inherent in serpent venom is the interval of time
which elapses between two successive bites. The longer the interval
the more virulent is the venom; and Calmette points out that these
observations are in accordance with what has for a long time been
known in France with respect to indigenous vipers—that their bites
are far more dangerous and far more fatal in the spring, after the
winter period of torpor is over, than in the autumn.
Until quite recently it was thought that the only creatures which
could resist the fatal action of this poison were serpents, both
poisonous and non-poisonous. Calmette was led to this conclusion
because, although he inoculated large doses, as much as ten drops,
into cobras, they suffered absolutely no inconvenience, and the
same results were obtained with harmless snakes. On repeating
these experiments, however, and using much larger quantities of
venom, Calmette has found that they do ultimately succumb. That
their susceptibility in comparison with other animals is very slight,
may be gathered from the fact that a lethal dose of venom for
reptiles is roughly estimated to amount to as much as three times
the quantity of venom normally present in their respective poison
glands. These animals, therefore, although very refractory, are not
absolutely immune from the action of venom-toxin.

There are, however, other animals which enjoy a relative although


not absolute immunity to snake poison, and amongst these may be
mentioned swine, hedgehogs, and the mongoose. Swine, it is well
known, will greedily devour reptiles, and in some countries they are
specially trained up and employed for this purpose. Of particular
interest, however, are some experiments which were carried out to
test the traditional immunity towards this toxin ascribed to the
mongoose. These animals are very useful in sugar plantations, and
are largely employed to keep down the serpents and rats with which
they abound, for the carnivorous little mongoose is extremely partial
to such prey. Attempts have been made by sugar planters to
introduce them into Martinique, where they are not found in the wild
state, as in the island of Guadeloupe.

Six specimens of the mongoose were forwarded to Calmette from


Martinique, and these particular animals, it was stated, had never
been set at liberty since they were imported, so that they had had
no previous experience of snakes or venom. On arriving at the
laboratory, one of these little creatures was placed in a glass cage
along with a large cobra. The cobra, at once rising up and dilating its
neck, darted with fury upon the mongoose; but the latter, thanks to
its extraordinary agility, escaped being caught, and took refuge,
stupefied and terrified for the moment, in a corner of the cage. This
stunned condition, however, did not last long, for just as the
incensed cobra was preparing to make a fresh attack upon its
insignificant little victim, the latter, with wide-open mouth, rushed
and jumped upon the head of its enemy, viciously bit through its
upper jaw, and broke its skull in a few seconds. Thus, although in
size but a little larger than a squirrel, this tiny creature was more
than a match for a cobra two yards long.

Artificial inoculations of cobra venom into the mongoose fully


substantiated all the observed facts as to its remarkable immunity
from this poison. A dose sufficient to kill a large rabbit in three hours
was absolutely without effect; only when the venom was introduced
in quantities amounting to as much as eight milligrammes was it
followed by fatal results. Thanks, therefore, to their extraordinary
agility and remarkable power of resisting the effects of this lethal
toxin, these little animals are able to battle successfully with the
most dangerous reptiles.

The rapidity with which serpent venom becomes absorbed by the


system is almost incredible, and is well illustrated by the following
experiment. A rat was inoculated with venom near the tip of its tail.
One minute later the latter was cut off a short distance above the
point of inoculation; but this operation was quite unable to save the
animal's life, for even in that brief interval the poison had
accomplished its fatal work, and a few hours later claimed its victim.

This rapid diffusion of the venom helps to explain the difficulty which
is experienced in arresting the course of the poison by local
treatment, for its passage is too rapid to permit of its being
overtaken by superficial measures of even the most stringent
character. But Calmette points out that local precautions are not to
be neglected, for although they cannot nullify the action of the
venom, they undoubtedly do delay its progress, and thus create a
longer interval or respite, during which an opportunity is afforded for
administering the anti-toxin. Before, however, passing on to the
investigations which have culminated in the production of a specific
antidote for this terrible toxin, there are a few more details which
Calmette has furnished as to its character which are of interest.
Serpent venom is characterised not only by its intensely virulent
properties, but also by the tenacity with which it retains them under
diverse circumstances. Thus it may be stored up for a whole year,
and yet at the end of that time be as active as ever; and even after
several years, although its toxic powers are somewhat reduced, it
still retains them to a very appreciable extent.

Unlike the bacterial toxins, this venom toxin can stand exposure to
considerable temperatures without injury to its activity, and that of
the cobra only suffers after it has been submitted to 98° Centigrade
for twenty minutes. Sensitiveness to temperature varies, however,
with the snake from which the venom is derived. Thus the venom of
the so-called "tiger-snake" of Australia will stand being exposed for
ten minutes to from 100° to 102° degrees Centigrade, and its
virulence only disappears when this temperature has been applied
for twenty minutes. The venom of the "black snake," another
Australian variety, loses its toxicity at a temperature of between 99°
and 100° Centigrade; whilst an exposure to only 80° Centigrade for
ten minutes is sufficient in the case of viper venom, according to
Messrs. Phisalix and Bertrand, to profoundly modify its lethal action.
A continuous exposure for a fortnight to a temperature of 38°
Centigrade does not affect cobra venom in the least; but if during
that same time it has been placed in the sunshine, it entirely loses
all its lethal properties. Thus, a pigeon was inoculated with about
thirty drops of venom which had been exposed to the sun's rays for
fourteen days, and it survived; whilst another pigeon was inoculated
with a little over six drops of similar venom which had been kept
during this time in the dark, and it died in a quarter of an hour.
All these elaborate researches as to the character of serpent venom
were essential to enable the next step to be taken in the elaboration
of the antidote. Before this great achievement could be
accomplished it was necessary to first succeed in artificially
immunising animals against the effects of this powerful toxin, so that
the serum of such animals could be applied for the protection and
cure of other animals from the effects of snakebites.

It may be readily conceived that the task of artificially rendering


animals immune from snake poison was not an easy one, for the
process depends upon training the animal to gradually withstand
larger and larger doses of the venom; and considering the intensely
toxic character of the substance which had to be handled, the
danger was ever present of the animal succumbing to venom poison
before its serum had acquired the requisite pitch of protective power
to render it of service as an anti-toxin. Dr. Calmette tells us that he
carried out a very large number of experiments before he met with
success. But it is not necessary here to discuss his various efforts;
suffice it to say that at length his labours were rewarded, and the
following extract from one of his memoirs describes the methods
which he adopted for this purpose:—

"The best method of procedure for the purpose of


vaccinating large animals destined to produce anti-
venomous serum consists in injecting them from the outset
with gradually increasing quantities of the venom of the
cobra mixed with diminishing quantities of a one-in-sixty
solution of hypochlorite of lime.[8] The condition and the
variations in the weights of the animals are carefully
followed, in order that the injections may be made less
frequently if the animals do not thrive well. Quantities of
stronger and stronger venom are in turn injected, first
considerably diluted, and then more concentrated; and
when the animals have already acquired a sufficiently
perfect immunity, the venoms derived from as large a
number of different species of snakes as possible are
injected. The duration of the treatment is of considerable
length—at least fifteen months—before the serum is
sufficiently active to be used for the purposes of
treatment."

An immense number of animals have been vaccinated by this


method at the Pasteur Institute at Lille, where Dr. Calmette is now
director; and in one of his memoirs we are told that they have
horses there which have yielded during a period of eighteen months
serum extremely active against venom. These horses receive in a
single inoculation, without suffering the least inconvenience, doses
of venom sufficient to kill fifty horses fresh to the treatment.

Large quantities of this serum have been forwarded from the Lille
Institute to various parts of the world where venomous serpents are
most frequently met with, and already important evidence has been
collected as to its efficacy in cases of human beings bitten by
dangerous reptiles. So impressed with its importance are Indian
medical authorities, that its preparation has been included in the
work which the new great bacteriological institute at Agra is carrying
on.

The importance of the production in situ of this anti-venomous


serum has been recently demonstrated by the experiments which
have been conducted in the Plague Research Laboratory, Bombay, by
Mr. Lamb and his colleagues, on the keeping properties of such
serums in India. From the careful investigations which have been
made on this subject, these gentlemen state that anti-venomous
serum undergoes a progressive and fairly rapid deterioration when
stored in hot climates, and that this deterioration is greater and
more rapid the higher the mean temperature to which it is
subjected.
The protective potency of this horse-serum may be gathered from
the fact that it suffices to inject a rabbit, for example, with a quantity
amounting to about one two-hundred-thousandth of its weight to
ensure the latter acquiring complete immunity from a dose of venom
capable of otherwise killing it in twelve hours.

The rapidity with which it acts is also extremely remarkable. Thus, if


a rabbit receive two cubic centimetres (about fifty drops) of anti-
venomous serum in the marginal vein of one of its ears, it will suffer
with absolute impunity an injection of venom into the marginal vein
of the other ear capable of killing it under ordinary circumstances in
a quarter of an hour. Its curative powers are not less remarkable, for
it is possible to inject venom sufficient to kill an animal in two hours,
and to let one hour and three-quarters elapse before administering
the antidote, and yet at this late stage to save the victim's life,
although it is necessary where such a long interval has occurred
between the respective venom and serum injections to employ the
latter in larger quantities than is usually required. Dr. Calmette
believes that the anti-toxin may be applied at an even more
advanced stage of the disease if it is employed in yet larger doses.
Another novel and important feature about this anti-venomous
serum is the fact that it not only protects animals from one species
of very active venom, such as that of the cobra and other poisonous
snakes, but it also affords protection from the dreaded venom of
scorpions. This is a very remarkable and significant discovery, for
hitherto the opinion has been stubbornly held that each toxin
requires its specific anti-toxin for its correction. Dr. Calmette has,
however, frequently indicated by his researches that this view cannot
be considered so completely proven as is claimed by its supporters,
and his latest investigations support the theory that particular toxins
may be counteracted by several anti-toxins of different origin. Thus
it has been shown by Calmette and Roux that rabbits hyper-
vaccinated against rabies acquire the power of resisting venom-
poison, and that the serum of horses vaccinated against tetanus or
lock-jaw also nullifies the action of serpent venom.

The practical bearing of this discovery is obvious, and the hope is


justified that the at present cumbrous appliances required for the
elaboration of anti-toxins of such varied origin will ultimately give
way to simpler and less costly methods, which will admit of these
new antidotes being more widely circulated and applied.

We have seen that although most animals fall an easy prey to


serpent venom, yet there are a few notable exceptions, amongst
which may be mentioned hedgehogs, swine, and the mongoose.
Now the very natural question arises why, if these animals are
already in such a high degree immune from this poison, should not
they be employed to furnish forth protective serum, instead of
laboriously training up susceptible animals to become artificially
immune and supply this venom anti-toxin?

This brings us face to face with one of the many problems connected
with the subject of immunity which so far have successfully eluded
all attempts made to solve them. Experience has shown repeatedly
that although artificially acquired immunity from a particular poison
can be handed on by means of an animal's serum, yet the natural
immunity from a given poison enjoyed by one species of animal
cannot be similarly transferred to less-favoured varieties.

This fact has long been recognised in the case of poisons of bacterial
origin. Thus, white rats are absolutely immune from diphtheria, but
Wassermann showed some years ago that the serum of these
animals has no power whatever to counteract the action of
diphtheria-toxin in other animals. Guinea-pigs were inoculated with
fatal doses of diphtheria toxin along with white-rat serum; but
although other guinea-pigs treated with the same toxin mixed with
the ordinary artificially elaborated anti-diphtheritic serum survived,
those which received the rat serum died in every case.
Now very similar results have been obtained by Calmette in respect
to the serum of animals naturally immune from serpent venom. The
serum of the refractory little mongoose, as well as that of the
hedgehog, is wholly unable to save other animals from the lethal
effect of venom poison, and similar results have been noted in
respect to swine serum. But a very curious fact has also been
discovered by Calmette—i.e. that these so-called naturally immune
animals very frequently are quite incapable of being artificially
trained to elaborate a serum possessing protective powers which can
be transferred to another animal.

How splendid a domain for beneficent research lies before the


scientific investigator is apparent to all, and the important work
already accomplished is but an augury of yet greater discoveries
awaiting the labours of such leaders as Calmette. It is not surprising,
therefore, that the scientific interest in toxins and anti-toxins shows
no signs of abatement. On the contrary, the competition for
obtaining and working the new "claims" which pioneer research
enthusiasts are constantly engaged in "pegging out" remains as
keen as ever.

Despite, however, the extraordinary interest which this subject has


aroused in scientific circles all over the world, nearly ten years
elapsed before any notice was taken of the curious discovery made
by two brothers that the blood of eels contained a highly poisonous
principle, and the memoir containing this remarkable announcement
remained until comparatively recently buried in the Italian journals
where it was first published.

Calmette was, we believe, the first to call attention to this discovery


of the brothers Mosso and give it the prominence it deserves, and
both he and other investigators have not only fully confirmed it, but
have greatly added to our knowledge concerning the character of
the poison contained in eel serum.
Now the venerable Izaak Walton, in one of his quaint and most
fascinating discourses, which although written more than two
centuries ago have a freshness as if penned but yesterday, waxes
enthusiastic over the eel, and supplies an elaborate recipe for its
preparation for the table, telling us "it is agreed by most men that
the eel is a most dainty fish; the Romans have esteemed her the
Helena of their feasts, and some the queen of palate-pleasure." The
announcement that the blood of eels is poisonous will hardly, despite
its scientific interest, form a comfortable subject for reflection to the
modern votaries of this novel Helena. Indeed, in the present timid
temper of the public, this article of diet would not improbably share
the ill-odour which befell the unfortunate oyster and be practically
banished from our tables; but although the oyster is perhaps
justifiably at present ostracised from our menus, taking the majority
of its breeding-grounds into consideration, it would be the height of
injustice to measure out similar drastic treatment to the eel.

That the oyster bred in sewage-contaminated beds may revenge


itself upon its consumer by infecting him with the germs of typhoid
has been repeatedly contended, but that the eel, although its
unsavoury surroundings are proverbial, can be held responsible for
poisoning those who eat it has never, we believe, been seriously
maintained, although there is an old Italian saying which bids us
"give eels and no wine to our enemies."

Public confidence, however, in the eel as an article of food need not


be shaken, for it is satisfactory to learn that researches which, on
the one hand, condemn eels as living generators of a highly
poisonous substance, on the other hand allay any alarm which they
may have reasonably raised by showing that this toxic principle is
entirely destroyed in the processes of digestion, and that, therefore,
taken through the mouth it is rendered harmless, and only when
introduced into the system by inoculation beneath the skin or
injected into the peritoneum can it assert its dangerous properties.
That the blood of eels is, however, justifiably to be in future classed
amongst the toxins, the number of which has of late been so
increased, is at once apparent when we learn that about a dozen
drops inoculated into a dog weighing about fourteen pounds will
destroy the latter in less than ten minutes, whilst pigeons, rabbits,
and guinea-pigs similarly treated, only with smaller quantities, also
invariably succumb to its lethal action.

Quite recently an endeavour has been made to determine precisely


the degree of toxicity possessed by eel's blood, or, in other words, to
standardise the poisonous principle contained in it, so as to afford a
guide to those experimenting on the subject; and it has been
asserted that one cubic centimetre, or about twenty drops, injected
into the veins of a rabbit weighing four pounds, may be regarded as
a fatal dose for such an animal. But many difficulties surround such
an attempt to exactly define the degree of toxic action possessed by
such a substance, for, in the first place, the blood varies in respect to
this property in different eels, whilst it also differs widely in character
at different stages of the life of the fish. This seasonable variation in
toxic character has been noticed in the case of viper venom, which it
will be remembered was shown to be far more lethal in action when
collected from snakes in the spring of the year than in the winter
months.

The toxic substance contained in eel serum was originally called by


its discoverers, the Mosso brothers, ittio-tossina; and they record the
fact that the blood of rabbits and frogs, which animals had
succumbed to its action, did not coagulate after death, whilst,
curiously, in the case of dogs this abnormal phenomenon was not
observed.

There are various means which may be resorted to for destroying


the poisonous principle contained in eel blood, and from a dietetic
point of view it is satisfactory to know that heat-exposure for a
quarter of an hour to a temperature of from 57·7° to 77·7° Cent.
entirely removes it, whilst its virulence is greatly modified by
submitting it for a longer period, twenty-four hours, to a much lower
temperature, i.e. 37° Cent. It also gradually loses its toxic properties
eight days after it has been collected, even when carefully shielded
from light, a feature which contrasts favourably with viper venom,
which can be kept for more than a year and remains as active as
when first derived from the snake. We have seen also that its toxic
properties invariably succumb to the processes of digestion, so that
even if fashion or fad or advertising speculators, backed by scientific
names, were to decree that a wealth of nourishment and support
was contained in raw eel "juice," and the edict went out that it was a
desirable and highly important article of invalid diet, the general
public may, according to its wont, innocently accept the edict and in
this case suffer no evil consequences.

But another and very remarkable method of mitigating the virulence


of eel blood, and one which so far has received no explanation, is
mentioned by Dr. Wehrmann, of Moscow, who has been lately
studying the character of this fish's blood in Dr. Calmette's laboratory
at the Pasteur Institute at Lille. Dr. Wehrmann found that if blood
serum be taken from animals previously rendered artificially immune
to the action of serpent venom, and if some of this so-called anti-
venomous serum be injected under the skin of eels some hours
before they are killed, the lethal properties of their blood after death
are considerably reduced. Thus, an eel weighing about six ounces
received subcutaneous injections of five cubic centimetres of anti-
venomous serum; after the lapse of four-and-twenty hours it was
killed and bled, and its serum inoculated into animals in the usual
way. But whereas two cubic centimetres of normal eel blood sufficed
to kill a guinea-pig, this eel's blood had to be administered in twice
that quantity to produce a fatal result, so that its toxic character had
been reduced to a very appreciable extent. The readiness with which
eel serum parts with its lethal properties, and the restricted
conditions under which they can operate, sufficiently assure us that
in the present state of our knowledge there is no danger to be
apprehended from this fish, and in the absence of any experiments
to show what is the effect on human beings of subcutaneous
inoculations of such blood, there is no call for this substance to be
scheduled under the Poisons Act. We have, however, by no means
exhausted the extremely curious properties which characterise this
material, and these properties are brought to light in a remarkable
manner in connection with the investigations which have been
carried out to artificially protect animals from its lethal influence, and
also in some interesting experiments which have been made to
compare the toxicity of eel blood with that of vipers.

It is far from an easy matter to secure for experimental purposes an


adequate supply of eel serum, for even a big fish weighing nearly
five pounds is not capable of yielding more than about twenty-five
cubic centimetres of blood, and from this only from ten to twelve
cubic centimetres of serum are obtainable. Calmette has shown that
not only the venom glands of reptiles contain toxic substances, but
that the blood of such snakes also possesses lethal properties, only
in a far less degree. Curiously, the serum of eels is no less than
three times as toxic as the serum of the most vicious viper, and,
moreover, produces far more discomfort and pain to the animals into
which it is introduced than accompanies the injection of viper blood.
In the case of viper blood its introduction is followed by no
symptoms of discomfort, the animal remains quite quiet, growing
more and more somnolent, a condition which is followed by an
abnormal fall of temperature, ultimately ending in complete collapse,
symptoms which in a much more modified degree characterise the
injection of heated eel serum into animals. This heated eel serum,
which we have seen is deprived of the objectionable characteristics
of ordinary eel serum, produces but very transitory symptoms in
animals, occasioning some degree of somnolence, and now and
again a reduction in temperature, a condition from which, however,
the animals rapidly recover in from two to three hours. Animals,
however, treated with this heated eel serum acquire a power of
resisting the lethal action of unheated or ordinary eel serum, and
this artificially induced condition of immunity continues for about
three days after the completion of the treatment.

The protective properties of this heated serum are not restricted to


animals subsequently inoculated with eel serum, but are extended
also to animals which afterwards receive injections of viper serum;
but of much greater interest and importance is the remarkable fact
that heated eel serum, as well as weak doses of the latter not
heated but diluted with water, are capable of protecting animals
from the fatal consequences of the far more potent viper venom.

It is interesting to note that, although diluted eel serum can protect


an animal from so deadly a poison as viper venom, the serum of
vipers is quite unable to afford any such service in the case of
animals inoculated with ordinary eel serum. The full complement of
protective power obtainable from this treated eel serum is only able
to slowly assert itself, for it is necessary for a period of as long as
twenty-four hours to elapse after its introduction to ensure the
animal's system being thoroughly impregnated with it and enable it
to withstand a lethal dose of viper venom.

In this respect, what may be designated treated or protective eel


serum differs very markedly from anti-venomous serum, which we
have seen is serum derived from animals trained up to withstand
fatal does of serpent venom, for anti-venomous serum acts
immediately, and at once confers immunity on an animal from the
lethal effects of such venom.

The rapidity with which it acts is indeed one of the most astonishing
properties of this particular anti-toxin. Thus if two cubic centimetres
of anti-venomous serum be inoculated into the marginal vein of a
rabbit's ear, it at once confers upon the latter complete immunity
from snake poison. Immediately after the injection of the serum,
venom sufficient to destroy an ordinary rabbit in a quarter of an
hour may be injected with impunity into the vein of the other ear.
But not only are the protective powers of this serum so remarkable
in their degree, but its curative powers, a much more difficult
property to establish in a substance, are extraordinarily intense, as
may be gathered from the following example. Four rabbits were
inoculated with a quantity of venom calculated to destroy them in
the space of two hours; one of these four animals was abandoned to
its fate, but the other three received, practically at the eleventh hour,
viz. just fifteen minutes before the expiration of the calculated two
hours' respite, an intravenous injection of a small quantity of anti-
venomous serum, only amounting to one four-hundredth part of the
weight of each animal respectively. The rabbit which received only
the venom died at the end of two hours, whilst the other three
remained in perfect health.

But although eel serum can be persuaded to part with its poisonous
character and even exercise protective powers over otherwise
doomed victims, it is not able to stretch forth a healing hand to the
afflicted, for, when once the poison has been introduced, whether it
be eel or viper blood, or the venom of snakes, it is absolutely
powerless to mitigate or stop in any way the deadly progress of the
toxin. Thus whilst eel blood may acquire protective properties it
cannot acquire curative properties, and, therefore, treated eel serum
cannot be legitimately enrolled with the anti-toxins which have been
elaborated, as, for example, anti-venomous serum, for, to be worthy
of such rank, a substance must be capable of wielding both
protective and curative powers.

But, although eel serum may under certain conditions protect from
the lethal action of serpent venom, eels are not themselves under
ordinary circumstances endowed with any power to withstand the
influence of this poison, for a good-sized eel will succumb to a dose
of venom which is sufficient to kill a guinea-pig.

Considerable interest is attached to the fact that anti-venomous


serum not only acts as an anti-toxin towards serpent venom, but
also towards a poison of quite a different character, such as that
present in the normal blood of eels, for this fact tends to confirm the
view upheld by some authorities, that specific toxins do not
necessarily only yield to specific anti-toxins, and that a particular
anti-toxin may act as such towards divers toxins of varied origin and
character. Calmette has brought this point out very clearly in his later
investigations on the vegetable poison abrine, a very powerful toxin,
furnished by the active principle of the seeds or beans of a
leguminous plant common in India and South America, and
frequently used, as already mentioned, by the natives in India to
revenge themselves on their enemies in poisoning their cattle.
Immunising serums of various kinds were selected for testing their
protective action on animals poisoned with abrine, and it was found
that anti-tetanic, anti-diphtheritic, anti-anthrax, and anti-cholera
serums all individually exerted a decided immunising action with
regard to this powerful vegetable poison. The hope is, therefore,
perhaps not beyond the realm of possibility, that at some future time
the complexity of drugs which now figure in the chemists'
pharmacopœia may be replaced by a few substances the application
of which will come within the means and understanding of all. So far
we have not dealt with the artificial immunisation of an animal from
the action of eel poison, but this apparently offers very little
difficulty, and is accomplished by introducing very small and
gradually increasing doses of eel serum into the system, care being
taken to proportion the quantity given according to the weight and
general condition of the animal to be immunised. A rabbit, for
example, treated in the above manner, subsequently yielded a serum
which was proved to possess both preventive and curative powers in
respect to both eel poison, and viper venom and blood, entitling this
so called anti-eel serum to take its place amongst the anti-toxins,
and furnishing yet another instance of a substance exercising its
immunising influence over various toxins.
This process of gradually acclimatising, as it were, animals to a
particular poison by repeated doses of the same poison, recalls the
old proverb, "Seek your salve where you got your sore," and brings
us to a consideration of some of the primitive antecedents of a
practice which, at the present time, promises to bring about so
profound a revolution in the art of medicine. The modern system of
inoculation has, however, arisen quite without reference to such
antecedents, which latter were not based upon any scientific laws or
considerations, but owed their evolution to local customs and
experience handed down from age to age by tradition, and in many
cases preserved through a simple faith in the superstitions which
surrounded them.

To such a category must be added the curious superstitions indulged


in by the native population of Tunis regarding methods of preventing
hydrophobia in persons bitten by rabid animals. Dr. Loir refers to
these primitive ideas on the art of healing in a report of the work
carried out at the Anti-rabic Institute at Tunis, one of the many
centres for the prevention of rabies by Pasteur's method which have
been established in every quarter of the globe except Great Britain,
the inhabitants of this "great conservative island-Empire," as a
renowned foreign scientist describes it, still preferring a trip to Paris
to countenancing the establishment of an anti-rabic institute in their
own country. The Arab physicians in Tunis have from time
immemorial sought to specially identify themselves with cures for
this disease, which is so prevalent as to be a veritable scourge to the
country. A much-vaunted remedy advocated by the profession
consists in pounding up the charred head of a rabid dog with
vinegar, and administering an emulsion of the same to the patient.
The dung of camels is also highly prized as a remedy, as also the
water of certain wells which the simple faith of the natives has
endowed with supernatural curative properties. But the strangest
prescription of all consists in broth made from lambs a year old, to
which is added a peculiar kind of beetle, but in such a small quantity
that the latter ingredient only equals the weight of a grain of corn.
This concoction is given to the unfortunate patient twenty-three days
after he has been bitten. In the urine, according to the Arabian
doctors, seven small worms should be found which represent the
embryos of dogs engendered by the virus in the human body, and
which when once got rid of the patient recovers!

In the face of such crude traditions upheld with so much tenacity by


the native population, it is surprising that the Tunisian Anti-rabic
Institute has met with such a large measure of support in the shape
of applicants for admission, which, on an average, number over one
hundred annually. The mortality amongst those treated closely
approaches the satisfactory results obtained at the Paris Institute,
where the death-rate amounts to about 0·38 per cent. of the
persons treated.

There is perhaps no more interesting chapter in the history and


literature of medicine than might be compiled by searching out the
early uses of drugs and the primitive application of methods in the
art of healing, and tracing their connection, if possible, with the
practices which are in vogue at the present day. In the matter of
toxins and anti-toxins, or in respect to the modern theories of
preventive medicine, there would appear to be a curious link
between the methods based upon elaborate scientific inquiries and
those which arose through simple experience and expediency.

The idea of a poison, as the old proverb above tells us, being a
corrective for itself is no new idea, for we read how in ancient times,
for example, the Ophiogenes of the Hellespont were renowned for
their immunity to snake poison, and one account of them states
particularly that they fed upon serpents, and that to this diet they
probably owed their reputed magical art in withstanding the action
of serpent venom. Again, a traveller in Egypt, Hasselquist, tells us
how the serpent-charmers there eat serpents, making them into a
kind of broth, and that invariably before starting off to catch these
reptiles they partake of some of it.

In a paper by Mr. T. R. Rao on the Yánádés tribe of the Nellore


district, Madras Presidency, the author mentions that these strange
people have, amongst other characteristics, absolutely no fear in
catching cobras, which they draw out of their holes without any
alarm as to their fangs, and that they appear to protect themselves
against the effects of snake-bites by swallowing the poison-sacs of
snakes.

Bruce describes how he saw a serpent-charmer in Cairo who allowed


himself to be bitten by a viper between the forefinger and the
thumb, and made no endeavour whatever to apply remedies, neither
did he exhibit the slightest anxiety as to the consequences. That this
was no trick, and that the viper was really possessed of all its deadly
faculties at the time it bit the man, was proved by the fact that a
pelican subsequently bitten by the same animal died in thirteen
minutes. Bruce also tells of a man who "with his naked hand took a
viper from a number of others lying at the bottom of a tub. He put it
on his head, then in his breast, and tied it about his neck like a
necklace. Next it was made to bite a hen, which died in a few
minutes; and, to complete the experiment, the man took it by the
neck, and, beginning at the tail, ate it as one does a carrot or a stick
of celery, without any seeming repugnance."

A most interesting account of snake-charmers is given by Drummond


Hay, in his book on Western Barbary, in which he relates his
experiences with some of these wonderful individuals belonging to
the sect called Eisowy. Members of this sect, he mentions, frequently
handled scorpions and poisonous reptiles without fear or hesitation,
and they were never attacked by them. He was present at one of
their exhibitions of feats with snakes in which they both allowed
themselves to be bitten and provoked the snake to bite them. The
charmer thus bitten then in his turn ate or chewed the reptile,
which, he remarks, writhing with pain, bit him in the neck and hands
till it was actually destroyed by the Eisowy's teeth.

In South Africa snake poison is actually taken as a protection against


snake-bites, and if we turn to the Lancet of the year 1886, we shall
find a letter from Mr. Alfred Bolton stating that his curiosity had been
aroused by the fact that while in South Africa cattle and horses
frequently died from the effect of snake-bites, the natives
themselves seldom or never appeared to suffer any inconvenience
from such injuries other than would follow any accident which would
set up local inflammation. On inquiry he found that they were in the
habit of extracting the poison gland from the snake immediately it is
killed, squeezing it into their mouths and drinking the secretion,
thereby apparently acquiring absolute immunity from snake-bites. So
impressed was Mr. Bolton by what he observed that he adds: "I can
no longer refuse to believe in the efficacy of the snake virus itself as
a remedy against snake poison."

Savage tribes have learnt from bitter experience how to protect


themselves from snake-bites, and it is well known that they have a
method of inoculation which they employ with success. The Creoles
of Surinam use an ointment as a protection against snake-bites,
which is regarded as highly efficacious. It is reputed to consist
principally of the pounded head of a rattlesnake, which concoction
would therefore include the contents of the venom glands. This is
then mixed with the juices of a certain plant, which addition
probably mitigates the intensity of the venom by acting as a diluent.
This substance is generally applied by making an incision in the wrist
or forearm and rubbing it in, after which individuals thus treated
appear to enjoy security from the venom of snake-bites.

What applies to serpent venom would also appear to hold good in


regard to other poisons, such as that contained in the sting of a bee.
This poison is extraordinarily tenacious of its irritant properties, and,
unlike eel poison, retains its virulence even when exposed to high
temperatures.

An interesting memoir on the immunity of the bee-keeper from the


effects of bee poison was published a short time ago by Dr. Langer
in a German scientific journal. He issued a number of circulars with
questions to be answered, and sent these to more than a hundred
bee-keepers in different parts of the country, with the result that a
hundred and forty-four stated that they were now immune to bee
poison, nine having been fortunately endowed with a natural
immunity to this irritant, whilst only twenty-six out of the whole
number applied to stated that they were still susceptible.

This condition of immunity to bee poison is obtained after a varying


number of stings have been inflicted; in some cases thirty, at the
rate of from three to four a day, are sufficient to ensure freedom
from further discomfort, but the inoculations may have to be
prolonged up to one hundred stings to secure complete immunity.

In experiments carried out on animals this immunity to bee poison


has been also induced by repeated application of the irritant. It was
formerly generally supposed that the irritant nature of a bee's sting
was due to the presence of formic acid; but inasmuch as bee poison
can retain its poisonous character in spite of being submitted to
heat, which would effectually volatilise the formic acid present, this
assumption must be abandoned, and opinion is more inclined now to
regard this irritant substance as partaking of the nature of an
alkaloid.

Before closing this brief review of some of the most recent


discoveries which have been made in the domain of immunity, we
must mention some extremely suggestive and important researches
on the poison of tetanus, or lock-jaw, which have emanated from Dr.
Roux's laboratory at the Institut Pasteur in Paris.
It will perhaps be remembered that Pasteur, when working at
hydrophobia, experienced the greatest difficulty in exciting rabies in
animals with certainty, and that it was only when the fact of its being
a disease which essentially affects the nervous system of the animal
was taken into account that it occurred to him to cultivate the virus
in the medium for which it had seemingly the greatest affinity, viz.
the nervous tissue of an animal; it was only on taking this step that
he succeeded in invariably provoking rabies in the animals under
experiment.

In the case of tetanus we have another disease affecting the nerve-


centres of the body, and although many authentic cases have been
cited in which the treatment with anti-tetanic serum has been
entirely successful, a great many instances have occurred in which it
has been of no avail at all, more especially when the disease has
obtained a firm hold on its victim. Now Dr. Roux has not only been
carrying out experiments to ascertain what is the result of directly
attacking, as Pasteur did in the case of rabies, the nerve-centres of
an animal with the tetanus toxin, but he has also taken another and
very important step further, and has investigated, not only the action
of the toxin, but also that of the anti-toxin on the nerve-centres of
an animal suffering from tetanus.

In describing the cerebral inoculations which he has conducted on


animals, Dr. Roux points out that the operation, in itself, is attended
with no pain or even inconvenience to the animal in question, that
subsequently it eats with its usual appetite, and shows no signs of
discomfort.

First, as regards the infection of an animal with the tetanus virus


introduced directly into the brain, it has been found that very much
smaller quantities produce a fatal result than when subcutaneously
inoculated. Thus, a rabbit which received two cubic centimetres of
the poison under the skin took four days to succumb to tetanus,
whilst one-twentieth of the quantity inoculated into the brain
sufficed to kill another rabbit of the same size in less than twenty
hours.

Another very instructive example of this susceptibility of the nerve-


centres for certain poisons is afforded in the case of rats and the
toxin of diphtheria. Rats possess a natural immunity from this
substance, and can successfully withstand a dose of diphtheria
poison introduced under the skin which would infallibly kill several
rabbits. This state of immunity, however, entirely disappears when
the toxin is brought directly in contact with nervous tissue, for a very
small quantity of diphtheria poison—insufficient to cause under
ordinary circumstances even a passing swelling at the seat of
inoculation—will, when introduced into the brain of a rat, kill the
animal.

Again, rabbits are generally credited with possessing high powers of


resisting the action of morphia, a large dose of this substance
introduced subcutaneously producing no result whatever. A cerebral
inoculation, however, of a minute quantity of morphia causes an
immediate reaction, and the animal, after remaining in a more or
less dazed condition for several hours, finally succumbs to this drug.
Dr. Roux is inclined to regard this difference in the susceptibility
exhibited by animals to one and the same poison as being due to a
good deal of the toxin, when subcutaneously introduced, failing to
reach the nerve-centres, it having been destroyed or arrested in the
system before it could attack them.

What is the nature of the subtle forces which may so beneficially


intervene between the toxin and its victim has long been a problem
which has excited the interest and ingenuity of some of the most
brilliant scientific authorities of the day, and it is one which, even in
the hands of men like Metchnikoff, is still awaiting a satisfactory
solution!

The important point was next approached by Dr. Roux as to whether


an animal, successfully trained to withstand large doses of the
poison, as ordinarily introduced, could also resist it when directly
inoculated into the brain. Is, in fact, the undoubted immunity to
tetanus poison which may be possessed by an animal due to the
nerve-centres having become insensible to this substance? The
answer to this question would appear to be in the negative, for
animals artificially protected from tetanus poison introduced under
the skin succumbed to a small dose inoculated direct into the brain,
which would otherwise have not produced even a slight passing
tetanic affection of the limb where the inoculation was made.
Immense numbers of experiments were made under varying
conditions, but the result was fully confirmed, showing that the
nerve-centres had not acquired any immunity to the poison,
although the blood serum of the victims to such cerebral inoculations
was proven over and over again to be endowed with strong
protective properties against tetanus poison.

The endeavour was then made to, in Dr. Roux's words, "place the
anti-toxin where the toxin is working," and preserve the vital force of
the nervous tissue. To arrest tetanus by substituting cerebral for
subcutaneous inoculations of the anti-tetanic serum was the next
feat attempted. Several guinea-pigs and rabbits were inoculated
subcutaneously with virulent doses of tetanus poison sufficient to kill
them in about seventy hours; some were subsequently treated with
anti-toxic serum introduced in the ordinary way under the skin,
whilst others were inoculated with from six to seven drops of this
protective serum direct into the brain. The results were
extraordinarily successful. Although but a few drops of the anti-toxin
were used for the cerebral inoculations, the animals survived the
otherwise fatal doses they had received of the toxin; whilst out of
seventeen guinea-pigs which received subcutaneous inoculations of
the anti-toxin only two recovered, and the quantity of the anti-toxin
employed reached as much as from ten to twenty cubic centimetres
in some of the experiments, contrasting in a remarkable manner
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

textbookfull.com

You might also like