You are on page 1of 51

Artificial Intelligence Programming with

Python from Zero to Hero 1st Edition


Perry Xiao
Visit to download the full and correct content document:
https://ebookmass.com/product/artificial-intelligence-programming-with-python-from-z
ero-to-hero-1st-edition-perry-xiao/
Artificial Intelligence
Programming with Python®
Artificial Intelligence
Programming with
Python®
From Zero to Hero

Perry Xiao
Copyright © 2022 by John Wiley & Sons, Inc. All rights reserved.

Published by John Wiley & Sons, Inc., Hoboken, New Jersey.

Published simultaneously in Canada.

ISBN: 978-­1-­119-­82086-­4
ISBN: 978-­1-­119-­82094-­9 (ebk)
ISBN: 978-­1-­119-­82096-­3 (ebk)

No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or
by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permitted
under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission
of the Publisher, or authorization through payment of the appropriate per-­copy fee to the Copyright Clear-
ance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750-­8400, fax (978) 750-­4470, or on the web
at www.copyright.com. Requests to the Publisher for permission should be addressed to the Permissions
Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-­6011, fax (201) 748-­6008,
or online at http://www.wiley.com/go/permission.

Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or war-
ranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all
warranties, including without limitation warranties of fitness for a particular purpose. No warranty may be
created or extended by sales or promotional materials. The advice and strategies contained herein may not
be suitable for every situation. This work is sold with the understanding that the publisher is not engaged in
rendering legal, accounting, or other professional services. If professional assistance is required, the services
of a competent professional person should be sought. Neither the publisher nor the author shall be liable for
damages arising herefrom. The fact that an organization or Website is referred to in this work as a citation
and/or a potential source of further information does not mean that the author or the publisher endorses
the information the organization or Website may provide or recommendations it may make. Further, readers
should be aware the Internet Websites listed in this work may have changed or disappeared between when
this work was written and when it is read.

For general information on our other products and services or for technical support, please contact our Cus-
tomer Care Department within the United States at (800) 762-­2974, outside the United States at (317) 572-­3993
or fax (317) 572-­4002.

Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may
not be available in electronic formats. For more information about Wiley products, visit our web site at
www.wiley.com.

Library of Congress Control Number: 2022931189

Trademarks: Wiley and the Wiley logo are trademarks or registered trademarks of John Wiley & Sons, Inc.
and/or its affiliates, in the United States and other countries, and may not be used without written permis-
sion. Python is a registered trademark of Python Software Foundation. All other trademarks are the property
of their respective owners. John Wiley & Sons, Inc. is not associated with any product or vendor mentioned
in this book.

Cover image: © ktsdesign/Adobe Stock Photos


Cover design: Wiley
This book is dedicated to my family. To my wife, May, my son, Zieger, and
my daughter, Jessica, who make my life complete—­without them, life
would be meaningless. To my parents and my brother, who have shared their
life and love with me that ultimately made me who I am today. To my friends
and colleagues, who supported me throughout my career.

I would also like to dedicate this book to Grace Qing Wang, who sadly
passed away during the course of writing this book. Grace Qing Wang was a
young, energetic professional woman who was passionate about innovation
and artificial intelligence in education. She was also a collaborator and a
good friend. Through Grace I have made many professional connections
that were very beneficial to my career.
About the Author

Dr. Perry Xiao is a professor and course director at the School of Engineering,
London South Bank University in London, United Kingdom. He got his BEng
degree in opto-­electronics, MSc degree in solid-­state physics, and PhD degree
in photophysics. He is a charted engineering (CEng), a Fellow (FIET) from
the Institution of Engineering and Technology (IET), and a Senior Fellow
(SFHEA) from the Higher Education Academy (HEA). He has been teaching
electronics, software, computer networks, and telecommunication subjects
at both the undergraduate level and the postgraduate level for nearly two
decades. He also supervises BEng final project students and MSc project
students every year. His main research interest is to develop novel infrared
and electronic sensing technologies for skin bioengineering applications and
industrial nondestructive testing (NDT). To date, he has finished more than
12 PhD student supervisions, obtained two UK patent applications, published
more than 100 scientific papers, been editorial reviewer for nine journals, and
generated nearly £1 million in research grants.
He is also a director and cofounder of Biox Systems Ltd., UK, a university
spin-­o ff company that designs and manufactures state-­o f-­t he-­a rt skin
measurement instruments, AquaFlux and Epsilon, which have been used in
more than 200 organizations worldwide, including leading cosmetic com-
panies, universities, research institutes, and hospitals.

vii
About the Technical Editors

Dr. Hongmei (Mary) He (FHEA, SIEEE) is an associate professor of cyber-


security in the School of Computer Science and Informatics at De Montfort
University. Previously, she was a lecturer in AI and cyber security at Cranfield
University. She received her PhD in computer science from Loughborough
University in the UK in 2006 and gained sustained experience as a postdoctoral
researcher at various universities. She has worked as an academic in the field
of computer science and engineering for many years and has brief industrial
experience at Motorola Design House in China as a senior embedded system
engineer. Her research can be briefly divided into four themes: AI and data
science, cognitive cybersecurity, cognitive robotics and trustworthy auton-
omous systems, and computing theory and optimization. Dr. He is a senior
member of IEEE in the Computational Intelligence, Cybersecurity, RAS, and
Women in Engineering Societies.

Dr. Weiheng Liao, DPhil (Oxon), is a computer scientist and technology entre-
preneur in AI. He has authored and co-­authored a number of influential papers
in top journals and conferences and is the visiting scholar of several research
universities. His interests include machine learning, AutoML, deep learning,
explainable AI, natural language processing, and their applications in finance
and investment. He cofounded YouShore, one of the world’s first teams to
employ deep NLP to analyze social media data, to extract alternative data, and
to construct alpha signals.
If you want to know more about his recent work, please visit w w w
.madebydata.com.

ix
Acknowledgments

I would like to express my sincere gratitude to Wiley Publishing for giving


me this opportunity. I would also like to thank Devon Lewis, Liz Britten, Pete
Gaughan, Dr. Weiheng Liao, and Hongmei He for their support. Without them,
this book would not have been possible.

xi
Contents at a Glance

Prefacexxiii
Part I Introduction
Chapter 1 Introduction to AI 3
Chapter 2 AI Development Tools 23
Part II Machine Learning and Deep Learning
Chapter 3 Machine Learning 53
Chapter 4 Deep Learning 117
Part III AI Applications
Chapter 5 Image Classification 201
Chapter 6 Face Detection and Face Recognition 265
Chapter 7 Object Detections and Image Segmentations 337
Chapter 8 Pose Detection 433
Chapter 9 GAN and Neural-­Style Transfer 465
Chapter 10 Natural Language Processing 491
Chapter 11 Data Analysis 543
Chapter 12 Advanced AI Computing 613
Index659

xiii
xiv Contents at a Glance

This book is accompanied by bonus content! The following extra elements


can be downloaded from www.wiley.com/go/aiwithpython:
■■ MATLAB for AI Cheat Sheets
■■ Python for AI Cheat Sheets
■■ Python Deep Learning Cheat Sheet
■■ Python Virtual Environment
■■ Jupyter Notebook, Google Colab, and Kaggle
Contents

Prefacexxiii
Part I Introduction
Chapter 1 Introduction to AI 3
1.1 What Is AI? 3
1.2 The History of AI 5
1.3 AI Hypes and AI Winters 9
1.4 The Types of AI 11
1.5 Edge AI and Cloud AI 12
1.6 Key Moments of AI 14
1.7 The State of AI 17
1.8 AI Resources 19
1.9 Summary 21
1.10 Chapter Review Questions 22
Chapter 2 AI Development Tools 23
2.1 AI Hardware Tools 23
2.2 AI Software Tools 24
2.3 Introduction to Python 27
2.4 Python Development Environments 30
2.4 Getting Started with Python 34
2.5 AI Datasets 45
2.6 Python AI Frameworks 47
2.7 Summary 49
2.8 Chapter Review Questions 50
Part II Machine Learning and Deep Learning
Chapter 3 Machine Learning 53
3.1 Introduction 53
3.2 Supervised Learning: Classifications 55

xv
xvi Contents

Scikit-­Learn Datasets 56
Support Vector Machines 56
Naive Bayes 67
Linear Discriminant Analysis 69
Principal Component Analysis 70
Decision Tree 73
Random Forest 76
K-­Nearest Neighbors 77
Neural Networks 78
3.3 Supervised Learning: Regressions 80
3.4 Unsupervised Learning 89
K-­means Clustering 89
3.5 Semi-­supervised Learning 91
3.6 Reinforcement Learning 93
Q-­Learning 95
3.7 Ensemble Learning 102
3.8 AutoML 106
3.9 PyCaret 109
3.10 LazyPredict 111
3.11 Summary 115
3.12 Chapter Review Questions 116
Chapter 4 Deep Learning 117
4.1 Introduction 117
4.2 Artificial Neural Networks 120
4.3 Convolutional Neural Networks 125
4.3.1 LeNet, AlexNet, GoogLeNet 129
4.3.2 VGG, ResNet, DenseNet, MobileNet,
EffecientNet, and YOLO 140
4.3.3 U-­Net 152
4.3.4 AutoEncoder 157
4.3.5 Siamese Neural Networks 161
4.3.6 Capsule Networks 163
4.3.7 CNN Layers Visualization 165
4.4 Recurrent Neural Networks 173
4.4.1 Vanilla RNNs 175
4.4.2 Long-­Short Term Memory 176
4.4.3 Natural Language Processing and Python
Natural Language Toolkit 183
4.5 Transformers 187
4.5.1 BERT and ALBERT 187
4.5.2 GPT-­3 189
4.5.3 Switch Transformers 190
4.6 Graph Neural Networks 191
4.6.1 SuperGLUE 192
4.7 Bayesian Neural Networks 192
Contents xvii

4.8 Meta Learning 195


4.9 Summary 197
4.10 Chapter Review Questions 197
Part III AI Applications
Chapter 5 Image Classification 201
5.1 Introduction 201
5.2 Classification with Pre-­trained Models 203
5.3 Classification with Custom Trained Models:
Transfer Learning 209
5.4 Cancer/Disease Detection 227
5.4.1 Skin Cancer Image Classification 227
5.4.2 Retinopathy Classification 229
5.4.3 Chest X-­Ray Classification 230
5.4.5 Brain Tumor MRI Image Classification 231
5.4.5 RSNA Intracranial Hemorrhage Detection 231
5.5 Federated Learning for Image Classification 232
5.6 Web-­Based Image Classification 233
5.6.1 Streamlit Image File Classification 234
5.6.2 Streamlit Webcam Image Classification 242
5.6.3 Streamlit from GitHub 248
5.6.4 Streamlit Deployment 249
5.7 Image Processing 250
5.7.1 Image Stitching 250
5.7.2 Image Inpainting 253
5.7.3 Image Coloring 255
5.7.4 Image Super Resolution 256
5.7.5 Gabor Filter 257
5.8 Summary 262
5.9 Chapter Review Questions 263
Chapter 6 Face Detection and Face Recognition 265
6.1 Introduction 265
6.2 Face Detection and Face Landmarks 266
6.3 Face Recognition 279
6.3.1 Face Recognition with Face_Recognition 279
6.3.2 Face Recognition with OpenCV 285
6.3.3 GUI-­Based Face Recognition System 288
Other GUI Development Libraries300
6.3.4 Google FaceNet 301
6.4 Age, Gender, and Emotion Detection 301
6.4.1 DeepFace 302
6.4.2 TCS-­HumAIn-­2019 305
6.5 Face Swap 309
6.5.1 Face_Recognition and OpenCV 310
6.5.2 Simple_Faceswap 315
6.5.3 DeepFaceLab 322
xviii Contents

6.6 Face Detection Web Apps 322


6.7 How to Defeat Face Recognition 334
6.8 Summary 335
6.9 Chapter Review Questions 336
Chapter 7 Object Detections and Image Segmentations 337
7.1 Introduction 337
R-­CNN Family 338
YOLO339
SSD340
7.2 Object Detections with Pretrained Models 341
7.2.1 Object Detection with OpenCV 341
7.2.2 Object Detection with YOLO 346
7.2.3 Object Detection with OpenCV and Deep Learning 351
7.2.4 Object Detection with TensorFlow, ImageAI, Mask RNN,
PixelLib, Gluon 354
TensorFlow Object Detection354
ImageAI Object Detection355
MaskRCNN Object Detection357
Gluon Object Detection363
7.2.5 Object Detection with Colab OpenCV 364
7.3 Object Detections with Custom Trained Models 369
7.3.1 OpenCV 369
Step 1369
Step 2369
Step 3369
Step 4370
Step 5371
7.3.2 YOLO 372
Step 1372
Step 2372
Step 3373
Step 4375
Step 5375
7.3.3 TensorFlow, Gluon, and ImageAI 376
TensorFlow376
Gluon376
ImageAI376
7.4 Object Tracking 377
7.4.1 Object Size and Distance Detection 377
7.4.2 Object Tracking with OpenCV 382
Single Object Tracking with OpenCV 382
Multiple Object Tracking with OpenCV384
7.4.2 Object Tracking with YOLOv4 and DeepSORT 386
7.4.3 Object Tracking with Gluon 389
Contents xix

7.5 Image Segmentation 389


7.5.1 Image Semantic Segmentation and Image Instance
Segmentation390
PexelLib390
Detectron2394
Gluon CV 394
7.5.2 K-­means Clustering Image Segmentation 394
7.5.3 Watershed Image Segmentation 396
7.6 Background Removal 405
7.6.1 Background Removal with OpenCV 405
7.6.2 Background Removal with PaddlePaddle 423
7.6.3 Background Removal with PixelLib 425
7.7 Depth Estimation 426
7.7.1 Depth Estimation from a Single Image 426
7.7.2 Depth Estimation from Stereo Images 428
7.8 Augmented Reality 430
7.9 Summary 431
7.10 Chapter Review Questions 431
Chapter 8 Pose Detection 433
8.1 Introduction 433
8.2 Hand Gesture Detection 434
8.2.1 OpenCV 434
8.2.2 TensorFlow.js 452
8.3 Sign Language Detection 453
8.4 Body Pose Detection 454
8.4.1 OpenPose 454
8.4.2 OpenCV 455
8.4.3 Gluon 455
8.4.4 PoseNet 456
8.4.5 ML5JS 457
8.4.6 MediaPipe 459
8.5 Human Activity Recognition 461
ActionAI461
Gluon Action Detection 461
Accelerometer Data HAR 461
8.6 Summary 464
8.7 Chapter Review Questions 464
Chapter 9 GAN and Neural-­Style Transfer 465
9.1 Introduction 465
9.2 Generative Adversarial Network 466
9.2.1 CycleGAN 467
9.2.2 StyleGAN 469
9.2.3 Pix2Pix 474
9.2.4 PULSE 475
9.2.5 Image Super-­Resolution 475
9.2.6 2D to 3D 478
xx Contents

9.3 Neural-­Style Transfer 479


9.4 Adversarial Machine Learning 484
9.5 Music Generation 486
9.6 Summary 489
9.7 Chapter Review Questions 489
Chapter 10 Natural Language Processing 491
10.1 Introduction 491
10.1.1 Natural Language Toolkit 492
10.1.2 spaCy 493
10.1.3 Gensim 493
10.1.4 TextBlob 494
10.2 Text Summarization 494
10.3 Text Sentiment Analysis 508
10.4 Text/Poem Generation 510
10.5.1 Text to Speech 515
10.5.2 Speech to Text 517
10.6 Machine Translation 522
10.7 Optical Character Recognition 523
10.8 QR Code 524
10.9 PDF and DOCX Files 527
10.10 Chatbots and Question Answering 530
10.10.1 ChatterBot 530
10.10.2 Transformers 532
10.10.3 J.A.R.V.I.S. 534
10.10.4 Chatbot Resources and Examples 540
10.11 Summary 541
10.12 Chapter Review Questions 542
Chapter 11 Data Analysis 543
11.1 Introduction 543
11.2 Regression 544
11.2.1 Linear Regression 545
11.2.2 Support Vector Regression 547
11.2.3 Partial Least Squares Regression 554
11.3 Time-­Series Analysis 563
11.3.1 Stock Price Data 563
11.3.2 Stock Price Prediction 565
Streamlit Stock Price Web App569
11.3.4 Seasonal Trend Analysis 573
11.3.5 Sound Analysis 576
11.4 Predictive Maintenance Analysis 580
11.5 Anomaly Detection and Fraud Detection 584
11.5.1 Numenta Anomaly Detection 584
11.5.2 Textile Defect Detection 584
11.5.3 Healthcare Fraud Detection 584
11.5.4 Santander Customer Transaction Prediction 584
Contents xxi

11.6 COVID-­19 Data Visualization and Analysis 585


11.7 KerasClassifier and KerasRegressor 588
11.7.1 KerasClassifier 589
11.7.2 KerasRegressor 593
11.8 SQL and NoSQL Databases 599
11.9 Immutable Database 608
11.9.1 Immudb 608
11.9.2 Amazon Quantum Ledger Database 609
11.10 Summary 610
11.11 Chapter Review Questions 610
Chapter 12 Advanced AI Computing 613
12.1 Introduction 613
12.2 AI with Graphics Processing Unit 614
12.3 AI with Tensor Processing Unit 618
12.4 AI with Intelligence Processing Unit 621
12.5 AI with Cloud Computing 622
12.5.1 Amazon AWS 623
12.5.2 Microsoft Azure 624
12.5.3 Google Cloud Platform 625
12.5.4 Comparison of AWS, Azure, and GCP 625
12.6 Web-­Based AI 629
12.6.1 Django 629
12.6.2 Flask 629
12.6.3 Streamlit 634
12.6.4 Other Libraries 634
12.7 Packaging the Code 635
Pyinstaller635
Nbconvert635
Py2Exe636
Py2app636
Auto-­Py-­To-­Exe 636
cx_Freeze637
Cython638
Kubernetes639
Docker642
PIP647
12.8 AI with Edge Computing 647
12.8.1 Google Coral 647
12.8.2 TinyML 648
12.8.3 Raspberry Pi 649
12.9 Create a Mobile AI App 651
12.10 Quantum AI 653
12.11 Summary 657
12.12 Chapter Review Questions 657
Index659
xxii Contents

This book is accompanied by bonus content! The following extra elements


can be downloaded from www.wiley.com/go/aiwithpython:
■■ MATLAB for AI Cheat Sheets
■■ Python for AI Cheat Sheets
■■ Python Deep Learning Cheat Sheet
■■ Python Virtual Environment
■■ Jupyter Notebook, Google Colab, and Kaggle
Preface

The year 2020 was a year of turmoil, conflicts, and division. The most significant
event was no doubt the COVID-­19 pandemic, which was, and still is, raging
in more than 200 countries and affecting the lives of hundreds of millions of
people. I spent a good part of the year working from home. There are many
disadvantages of remote working; however, it does have at least one advantage:
it saved me at least two hours a day traveling to and from work. This gave me
more time to think about, to plan, and to propose this book.
I am absolutely fascinated with artificial intelligence, and I have read many
artificial intelligence books. But most of the books are heavily focused on the
mathematics of artificial intelligence, which makes them difficult to understand
for people without mathematics or computer science backgrounds. I have
always wanted to write a book that could make it easier to get into the artificial
intelligence field for beginners—­people from all different disciplines. Thanks
to the countless researchers and developers around the world and their open
source code, particularly Python-­based open source code, it is much easier to
use artificial intelligence now than 10 years ago. Through this book, you will
find that you can do amazing things with just a few lines of code, and in some
cases, you don’t need to code at all.
I am a big fan of open source, and for a research field as controversial as
artificial intelligence, it is better for everyone to work together. So, I want to
express my ultimate gratitude to those who made their work available for
the benefit of others.
We are living in an era of digital revolutions and digital technologies such
as artificial intelligence, the Internet of Things, Industry 4.0, 5G technologies,
digital twin, cybersecurity, big data, cloud computing, blockchains, and, on the
horizon, quantum computing. They are all being developed at a breathtaking

xxiii
xxiv Preface

speed. In the future, the Internet of Things will provide a means to connect all
things around us and to use sensors to collect data. The industry version of the
Internet of Things is called Industry 4.0, which will connect all sorts of things for
manufacturers. Digital twin is a digital representation of a process, product, or
service updated from real-­time data. With digital twin, we can predict problems
before they even occur, prevent downtime, develop new opportunities for the
future through simulations. 5G technologies will provide a means for fast and
low-­latency communications for the data. Cybersecurity will provide a means
to protect the data. Big data will provide a means to analyze the data in large
quantity. Cloud computing will provide the storage, display, and analysis of
the data remotely, in the cloud. Blockchains will provide traceability to the data
through distributed ledgers. Quantum computing will make some of the com-
putation faster, in fact, many orders of magnitude faster. Artificial intelligence
will be right at the heart of all the technologies, which allows us to analyze the
data intelligently. As you can see, all these digital technologies are going to
become intertwined to make us work better and live smarter.
That is why I have always said to my students, you can change your future.
Your future is in your hands. The key is learning, even after graduation.
Learning is a lifelong mission. In today’s ever-­evolving world, with all the
quickly developing digital technologies, you need to constantly reinvent your-
self; you will need to learn everything and learn anything. The disadvantage
of fast-­changing technologies is that you will need to learn all the time, but
the advantage is no one has any more advantages than you; you are on the
same starting line as everyone else. The rest is up to you!
I believe artificial intelligence will be just a tool for everyone in the future,
just like software coding is today. Artificial intelligence will no doubt affect
every aspect of our lives and will fundamentally change the way we live, how
we work, and how we socialize. The more you know about artificial intelli-
gence and the more involved you are in artificial intelligence, the better you
can transform your life.
Many successful people are lifelong learners. American entrepreneur and
business magnate Elon Musk is a classic example. As the world’s richest man,
he learned many things by himself, from computer programming, Internet,
finance, to building cars and rockets. British comedian Lee Evans once said
that by the end of the day, if you have learned something new, then it is a good
day. I hope you will have a good day every day and enjoy reading this book!
Professor Perry Xiao
July 2021, London
Preface xxv

Why Buy This Book


Artificial intelligence (AI) is no doubt one of the hottest buzzwords at the
moment. AI has penetrated into many aspects of our lives. Knowing AI and
being able to use AI will bring enormous benefits to our work and lives.
However, learning AI is a daunting task for many people, largely due to the
complex mathematics and sophisticated coding behind it. This book aims to
demystify AI and teach readers about AI from scratch, by using plain language
and simple, illustrative code examples. It is divided into three parts.
In Part I, the book gives an easy-­to-­read introduction about AI, including
the history, the types of AI, the current status, and the possible future trends.
It then introduces AI development tools and Python, the most widely used
programming language for AI.
In Part II, the book introduces the machine learning and deep learning
aspects of AI. Machine learning topics include classifications, regressions,
and clustering. It also includes the most popular reinforcement learning.
Deep learning topics include convolutional neural networks (CNNs) and long
short-­term memory networks (LSTMs).
In Part III, the book introduces AI case studies; topics include image
classifications, transfer learning, recurrent neural networks, and the latest
generative adversarial networks. It also includes the state of the art of GPUs,
TPUs, cloud computing, and edge computing. This book is packed with inter-
esting and exciting examples such as pattern recognitions, image classifications,
face recognition (most controversial), age and gender detection, voice/speech
recognition, chatbot, natural language processing, translation, sentiment anal-
ysis, predictive maintenance, finance and stock price analysis, sales prediction,
customer segmentation, biomedical data analysis, and much more.

How This Book Is Organized


This book is divided into three parts. Part I introduces AI. Part II covers
machine learning and deep learning. Part III covers the case studies, or the
AI application projects. R&D developers as well as students will be inter-
ested in Part III.
Part I
Chapter 1: Introduction to AI
Chapter 2: AI Development Tools
xxvi Preface

Part II
Chapter 3: Machine Learning
Chapter 4: Deep Learning
Part III
Chapter 5: Image Classifications
Chapter 6: Face Detection and Recognition
Chapter 7: Object Detections and Image Segmentations
Chapter 8: Pose Detection
Chapter 9: GAN and Neural-­Style Transfer
Chapter 10: Natural Language Processing
Chapter 11: Data Analysis
Chapter 12: Advanced AI Computing

Example Code
All the example source code is available on the website that accompanies this
book.

Who This Book Is For


This book is intended for university/college students, as well as software and
electronic hobbyists, researchers, developers, and R&D engineers. It assumes
readers understand the basic concepts of computers and their main components
such as CPUs, RAM, hard drives, network interfaces, and so forth. Readers
should be able to use a computer competently, for example, can switch on and
off the computer, log in and log out, run some programs, copy/move/delete
files, and use terminal software such as Microsoft Windows command prompt.
It also assumes that readers have some basic programming experience,
ideally in Python, but it could also be in other languages such as Java, C/C++,
Fortran, MATLAB, C#, BASIC, R, and so on. Readers should know the basic syntax,
the different types of variables, standard inputs and outputs, the conditional
selections, and the loops and subroutines.
Finally, it assumes readers have a basic understanding of computer networks
and the Internet and are familiar with some of the most commonly used Inter-
net services such as the Web, email, file download/upload, online banking/
shopping, etc.
This book can be used as a core textbook as well as for background reading.
Preface xxvii

What This Book Is Not For


This book is not for readers to purely learn the Python programming language;
there are already a lot of good Python programming books on the market. How-
ever, to appeal to a wider audience, Chapter 2 provides a basic introduction to
Python and how to get started with Python programming, so even if you have
never programmed Python before, you can still use the book.
If you want to learn all the technical details of Python, please refer to the
following suggested prerequisite reading list and resources.

Suggested Prerequisite Readings


Computer Basics
Absolute Beginner’s Guide to Computer Basics (Absolute Beginner’s Guides
(Que)), 5th Edition, Michael Miller, QUE, 1 Sept. 2009.
ISBN-­10: 0789742535
ISBN-­13: 978-­0789742537
Computers for Beginners (Wikibooks)
https://en.wikibooks.org/wiki/Computers_for_Beginners
Python Programming
Python Crash Course (2nd Edition): A Hands-­On, Project-­Based Introduc-
tion to Programming, Eric Matthes, No Starch Press, 9 May 2019.
ISBN-­10 : 1593279280
ISBN-­13 : 978-­1593279288
Learn Python 3 the Hard Way: A Very Simple Introduction to the Terri-
fyingly Beautiful World of Computers and Code, 3rd Edition, Zed A.
Shaw, Addison-­Wesley Professional; 10 Oct. 2013.
ISBN-­10 : 0321884914
ISBN-­13 : 978-­0321884916
Head First Python 2e: A Brain-­Friendly Guide, 2nd Edition, Paul Barry,
O′Reilly; 16 Dec. 2016.
ISBN-­10 : 1491919531
ISBN-­13 : 978-­1491919538
Think Python: How to Think Like a Computer Scientist, 2nd Edition, Allen
B. Downey, O’Reilly, 25 Dec. 2015.
ISBN-­10 : 1491939362
ISBN-­13 : 978-­1491939369
Another random document with
no related content on Scribd:
moesten ’n prop in d’r lijf hebben; dàn barstte opgekropte woede van
vernedering los. Maar nou! koesjt! Want de ouë oom Hassel was nog
veel erger dan de piep-jonge Willem.

Alleen Hesse was loom met z’n knieën in de kuil-voren gezakt,


woelde en groef voor zich uit, zwaarstoffig, gromde naast den ander,
die ’n standje beet had over z’n zang.

—Potdorie, nou mag je nie meer drinke … hei je main ooit!..

—Hier-op-pan!.… enne ikke mó’ m’n bek houe!.… da [301]weut je


ommirs van joàre.… wee je nie?.… die Seeuw van lest hier!.… wá’
die veur hupla’s hat.… dat ’t bai hoarlie nog tienmoal erger is.… op ’t
land!.… Dá’ sullie doàr puur de groaf op d’r kop kraige.… of de
skoffel in d’r sielement.…

—Nou.… wa.… Oùww!.… jemichkrimi!.… donderjenne!!.… kromp


Hesse plots in van pijn, afbrekend z’n zin. Met z’n hand was ie, diep
en woest, op ’n steen ingegraven, die z’n nagel afgescheurd had.
Bang nog voor loerblik van Willem, bleef ie doorwerken toch, zei ie
kreunerig wat van pijn.

—Nou wa!.… bromde de andere rooier, ik seg moar dá’ die ouë
rakkert van ’n Hassel main al drie keer ’n graof noà’ main harses
mept hep!.… toe’k ’n kwetiertje te loat maffe hep!.… en sain naif.…
uit de polder.… ranselt puur s’n rooiers mi de staikvork in d’r pinse.…
aas se effe wá’ segge.… onder hoarlie.… werrik!—

Bij elk woord, rukten z’n dof-groene klauwen den grond in, kluiterden
aardbonken voor ’m uit, sprak ie afgehakt en hijgend.

—Nou, die ken veur main, sain buik verliese.… giftte Hesse, z’n
zandhand in den mond uitzuigend, waar de nagel onder ’t vleesch
losgescheurd was.
—Jesis.… wá’ jai main ’n roer-menietje bin!.… lolde de ander.…
f’rleje joar he’k main duim afhakt.… hier kaik.. mi de moker.… op de
schee.… scheeringpoaltjes.… ik hep sain d’r soo moar anplak.…
hep effe moar bloed.…

—Nou.… ik f’rrek weer van de dorst.… ik sit éé.… effetief te


broaje!.…

—F’rjenne main strot brandt m’of.… ik naim ’n urretje.. benne jullie


kerels.… wegsture.… hai ke main nie misse!..

Weer was ie opgesprongen naar z’n kruik, die blinkte bij nog niet
gerooid bed-end, slobberde gretig z’n lauwe slappe koffie.—
Zweetvet drupte ’m langs z’n rooiige gezicht, den bronzigen hals in.

Willem Hassel had geloerd, maar durfde toch niets zeggen, nou ie
zag dat de kerel ’m wel wat mans leek.—

Kees was van z’n boonen aan ’t wortelen wieden gezet. Zweetzwaar
en paf-heet ploeterde ie hurkend, met stekende lendepijn [302]van
ongewoonte. Driftiger grabbelde z’n hand tusschen ’t gewas, en
telkens brandde ie zich aan netels. Boordevol werkdrift zat ie. En
giftig, heftig, was ie op z’n neef Willem, nou ie gehoord had, hoe
bazig ie ’n stakker, die daar te druipen stond van zweet, had
afgebluft om ’n slok drinken in de hitte. Wat ’n branie! Nou dat ze’r ’n
beetje bovenop gekomme binne! Eerst toch net zoo arme skooiers
aa’s sai.… en mi gelukkies en gapperaie bai de bolle.… en
bloedsuigerwerk!.. nou leeke ’t heere.… Je sou se ’n skoffel op d’r
test sloàn.… ’n mestvork in d’r pins steke!.… die skarre!.…

Vlak voorbij ’m schoof Willem Hassel, langs greppelland.—Heerig


voelde de jonge kerel zich en tartend wou ie dat volkje ereis toonen
dat hij mocht luieren als ie wou en zij niet. ’n Kwartier bleef ie
rondkijken, zonder ’n hand uit te steken. Jaap z’n jongere broer, die
te poeren hurkte als de meest ondergeschikte rooier, lollig royale
kerel, hinderde ’t bazige doen van Willem.

—Seg, sou je je aige nie rais afprottetaire.… je stoan net soo mooi te
kaike hier.… Hee! foader!.… hai staikt t’ met gain poot uit!.…

Kees groeide van lol. Hij had Jaap wel de hand willen drukken, al
sprak ie uit gewoonte, ook al jaren niet met ’m.

—Lá’ sain s’n gangetje, zei norsch oom Hassel, wien bestig ’t
stramme van Willem beviel.

Overal rondom dorde en rotte in den warmen Junidag, verstorven


blad op bollenakkers, geel en groen-fletsig bruin, kleurfijne nazang
van loof, op tulpendood. De lucht stond strakblauw, wijd licht. Van
den Lemperweg geurde en dromde zware boomgordel, in groene
pracht. Laag kromden de takken, met bladerdos op bollengrond,
hooge boomendrom, in ’t lichtgoud geheven, stil, met nu en dan
windruisch door ’t pluimige groen-goud, zwaar-wiegelend als met
moeite, glanzen en licht verwuivend over de verre stille akkers en
werkers. Een boomhoek, teruggedoken als poort, waar lichtglans op
bladranden nog éven afzilverde, schaduwde in diep donker groen,
leek één bladerdrom, zonder zichtbaren stam, neergewolkt [303]groen
op akkergrond. Op het zalig-wijd, rustig bollenland, hurkten klein de
blauwkielen, ingebogen met kop naar de aarde, wiedend-zoekend
tusschen nog lichtend hyacintenloof, naar ziek loof. Om hen ademde
in diepe rust, de groote trillende stilte, ruischte ademhaal van het
licht over de velden. Orgelende geluidjes aeoliënd, doorzilverden ’t
hemelblauw neerregenend over de akkers, in snoertjes trillenden
zang. Verzwakte straatgeruchten van den weg af, woeien éven nog,
vaag-klankend áán. Overal gooiden de blauwkielen de
zilverbeflonkerde rooischalen voor zich uit, was er zwaar geploeter
van werkers met bestoven zakken en mandjes bollengoed, naar het
pad sjouwend op handkarren. Naar alle kanten uit, van de
zondoorstroomde akkers, kropen de wieders in fellen goudbrand,
blondden de groote stroohoeden van enkele ingehurkten uit, bòven
verdord goud-brons loof. Wat witte hoeden stipten blank in ’t licht.
Eén groepje kruipende aardwroeters, net achter de haag van ouë
Gerrit’s akkers, werkte met kleine petjes op, dat ’t zweet ze van ’t
gezicht gutste, kropen tusschen ’t groen, in hun kielkleur als blauwe
voortschuivende vlekken, die afdropen in zonnebrand. En prachtig,
over nog groenende, puntig-neergekrulde tulpbladen zeilde en
moireerde zilveren forelleglans van licht, en fijn sidder-golfde ’t loof
in áánfluisterenden windsuizel, droom-zacht, àl méér en méér; week
geruisch, rond gréép en donkere wroet, van zwart-verbronsde
werkhanden; geruisch om de lijven, in lichtgewiegel van glanzen
door ’t loof; loom gezang van de aarde, naar ’t lichtende, groeiende
leven. In hooger groen, uitgebladerd, stonden in stille aandacht de
akkersingels, met goudstof bevonkt op dwars-uitstekende blaadjes,
hier en daar gloeijend als enkel wit vuur. En langs de padkanten van
akkers, waar de karren donker wachtten, in geduldstand op lading, in
’t naakte licht, fonteinde ’t siergras in beverige straaltjes, zilveren
glansdrup tusschen den roesttint van zuringwild, sprietend zachtelijk
over den fijn-rossigen zandgrond, vervocht in ’t dampende
akkergoud. Boterbloempjes schaterden in glans, paardebloemen,
uitsterrend als zonnetjes, wielden goudkringetjes [304]rond, en in
wemeling dartelde tusschen boeketten van akkerhoorn en madelief
uit, gonzende vurige streep-glans van insekten. Telkens in ’t wilde
grasgroen donsde koekoek met z’n rose-fijn behaarde knopjes
tusschen de zilverende drup van grasbevertjes, vlekten ze open-
gegroeid, lilarood rond ’t goud van boterblom en sierwit van schitter-
blanke waterster.

En veel verder op akkergroen in het wazende lentelicht, éven


schroeiend de aarde, als voorspel van laaienden zomerbrand en
werkroes die te komen stond, kleurden òp werkers in zaaigebaar,
even ingebogen ’t lijf, in rood hemdenbaai, dat warm donker-bloedde
tegen den goudglans van groenen singelendrom.

—Die soaie nog kool en wortele, bai Rommeloar, bromde Gerrit


tegen Dirk.

’n Paar dagen later kwam ouë Gerrit op ’t land, achter zijn huis.

—Hai manne! ik hep ’n daik gras kocht.… hoho!.… ho!.… in de


polder, achter ’t fort.… jullie kenne t’met aa’s droog blaift op hoope
steke.… de moaier he’k sproke.… ’n poar doàge is ’t overend set.…

—Dan mog je hier nog wel ’n kerel stelle, Ouë.

—Nog ’n vent? en Kees dan!.… d’r blaift t’met niks of’r.… An Peters
van de Baanwaik hé’k femurge twee hoek oarbeie f’kocht.… en drie
hoek an De Gauw.… veur Duitsloànd!.… sloffies, mi en sonder
doppies.… half raip an de pluk!.…

—Nou Ouë!.… la de soete fransies veur Amsterdam!.… da lief ik!.…


dà wee je!.…

—Netuurlik, gromde de Ouë, ken ie beterder suipe.… sonder daa’k


sien!.…

Tegen den middag werd ’r ’n kwartiertje geschaft, lagen de werkers,


wellustig-vadsig uitgerekt op d’r buik, met handen onder de kin
ingehaakt, luiig-lekker, soezend in schaduw van haagjes. Lichte
dagschroeiing was afgekoeld wat, en blond glansde ’t licht over de
velden. Hommels streepten van allen kant fluweelige kleurtjes door
de lucht; zoem-zoem zongen de bijen. En brom-zwaar gonsden de
staalschittervliegen gouden [305]glanswieltjes om de nu even stille
hoofden der werkers, neerplakkend op hun zweetgezichten, dat de
loome kerels, woest met de handen om zich heen sloegen, zonder
de zoemers te raken.—
Kees had ’n dikken broodhomp met roggebrood uit z’n stukkenzak
getrokken, en gretig hapte z’n mond in ’t blanke kruim.

—Gaif main ’n bonk uit je koartesak, riep Piet naar Dirk, die juist ’n
stuk brood, dat ie te veel had, weer in z’n vuilen stukkenzak wou
wegduwen.

Kees, in wije kakensperring, hapte door, gretig. Ant had weer wat op
den reutel gekregen, nou ze zagen, dat Kees aan ’t werk was.
Goedig en rustig zat de kerel, lekker zichvoelend in de
zonkoestering, blij dat ie wat kon meenemen voor Wimpie. Zelf wist
ie niet goed waarom, maar hij voelde zich zóó bestig en tevree, nu ie
zwaar-ploeteren kon en wat verdiende, dat ie den Ouë wel wat wou
zeggen, al loerde die nog zoo stug-angstig naar ’m op.

—F’rdroaid aa’s t’met ’t gewas opskiete wil.… d’r waa’s te veul kou..
tussche.… nog gain oarbaie.… t’met half Juni!

—Watte? duwde Piet, met zwaren kouw-mond, volgepropt met


brood, er tusschen door, kaik die spersies!.… die boone hé’k ’r veur
vaif doàge in de grond douwt.… en nou kaike se puur d’r al boofe
uit.…

—He-je-me van-je-laife!.… verbaasd riep Dirk.… daa’s hoast bai!.…

—Murge moar an de Beek.… raise sette bai de boone.… kwam ouë


Gerrit door ’n greppel voortsjokkend, weer invallen,—ik mo wâ
tullepies op stelling droàge, veul te vroeg rooit.… sien nog puur
wit!.… en loa t’r wá’ tussche de oarebaie anharke.… hee?.…

Ouë Gerrit, zonder antwoord af te wachten, sjokte de greppel uit, ’t


erf op, in huis.

Vrouw Hassel zat op de punt van ’n stoel voor potdicht raampje, met
’r neus achter ’n groote blompot geranium, die vuurde tegen ’r
grauwe kop, en vochtige aardlucht uitwasemde. Geel-grauw stond ’r
rimpelig gezicht. Ze had zich weer driemaal [306]bevuild. Nou was ’t
uit. Guurt wou niet langer blijven, als de Ouë er niet Dokter Troost
bijhaalde. Nou, in ’n half jaar was ’t zóó verergerd, dat ze de heele
boel bedierf.

Dat zou ie nou moar erais doen … Nou moar weer es op stap noar
dokter. Dat die vervloekte kerel sain niet in ’t ziekefonds wou
naime.… kostte sain zoo de hoaren van z’n hoofd. En noar een aer
loopen kon ie ook niet. Want de notoaris waa’s dokters zwager, die
sain veurskoten had.… En van ’t winter most ie miskien weer bai
sain ankloppe veur mest!.… mi vaif persint? Neenet! hai sou moar
stiekum morge er op afstappe.… ’t waif vroage gaf tug niks!.…

Den volgenden dag vroeg, stond Gerrit in ’t duffe apotheekje van


dokter Troost. Vol dromde ’t ’r van ziekenfondsklantjes, armelijke
vrouwen met klierhoofdige kinders, jongetjes en mannen. De
apothekersbediende, dunharig grijs kereltje met groote bril, stond
drentelig-langzaam van gebaar, achter z’n toonbank, wat fijn te
stooten. Dof dreunde z’n stamper in den glans-prachtigen, rood-
koperen vijzel. Z’n scherpe neus, ompoeierd van rooiige sproetjes,
haakte òp, dat de reuk-gaten wijd-open holden in ’t gezicht, en nijdig
bitste gespannen z’n mond, kwaadaardig, als hield ie strak, spoelsel
tegen kiespijn-schokken in. Telkens zei ie wàt, achter z’n toonbank
uit, tot een van het ziekenfondsvolkje.

—En jij vrouw, wat jij?

—Nou.… sien uwes mehaier!.… nou.… haa’k groag dokter.… d’r


saitje.… sien uwes.… d’r saitje,.… d’r heule saitjes t’met één pain!.…
enne.…
—Seg vrouw, ik ken me tijd anders gebruike.… draal niet zoo.…
kort! wat heb je?.… bitste ie af, barscher spannend z’n mond, met
drift-stoot z’n bril bij de ooren vastdrukkend, in ongeduld-gebaar
weer grijpend naar z’n stamper. Verward en geschrikt, stotterde
tuindersvrouw er nog wat uit, duwde ’n kindje, dat laag aan ’r arm
hing, naar voren, snauwend in drift-verlegenheid tegen stumpertje,
dat ’t maar zelf zeggen moest wat ’t had. Ouë Gerrit, wrevelig, dat ’m
zoo veel volk [307]voor was, stond ingedrukt achter ’n paar breeë
vrouwenruggen, te staren naar de bruine kastjes, waarin de witte
zalfpotten rijden, blank-beglansd in hun wit steen, met hun scherpe
zwarte titeltjes. Zacht voor zich uit las een voor ’m, naampjes van de
potten af.… haperig spellend, wezenloos:

—U.… ung.… a.. a.. aci.. aci.. ci.… Bor.. Bor.. Bori.. ci!..

Gerrit hoorde ’m brommen, begreep d’r niks van.… niks. En


angstiger staarde ie òp tegen de eikenhouten zuiltjes, waar de
standflesschen, met bruine en rooie vochten ingerijd tusschen
flonkerden, op de mahoniehouten plankjes, netjes en ordelijk.—Te
jeuken begon ’t ’m. Zoo’n glad prêchtig fleschje.… tjonge.…
tjonge.… huhu!.… hu.… sou mooie woar weuse.… Moar hoe komp
je doàr bai?.… Godskristis sou faine woar weuse!.…

Eindelijk had de vrouw, voor de toonbank gedrongen, duidelijk


gemaakt wat ’t kind scheelde.—Vlug ratelde ze af, kordaat, aan ’t
end nog in bijdraai:

—’t Skoap hep sekers koors.… se kwailt puur van d’r pain in d’r
saitje.…

Assistentje stond ernstiger van z’n stamper naar ’t kind te kijken, dat
met blond krullebolletje net even boven apotheekbank uitkeek, ’t
klein bang gezichtje sip òploerend naar de glanskopering en ’t rood
vonkwerk van al kleinere stampertjes, die voor d’r neusje uitgestald
stonden, naast weegschaal.—Wasem van kruiden en
benauwingslucht van warme smerige lijven, zoog door ’t winkeltje. ’n
Jongetje achter de toonbank, op ’n trapje, verrinkelde tusschen
medicijnfleschjes ’n licht schoonmaakspel. Zoete valeriaan en
jodiumstank drong benauwend door, uit den kelder.… Stil, versuft en
beangstigd van eerbied, stond ’t fondsvolkje, glanspotjes, fleschjes
en schaaltjes te bestaren, luisterend in ontzag, naar de woord-
afhakkende stem van assistentje.

Vrouw met kindje was geholpen door den grijzen, grimmigen


bediende. Van ’t geval had ie geen zier begrepen. Zou wel wat larie
zijn. ’t Wijf wist zelf niet goed wat ’t kind scheelde. [308]Toch voelde
assistentje zich kregel, dat de dokter hem iederen morgen met dat
vieze fondsvolkje opscheepte.… Nou ja, dat heette wel, gewone
gevalletjes. Maar d’r kwamen zooveel rare zaakies bij, waar ie geen
spier van snapte.… en waar ie toch raad moest schaffen!.…

Weer was ’n dikke vrouw, kordater dan de eerste voor de toonbank


geschoven, had bediende z’n stamper neergelegd en z’n bril vaster
op de ooren gedrukt.

—Wel.… wat had jij moeder?.…

—Menaijr.… waa’k op haide hep.… is skrikkelik!.… daa’s puur moar


duisel op duisel.… en aldegoar sterretjes veur m’ooge.… ik bin d’r
puur daas van!.…

Ze had gesproken in vuur, met grove harde stem, en ’r dikke


knuisten maakten voor nijdigen wipneus van assistentje, beverig
snelle gebaartjes, om ’m haar sterre-wemeling voor te stellen.

—Soo, soo, zei strak-wijs en peinzend assistentje, zich krabbend


tusschen z’n grijze dunne haren, van z’n kruin tot in den nek, met
zwaar raspend nagelgekras.
—Soo.… soo.… ga je goed af?.…

—Nou menaijr.… mit uwes pirmissie.… nie soo aa’s ’t.…

—Soo.… soo, onderbrak ie ’r, duwend nijdig op z’n brilmontuur.

Maar door sprak de vrouw:

—Aa’s ’t.… aa’s ’t mot.… ik hep oambaie.… sien u.…

—Soo.… soo! onderbrak ie norsch, weer stuitend uitleg, steek je


tong ereis uit!—

Wijd lapte dikke vrouw ’r tong uit den mond, waarop wijs-
geheimzinnig, grijs assistentje staarde, zich telkens den bril
kwaadaardigjes op den neus vaststootend.

Zenuwachtig bleef dikke vrouw d’r mond sperren, dat ’r wangrood


schminkte van kongestie, ’n kreungeluid ’r rooie holte uitkermde,
terwijl ’r handen op de toonbank pianoden in vingerdrift.

—Soo.… soo! zachter zei assistentje.… Nou moeder.. je bin wat


volbloedig.… Als je ’n trap opgaat.… heb je ’r dan ook wel last van?
[309]

Niet goed wist ie wat anders te vragen, dan juist, dàt, wat ie dokter
zoo dikwijls had hooren zeggen. Dikke vrouw stond weer klaar, met
gretigen uitleg:

—Seg ’t uwes dà wel!.… aa’s ’k ’rof mot.… enne aa’s ’k er òp mot.…


Veur ’n waik ston’k bai de smitse.… uwes weut.… main man is
Storp.… de smit.…

—Soo.… soo! onderbrak weer assistentje, dof geluiden stampend in


vijzel, die roodkoperen gloedjes afvonkte door duffe apotheek.…
Nou.. ik zal je ’n poeiertje geve.… vier maal daags.… vanmiddag
klaar.…—En jai? vroeg ie in-één door, dikke vrouw negeerend, die
nog wat zeggen wou.

—Moar menaijr, kaa’k nie wachte.… ’n uurtje.… ikke kâ


gosonmogelik terugkomme.… ’n uur wait hier hain.…

Ze drong weer naar voren de dikke vrouw, wegduwend met


armenvet, andere patient. Nijdig keek assistentje ’r aan.

—Heb je geen oore.… van middag.… geen minuut eerder!

—Moar.… main kindere.… dan kaa’k nie weg.… twai legge d’r
siek.…

—Heb je geen oore, schreeuwde ie, bleekig van drift, dat de dikke
vrouw bedremmeld wegbukte door de achterstaanders, de deur
uitschonkerde.

—En jij, vrouw?

—De klaine hoest d’r aige deur twaie.… hai leg te rille aa’s ’n oal.…
en aile datie doen.… aile!!

—Steek je tong eris uit jonge! bitste ie kort-strak weer.

Roodharige moeder lichtte, bullig-zwaar kind, met inspanning ’n end


boven de toonbank. Als ’n gaper sperde ’t de kaken, krijschte ’r
angsthuil uit z’n vertrokken mondje, bang, dat de brilleman ’m iets
doen zou.

—Nie bang sain me-jonge.… Mehair doen je niks.… puur niks!.…

—Bà-à-ng.… bà-àng, gilde in krijsch-angst kereltje, dat zich hangen


liet, nauw wringend en trappend met z’n onderlijf naar beneden,
tegen de bank, in gesmoorde voetstooten, dat moeders gezicht
vuurrood stramde van inspanning.

—Hou je bek schreeuwleelik!.… ja vrouw, als je de jonge [310]niet stil


krijgt.… mo je maar wachte tot ’n andere keer.… En jij?.…

Weer schoof patient vóór, de roodhoofdige vrouw met den


spartelenden schreeuw-jongen, die zich vastgehaakt had aan ’r
schort, opzij duwend.

’n Donker behaarde kerel was ’t, hoog boven wijs brilgestaar van
assistentje uitkijkend.

—Joa … klonk dreig-zwaar z’n stem, ik.… ikke kom veur main waif..
an ’t end van Duinkaik.…

—Soo.… soo!.… en wá’—

—Nou.… seg.. wacht erais effetjes!.. hep jai d’r puur effe geduld
mee.… loa me rais denke.… kaike?.… wá’ hep se tog weer said.. ’t
waif?.. je ken ’t moar nie in je kop skraive!.… Ojoà! se hep puur al.…
vaif nachte pain hier.… doar.… bai d’r bui-j’k.… se hep ’n
deureloop.… saa’k moàr klesseneere hee? en uitskaie ken se nie.…
vat je?.…

—Soo!.… soo! dan sal.…

—Nou wacht erais effe!.… hep nie soo’n hoast smakwammes!


hée?.… Sien je.… nou wou’k dokter sellefers spreke.… Hep ’t waif
sait.—Z’n stem intoneerde Wierelandsch spraak-zangerig, boven
assistentjeshoofd.

—Dá’ ken nie.… Dokter is t’r nie.… Of ze mot maar zelf hier
komme.…
—Dá’ ka’ je begraipe! Se ken puur gain kippestap doen.. nee Ouë.…
se haigt in malkoar van swakkighait.… Neenet.. ik mo dokter
hebbe.…

—Soo.. soo.. nou als je d’r op staat, zal dokter late wete wanneer ie
komme kan.…

—Daa’s net.… moar.. moar gaif jai d’r nou vast ’n drankie mee.…
hée smakwammes!.… daa’s aêr krek of ’k nie weust bin.… Sai.… sai
ken kwoalik stappe.… enne.… sai loopt puur laig.… soo slap aa’s ’n
tieme is ’t waif.

Luidruchtig sloeg z’n stem door ’t kruiperig fatsoen van ’t


vrouwenvolkje, en de drukkende stilte. Achter lachten en kakelden
wat vrouwen, waar vrijer nu ’n kerel vuile grapjes verkocht. [311]

En telkens drongen anderen naar de toonbank, liet grijs klefferig


assistentje ze de tong uitsteken als ze zelf wat hadden, scheepte ie
ze af, met ’n medicijnbeloftetje.

Een vrouw, nog ’n beurt vóór ouë Gerrit, kwam aansukkelen,


mank.…

—Mehair.… nou kaa’k tòg nie mair.… da’ wachte!.…

—Soo.… soo; en wat had je?.…

—Daa’s te segge, nou bin’k al dertien doage, omme de doàg hier


hainkomme, mit.… main klaine maid.… Enne nou kaa’t skoap.… tog
nie en mair.… Se lait te haige na d’r oàsem.… D’r kail is aa’s ’n
krop.… soo.… meroakel dik! en nou deur al d’r laije!.…

—Soo.. soo!.. steek je tong d’ris uit!—Verstrooid, niet luisterend had


assistentje z’n peins-vraag gedaan, met den stamper nog in z’n
hand, woedend op de meid dat ze ’m nog geen thee kwam brengen.
—Nainet moàr! nainet moar! da’ he’k nooit nie van main laife an de
hand en had!.… drift te ’t vrouwtje verbaasd uit, ’n sleurige sleep aan
’r been gevend, dat ze laag-ingezakt aan één kant met ’r woedend
vraaggezicht ouë Gerrit kon aankijken.

—Wa’ mot ie van main tong!.… aa’s skoap thuis te krepaire lait.…
soo sout hé’k nooit-nie.…

—Soo! soo! Och! nou ja.… ik bedoel je maid.… heb je ’r tong


gezien? is ie beslage.…

—Nou aa’s ’n lairelap.… mehair.… ’t slaim stoan d’r ’n duim dik op.

—Soo! soo! gaat ze goed af?.…

—’t Mogt wá’ mehair.… ’t met de heule doàg an ’t perse.… nai.…


moar ik zou d’r dokter nog aiges-sellevers bai hebbe, sien u.…

—Soo, onderbrak assistentje weer met z’n droge korzelige stem, en


nijdiger toonklank.… maar dat gaat nie, dat weet je. Laat t’r nou nog
maar wat keere hierheen komme.… dat dokter ’r hier in de apteek
onderzoekt.… Dokter ken nie voor elke kleinigheid klaarstaan.— [312]

—Sai hierhain? moar menair.… ik swair u.… daa’t skoap insakt.…


se hep ’n hoest van ’n aisbair.… ’t is t’met ’n uur loope.… op ’t end
van Duinkaik.…

—Soo, soo, ja maar, je mot ’t toch maar probeere.…

Achter Gerrit was ’n slank blond meisje, dochter van ’n notabele uit
stedeke ingestapt, luchtig. Luid-lachend groette ze vriendinnetje op
straat, die ’r gebracht had.

—Dag Daan, familjaar klonk ’t tegen assistentje, van blond meisje in


korte rokken.
—Dag jongejuffrouw, onderdanigde ie, stem-beduusd, moet u dokter
hebbe? Dokter is an ’t ontbijt.… maar wil ’k ’m effe waarschuwe?—

—O nee Daan! dank je.… ik kom om de poeiers van grootmoe, zijn


ze klaar?

—Zeker, jongejuffrouw, zeker! Hier zijn ze.… asjeblieft!

—Best Daan, dag Daan, en wild jolig in jeugdige stemklaarheid,


sprong ze luchtig weer den winkel uit, in losse
straatjongensbewegingen, frischblond leventje.

Mank vrouwtje, nederig en scheefgezakt aan een zij, had schuchter


gezwegen en opgekeken, naar ’t blonde bakvischje. Gerrit stond
beduusd ’r na te kijken op straat, mijmerend bij zich zelf, of ie ’r wèl
of niet kende,—of ’t niet was de dochter van den rijken Zuivel, ’t
raadslid.

Mank vrouwtje stond, nòg triester in ’t gezicht, voor toonbank, half


verdrongen nu door ouë Gerrit, die wrevelig begon te worden van ’t
wachten. Maar nijdig, bang toch, brak ze los.

—Nou mehair.… Ik mò dokter hebbe!.…

—Soo.. soo!.. dus je wil nie probeere met ’t kind? Strak drukte ie z’n
bril in neusgleufje, montuur tegen z’n ooren.

—Dá’s gosonmogelik.… se lait mi de koors op ’r laif.… en ’n


hoest.… se loop mi de dood an ’t touwetje.…

—En ik heb ’r jood-ijzerstroop gegeve.… Heb je dat?..

—Seker, moar holp niks.… was niks doan d’rmai.…


—Soo, soo! nou dan sal ik dokter zegge.… mo’ je maar komme
hoore, wanneer ie komme kan.… maar je weet ’t, tachtig sent de
visite.… was anders voor de Zeekijkers ’n [313]gulde.… maar voor
jou, omdat je zoo lang in ’t fonds bent, tachtig cent.…

—Tachtig sint? zei verbleekend, mank vrouwtje … schuiner


afzakkend ’r linkerschouder naar één zij, tachtig sint mehair?.. huilde
’r stem na.… moar daa’s godgekloagd!.… m’n maa’n lait al acht
waike krom van de rimmetiek.… en wai.… wai binne tog in ’t fons.…
en dokter komp nooit-nie bai main.—Enne ik betoal tog vaiftig sinte
ieder waik.…

—Soo.… Soo!

—Enne.… veur de klaine twai sinte.…

—Soo, nou vrouw, jij bent lang van stof hoor! Maar ik heb je vooruit
gewaarschuwd.—

—Trillend ging de deurbel en smerig kereltje stapte in, bedremmeld.

—’n Sint kattedroppies!.…

—Wat, schreeuwde woedend assistentje, donder op! wordt hier niet


verkocht.—Bedremmelder en geschrokken ’t kereltje àf.—

—Moar ’t is tog godgekloagd mehair!.… doar stoan mîn f’rstand van


stil.… ikke betoal tog in dá’ fons!.… enne ikke vroag tog allainig dá’
gaine op waa’n mins se rechte hep.. en in de feregeleminte stoan
tog.… veur Wiereland en veur omstraike.… Veur wá’ betoale wai
aêrs vaiftig sinte in ’t waikie!.… aa’s.… aa’s wai nie siek binne?.…
foàder, moeder.… drie soons.… enne nog twai kinders, en ’t skoap is
an ’t uiterste mehair.… se kan.… kan puur nie mair!.. mi de dood an
’t touwetje.…
Haar stem kermde, ’r lippe beefden, onrustig joeg ’r kijk door de
apotheek, van assistentje naar Gerrit, van Gerrit naar assistentje.

Er lag schreiklaag in ’r geluid, die niet hooger-op durfde.… Maar


assistentje begon ’t gelamenteer danig te vervelen.

—Soo.… soo!.… maar ik zeg dat ’t nou genoeg is, barstte uit, z’n
nijdige stem; woede-doorschokt dreigde z’n gezicht.… Kort en
goed.… of ’t wel of nie in ’t reglement staat.… daar heb jij niks mee
noodig.… Wou je mij hier de wette [314]stelle?.… Al die buite
Wiereland woont, betaalt.. Dat weet je, dat wil dokter zoo. Dan wou
jij zeker, dat als jij naar Lemmer ging wone, dat dokter dan ook maar
van omstreke sprak hee?.… kort, en goed, ik heb je ’t gezegd.… En
nou marsch!.…

—Joa, moar mehair, schrei-klaagde weer ’r stem.

—Is ’t nou uit, donderde ie giftig, als jij nie dokke ken, kom jij met je
kind hier.… kort en goed!.…

—Moar aa’s ’t nou hailig nie loope.…

—Vort wijf! daar is ’t gat van de deur, ben jij belatafeld! En jij Hassel?

Mank vrouwtje stond te beven met bleek-grauw gezicht. Wat


woorden lagen te sterven op ’r lippen, van angst. Ze durfde niet
meer tegenspreken. Van alle kanten, hoorde ze achteruit, geloop
rond matglazen tuindeur, waar ’t licht, goud-groen, doorheen
glansde; zag ze de meiden, blank beboezelaard en bemutst, met
kleedjes en klopper in en uitgaan. Telkens nog dacht ze dokter zelf
even te zien, voor wien ze sidderde, maar hij kwam niet.

Zwaarder in heupsleep was ze eindelijk de apotheek uitgewaggeld,


met huilgezicht, stille biggeltranen op ’r wang, niet wetend wàt te
doen, verstompt van zorg en bangheid.

—Heb je me ooit, bromde assistentje, nog in nawoede, tegen ouë


Gerrit, zoo’n schooierswijf.… Wat ’n bedil! Ze wou natuurlijk dokter
graag voor niks hebbe, dat ’r man weer beter zuipe kan.… Nou
hunkert ze naar ’n bewijs van onvermoge.… Ze heeft zich al voor
drie weke opgegeve an de sekretarie.… Maar kà je begrijpe.… Daar
is dokter baas over … En jìj Hassel, wat jij?

Gerrit had verlegen staan luisteren, bang al, dat ie straks dokter
Troost zou zien.

—Nou Weimer, daa’s nie best mi’t waif.… mi de doàg ergert sai.…
dâ laikt puur toof’rai.… hoho!.… hoho!.. wá’ da’ mins skeelt.… hoho..
hoho.. ik wou juustemint dokter effe spreke.…

—Goed hoor, ga maar effe hier in de wachtkamer! Ik zal dokter


daadlijk zegge dat je ’r bent.— [315]

Stijfjes en onrustig was ouë Gerrit, met z’n pet in de hand, onnoodig
afslaand z’n kleeren, en lacherig-verlegen, duf-klein wachtkamertje
ingestapt. Stijf, in een hoekje bleef ie staan, strak op den
prachtmoestuin van dokter uitkijkend. ’n Paar meiden, wit-geschort,
stonden daar warm-blank, tusschen het goudgroen boomgewas te
lachen.—

Niks op z’n gemak voelde ie zich, beverig, bang dat dokter iets aan
’m zien zou van eigen gedachten aan z’n spullen en steelgenot.—Na
vijf minuutjes strak tuin-ingekijk, rinkelde ’n schelletje langs den
wand, kwam grijs hoofd van assistentje deuropening in, dat ’m
wenkte te volgen.

In angstige beklemming voelde ouë Gerrit zich door assistentje


vooruitgeduwd, de marmergang in, naar dokters kamer.
—Hassel! kondigde assistentje kloppend áán.

Dokter, in z’n ontvangvertrek achter, zat met tuinramen wijd open,


waardoor goudene schaduwkoelte aanwoei. Geurzoete stamrozen
stortten wellustdamp rond, en licht gesuizel van windgewuif,
kabbelde zoetjes tegen rooie veranda-gordijntjes aan, met zachte
zomer-blije tikjes.

Gerrit durfde bijna niet de kamer instappen, bevangen van vrees


voor rijkdom en geleerdheid, hield z’n adem in, draaide z’n petje snel
rond in de grove, vuile handen, kuchte en schraapte alsof ie ’n graat
uit de keel wou stooten.

—Zoo Hassel, ben jij daar, joviaalde zwaar-gemoedelijk dokter


Troost, van z’n stoel opveerend, naar ouë Gerrit toe; ga zitte man, ga
zitte, je wijf weer niet al te best?

Ouë Gerrit voelde zich in schemerkoelen hoek op ’n stoel


neergedrukt, door joviale groote handen van jovialen dokter Troost.
Neergeboomd, in ’t weeldevleeschvet, stond z’n zwaarlijvig lichaam
gezakt vóór Hassel. Gerrit’s neus raakte bijna hagelwit zomervest op
spanbuik van dokter Troost, als ie even voor ’m uitstapte, heen en
weer. Deftige rijkelui’s-geur ademde ’r uit dokterskleeren. Telkens
bleef ie in lichten waggelgang van vettigheid, voor Hassel staan.

Zakkerig kwalden z’n wangen, kort donker bebakkebaard, in z’n


hoofd, en zakkerig plooide z’n onderkin dubbel, op laag open-
gepunte [316]boord, loerden z’n half dichtgeknepen oogen, kleintjes-
bijziende, rond.—En joviaal, baste z’n stem, diep, welluidend:

—Allons donc! Ouë wat is t’r! vertel op!

Ouë Gerrit was door vriendschaptoon van dokter altijd overstuur. Hij
wist nooit goed, wat ie met hem voor had, en hoe ie z’n antwoord
moest aanleggen. Was ie vriendelijk terug, dan keek dokter norsch.
Bleef ie stijf, dan lachte dokter ’m uit. En nou, zoo heelemaal diep in
dat prachtige huis. Van verlegenheid trok ie zich aan de baard,
haakte ie z’n handen door z’n zilveren lokken.

—Joa.… kaik es dokter.… ’t waif laikt puur daas! se hep.… wullie


hewwe.… vier en vaif en nie.…

—Zoo-zoo, zoo-zoo, is ’t zoover!.… Allons! en verder,.. kuchte ie uit


z’n hoogen stand, strak-kippig in loer, met z’n lichte oogjes op
Hassel neerkijkend.

—Ikke hep soo.… bai main aige docht.… aa’s da’.… hoho.… aa’s
dá’ ’t waif miskien bestiges in ’n gesticht sel konne.… sai bevuilt d’r
aige.… Guurt,.… Guurt.… hoho.…

—Wat Guurt? gretig vroeg dokter!

—Guurt f’rdrait ’t langerst, wil d’r aige bereddere.… en niks.…


heulegoar niks blaift d’r meer in d’r kop.…

—Kom-kom! dat proatje van ’t gesticht is ’n bêtíse vriendje, ’n


stommigheid.… Jullie leeke, jullie zègt máár; ’t wijf mot hulp hebbe,
voila tout! En jullie kijkt misschien niet heel best naar ’r om.

—Joa,.… aa’s dokter.… aa’s dokter.…

—Ha.… ha.… ha! schaterde vettig zinlijke dokter, jullie bent me ’n


volkie, jij ouë schooier! Daar net had ’k er nog een hier van den
polder. Die had zes kwartier ver geloope,.. Ze klaagde van koorts.…
Is me daàr ook ’t landje! Allons donc!.… ça ira!.… Ik vraag of ze pijn
heeft!.. bliksems!.. ’n donders aardige meid.… met ’n fraîcheur!
prachtig!.… Ze zegt, nee.… dokter.… Nou is daar alles.. hm! hm!..
malarialand! alle duivels wat ’n streek! Ik zeg tot ’t meisje. Klee je
maar uit meid.… Ik zal je buik es onderzoeke.… [317]„Uitklaiie”.. gilt

You might also like