The following excerpt about microservice communication is from the new Microsoft eBook, Architecting Cloud-Native .NET Apps for Azure
. The book is freely available for online reading and in a downloadable .PDF format at https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/
When constructing a cloud-native application, you'll want to be sensitive to how back-end services communicate with each other. Ideally, the less inter-service communication, the better. However, avoidance isn't always possible as back-end services often rely on one another to complete an operation.
There are several widely accepted approaches to implementing cross-service communication. The type of communication interaction
will often determine the best approach.
Consider the following interaction types:
- Query – when a calling microservice requires a response from a called microservice, such as, "Hey, give me the buyer information for a given customer Id."
- Command – when the calling microservice needs another microservice to execute an action but doesn't require a response, such as, "Hey, just ship this order."
- Event – when a microservice, called the publisher, raises an event that state has changed or an action has occurred. Other microservices, called subscribers, who are interested, can react to the event appropriately. The publisher and the subscribers aren't aware of each other.
Microservice systems typically use a combination of these interaction types when executing operations that require cross-service interaction. Let's take a close look at each and how you might implement them.
Many times, one microservice might need to query
another, requiring an immediate response to complete an operation. A shopping basket microservice may need product information and a price to add an item to its basket. There are a number of approaches for implementing query operations.
One option for implementing this scenario is for the calling back-end microservice to make direct HTTP requests to the microservices it needs to query, shown in Figure 4-8.
Figure 4-8. Direct HTTP communication
While direct HTTP calls between microservices are relatively simple to implement, care should be taken to minimize this practice. To start, these calls are always synchronous
and will block the operation until a result is returned or the request times outs. What were once self-contained, independent services, able to evolve independently and deploy frequently, now become coupled to each other. As coupling among microservices increase, their architectural benefits diminish.
Executing an infrequent request that makes a single direct HTTP call to another microservice might be acceptable for some systems. However, high-volume calls that invoke direct HTTP calls to multiple microservices aren't advisable. They can increase latency and negatively impact the performance, scalability, and availability of your system. Even worse, a long series of direct HTTP communication can lead to deep and complex chains of synchronous microservices calls, shown in Figure 4-9:
Figure 4-9. Chaining HTTP queries
You can certainly imagine the risk in the design shown in the previous image. What happens if Step #3 fails? Or Step #8 fails? How do you recover? What if Step #6 is slow because the underlying service is busy? How do you continue? Even if all works correctly, think of the latency this call would incur, which is the sum of the latency of each step.
The large degree of coupling in the previous image suggests the services weren't optimally modeled. It would behoove the team to revisit their design.
Materialized View pattern
A popular option for removing microservice coupling is the Materialized View pattern
. With this pattern, a microservice stores its own local, denormalized copy of data that's owned by other services. Instead of the Shopping Basket microservice querying the Product Catalog and Pricing microservices, it maintains its own local copy of that data. This pattern eliminates unnecessary coupling and improves reliability and response time. The entire operation executes inside a single process. We explore this pattern and other data concerns in Chapter 5.
Service Aggregator Pattern
Another option for eliminating microservice-to-microservice coupling is an Aggregator microservice
, shown in purple in Figure 4-10.
Figure 4-10. Aggregator microservice
The pattern isolates an operation that makes calls to multiple back-end microservices, centralizing its logic into a specialized microservice. The purple checkout aggregator microservice in the previous figure orchestrates the workflow for the Checkout operation. It includes calls to several back-end microservices in a sequenced order. Data from the workflow is aggregated and returned to the caller. While it still implements direct HTTP calls, the aggregator microservice reduces direct dependencies among back-end microservices.
Another approach for decoupling synchronous HTTP messages is a Request-Reply Pattern
, which uses queuing communication. Communication using a queue is always a one-way channel, with a producer sending the message and consumer receiving it. With this pattern, both a request queue and response queue are implemented, shown in Figure 4-11.
Figure 4-11. Request-reply pattern
Here, the message producer creates a query-based message that contains a unique correlation ID and places it into a request queue. The consuming service dequeues the messages, processes it and places the response into the response queue with the same correlation ID. The producer service dequeues the message, matches it with the correlation ID and continues processing. We cover queues in detail in the next section.
Another type of communication interaction is a command
. A microservice may need another microservice to perform an action. The Ordering microservice may need the Shipping microservice to create a shipment for an approved order. In Figure 4-12, one microservice, called a Producer, sends a message to another microservice, the Consumer, commanding it to do something.
Figure 4-12. Command interaction with a queue
Most often, the Producer doesn't require a response and can fire-and-forget
the message. If a reply is needed, the Consumer sends a separate message back to Producer on another channel. A command message is best sent asynchronously with a message queue. supported by a lightweight message broker. In the previous diagram, note how a queue separates and decouples both services.
A message queue is an intermediary construct through which a producer and consumer pass a message. Queues implement an asynchronous, point-to-point messaging pattern. The Producer knows where a command needs to be sent and routes appropriately. The queue guarantees that a message is processed by exactly one of the consumer instances that are reading from the channel. In this scenario, either the producer or consumer service can scale out without affecting the other. As well, technologies can be disparate on each side, meaning that we might have a Java microservice calling a Golang
In chapter 1, we talked about backing services
. Backing services are ancillary resources upon which cloud-native systems depend. Message queues are backing services. The Azure cloud supports two types of message queues that your cloud-native systems can consume to implement command messaging: Azure Storage Queues and Azure Service Bus Queues.
Azure Storage Queues
Azure storage queues offer a simple queueing infrastructure that is fast, affordable, and backed by Azure storage accounts. Azure Storage Queues
feature a REST-based queuing mechanism with reliable and persistent messaging. They provide a minimal feature set, but are inexpensive and store millions of messages. Their capacity ranges up to 500 TB. A single message can be up to 64 KB in size.
You can access messages from anywhere in the world via authenticated calls using HTTP or HTTPS. Storage queues can scale out to large numbers of concurrent clients to handle traffic spikes.
That said, there are limitations with the service:
- Message order isn't guaranteed.
- A message can only persist for seven days before it's automatically removed.
- Support for state management, duplicate detection, or transactions isn't available.
Figure 4-13 shows the hierarchy of an Azure Storage Queue.
Figure 4-13. Storage queue hierarchy
In the previous figure, note how storage queues store their messages in the underlying Azure Storage account.
Azure Storage queues are an economical option to implement command messaging in your cloud-native applications. Especially when a queue size will exceed 80 GB, or a simple feature set is acceptable. You only pay for the storage of the messages; there are no fixed hourly charges.
Azure Service Bus Queues
For more complex messaging requirements, consider Azure Service Bus queues.
Sitting atop a robust message infrastructure, Azure Service Bus
supports a brokered messaging model
. Messages are reliably stored in a broker (the queue) until received by the consumer. The queue guarantees First-In/First-Out (FIFO) message delivery, respecting the order in which messages were added to the queue.
The size of a message can be much larger, up to 256 KB. Messages are persisted in the queue for an unlimited period of time. Service Bus supports not only HTTP-based calls, but also provides full support for the AMQP protocol
. AMQP is an open-standard across vendors that supports a binary protocol and higher degrees of reliability.
Service Bus provides a rich set of features, including transaction support
and a duplicate detection feature
. The queue guarantees "at most once delivery" per message. It automatically discards a message that has already been sent. If a producer is in doubt, it can resend the same message, and Service Bus guarantees that only one copy will be processed. Duplicate detection frees you from having to build additional infrastructure plumbing.
Two more enterprise features are partitioning and sessions. A conventional Service Bus queue is handled by a single message broker and stored in a single message store. But, Service Bus Partitioning
spreads the queue across multiple message brokers and message stores. The overall throughput is no longer limited by the performance of a single message broker or messaging store. A temporary outage of a messaging store doesn't render a partitioned queue unavailable. Service Bus Sessions
provide a way to group-related messages. Imagine a workflow scenario where messages must be processed together and the operation completed at the end. To take advantage, sessions must be explicitly enabled for the queue and each related messaged must contain the same session ID.
However, there are some important caveats: Service Bus queues size is limited to 80 GB, which is much smaller than what's available from store queues. Additionally, Service Bus queues incur a base cost and charge per operation.
Figure 4-14 outlines the high-level architecture of a Service Bus queue.
Figure 4-14. Service Bus queue
In the previous figure, note the point-to-point relationship. Two instances of the same provider are enqueuing messages into a single Service Bus queue. Each message is consumed by only one of three consumer instances on the right. Next, we discuss how to implement messaging where different consumers may all be interested the same message.
Message queuing is an effective way to implement communication where a producer can asynchronously send a consumer a message. However, what happens when many different consumers
are interested in the same message? A dedicated message queue for each consumer wouldn't scale well and would become difficult to manage.
To address this scenario, we move to the third type of message interaction, the event
. One microservice announces that an action had occurred. Other microservices, if interested, react to the action, or event.
Eventing is a two-step process. For a given state change, a microservice publishes an event to a message broker, making it available to any other interested microservice. The interested microservice is notified by subscribing to the event in the message broker. You use the Publish/Subscribe
pattern to implement event-based communication
Figure 4-15 shows a shopping basket microservice publishing an event with two other microservices subscribing to it.
Figure 4-15. Event-Driven messaging
Note the event bus
component that sits in the middle of the communication channel. It's a custom class that encapsulates the message broker and decouples it from the underlying application. The ordering and inventory microservices independently operate the event with no knowledge of each other, nor the shopping basket microservice. When the registered event is published to the event bus, they act upon it.
With eventing, we move from queuing technology to topics
. A topic
is similar to a queue, but supports a one-to-many messaging pattern. One microservice publishes a message. Multiple subscribing microservices can choose to receive and act upon that message. Figure 4-16 shows a topic architecture.
Figure 4-16. Topic architecture
In the previous figure, publishers send messages to the topic. At the end, subscribers receive messages from subscriptions. In the middle, the topic forwards messages to subscriptions based on a set of rules
, shown in dark blue boxes. Rules act as a filter that forward specific messages to a subscription. Here, a "GetPrice" event would be sent to the price and logging Subscriptions as the logging subscription has chosen to receive all messages. A "GetInformation" event would be sent to the information and logging subscriptions.
The Azure cloud supports two different topic services: Azure Service Bus Topics and Azure EventGrid.
Azure Service Bus Topics
Sitting on top of the same robust brokered message model of Azure Service Bus queues are Azure Service Bus Topics
. A topic can receive messages from multiple independent publishers and send messages to up to 2,000 subscribers. Subscriptions can be dynamically added or removed at runtime without stopping the system or recreating the topic.
Many advanced features from Azure Service Bus queues are also available for topics, including Duplicate Detection
and Transaction support
. By default, Service Bus topics are handled by a single message broker and stored in a single message store. But, Service Bus Partitioning
scales a topic by spreading it across many message brokers and message stores. Scheduled Message Delivery
tags a message with a specific time for processing. The message won't appear in the topic before that time. Message Deferral
enables you to defer a retrieval of a message to a later time. Both are commonly used in workflow processing scenarios where operations are processed in a particular order. You can postpone processing of received messages until prior work has been completed.
Service Bus topics are a robust and proven technology for enabling publish/subscribe communication in your cloud-native systems.
Azure Event Grid
While Azure Service Bus is a battle-tested messaging broker with a full set of enterprise features, Azure Event Grid
is the new kid on the block.
At first glance, Event Grid may look like just another topic-based messaging system. However, it's different in many ways. Focused on event-driven workloads, it enables real-time event processing, deep Azure integration, and an open-platform - all on serverless infrastructure. It's designed for contemporary cloud-native and serverless applications
As a centralized eventing backplane
, or pipe, Event Grid reacts to events inside Azure resources and from your own services.
Event notifications are published to an Event Grid Topic, which, in turn, routes each event to a subscription. Subscribers map to subscriptions and consume the events. Like Service Bus, Event Grid supports a filtered subscriber model
where a subscription sets rule for the events it wishes to receive. Event Grid provides fast throughput with a guarantee of 10 million events per second enabling near real-time delivery - far more than what Azure Service Bus can generate.
A sweet spot for Event Grid is its deep integration into the fabric of Azure infrastructure. An Azure resource, such as Cosmos DB, can publish built-in events directly to other interested Azure resources - without the need for custom code. Event Grid can publish events from an Azure Subscription, Resource Group, or Service, giving developers fine-grained control over the lifecycle of cloud resources. However, Event Grid isn't limited to Azure. It's an open platform that can consume custom HTTP events published from applications or third-party services and route events to external subscribers.
When publishing and subscribing to native events from Azure resources, no coding is required. With simple configuration, you can integrate events from one Azure resource to another leveraging built-in plumbing for Topics and Subscriptions. Figure 4-17 shows the anatomy of Event Grid.
Figure 4-17. Event Grid anatomy
A major difference between EventGrid and Service Bus is the underlying message exchange pattern
Service Bus implements an older style pull model
in which the downstream subscriber actively polls the topic subscription for new messages. On the upside, this approach gives the subscriber full control of the pace at which it processes messages. It controls when and how many messages to process at any given time. Unread messages remain in the subscription until processed. A significant shortcoming is the latency between the time the event is generated and the polling operation that pulls that message to the subscriber for processing. Also, the overhead of constant polling for the next event consumes resources and money.
EventGrid, however, is different. It implements a push model
in which events are sent to the EventHandlers as received, giving near real-time event delivery. It also reduces cost as the service is triggered only when it's needed to consume an event – not continually as with polling. That said, an event handler must handle the incoming load and provide throttling mechanisms to protect itself from becoming overwhelmed. Many Azure services that consume these events, such as Azure Functions and Logic Apps provide automatic autoscaling capabilities to handle increased loads.
Event Grid is a fully managed serverless cloud service. It dynamically scales based on your traffic and charges you only for your actual usage, not pre-purchased capacity. The first 100,000 operations per month are free – operations being defined as event ingress (incoming event notifications), subscription delivery attempts, management calls, and filtering by subject. With 99.99% availability, EventGrid guarantees the delivery of an event within a 24-hour period, with built-in retry functionality for unsuccessful delivery. Undelivered messages can be moved to a "dead-letter" queue for resolution. Unlike Azure Service Bus, Event Grid is tuned for fast performance and doesn't support features like ordered messaging, transactions, and sessions.
Streaming messages in the Azure cloud
Azure Service Bus and Event Grid provide great support for applications that expose single, discrete events like a new document has been inserted into a Cosmos DB. But, what if your cloud-native system needs to process a stream of related events
? Event streams
are more complex. They're typically time-ordered, interrelated, and must be processed as a group. Azure Event Hub
is a data streaming platform and event ingestion service that collects, transforms, and stores events. It's fine-tuned to capture streaming data, such as continuous event notifications emitted from a telemetry context. The service is highly scalable and can store and process millions of events per second
. Shown in Figure 4-18, it's often a front door for an event pipeline, decoupling ingest stream from event consumption.
Figure 4-18. Azure Event Hub
Event Hub supports low latency and configurable time retention. Unlike queues and topics, Event Hubs keep event data after it's been read by a consumer. This feature enables other data analytic services, both internal and external, to replay the data for further analysis. Events stored in event hub are only deleted upon expiration of the retention period, which is one day by default, but configurable.
Event Hub supports common event publishing protocols including HTTPS and AMQP. It also supports Kafka 1.0. Existing Kafka applications can communicate with Event Hub
using the Kafka protocol providing an alternative to managing large Kafka clusters. Many open-source cloud-native systems embrace Kafka.
Event Hubs implements message streaming through a partitioned consumer model
in which each consumer only reads a specific subset, or partition, of the message stream. This pattern enables tremendous horizontal scale for event processing and provides other stream-focused features that are unavailable in queues and topics. A partition is an ordered sequence of events that is held in an event hub. As newer events arrive, they're added to the end of this sequence. Figure 4-19 shows partitioning in an Event Hub.
Figure 4-19. Event Hub partitioning
Instead of reading from the same resource, each consumer group reads across a subset, or partition, of the message stream.
For cloud-native applications that must stream large numbers of events, Azure Event Hub can be a robust and affordable solution.
About the Author: Rob Vettor is a Principal Cloud-Native Architect for the Microservice Enterprise Service Group. Reach out to Rob at
) or https://thinkingincloudnative.com/weclome-to-cloud-native/
Continuing submitted by
“Hello and good day, gentlemen”, I say. “I am Doctor Rocknocker. You may and will refer to me as ‘Rock’. OK? None of this ‘Doctor’ or ‘Sir’ guff. We green here?”
There was a buzz of voices but no direct answers.
“OK. Let’s get a few things down right here and now.
(1.) Call me Rock.
(b.) Answer me loudly. I will need to hear you loud and clear. Best get used to that now.
(iii.) “We green?” means “Are we in agreement?” It’s a form of shorthand I use here and in the field.
(⍾.) “You diggin’ me, Beaumont?
means you’ve really
done gone and pissed me off; you’ve done something untoward. Pray you never hear that phrase, and,
(∞.) I’m the boss. The top dog. The hookin’ bull. The Maharaja
here. I possess the first, final and only words you’re going to listen to for the next couple of weeks. What I say, goes. Any problem, please let me know now so we can replace you most quickly.”
A gentle buzz, but no replies.
“Gentlemen. Do we agree?” I ask.
“Yes, Rock.” Was the reply.
OK, there might be some form of a societal prohibition against making loud noises. That’s the first thing that has to go.
“Gentlemen, we will be working in the great outdoors where there are wind, rain, waves, and other environmental nonsense making all sorts of unrequited noise. We need clear and proper lines of communication. I need to hear you clearly and vice-versa. When speaking, you will speak slowly, clearly, and loudly. “
“DO WE AGREE!?!
” I yell, rather deafeningly.
“YES, ROCK!” came the eventual reply.
“Outstanding”. I ponder.
“Mr. Sanjay is my de facto
second in command. If I’m out having a smoke, taking a piss, or having a snort, he’s in charge. Listen to him as if I suddenly lost 150 pounds, shaved my beard, and inexplicably become Indian.” I chuckled.
They seemed to enjoy that. I actually elicited a few chuckles.
“Mr. Sanjay will now distribute to you your locker boxes. You will wait until he hands you yours. Do not get up and mill around the room. We green?” I ask.
“Green! Doctor Rock.” Came the noisy reply.
“Progress. Marvelous.”, I reflect.
“I’ll be right back. Mr. Sanjay, the room is yours.” I note. I might need to cut back on the coffee.
I slope off to the loo and it’s just as horrible as you can imagine an outdoor communal shithouse in sunny India attended by 30,000 Indian gentlemen could be.
Fuck COVID-19. I’m thinking hot and cold running dysentery, dengue, and death here. Ick.
Glad I have a highly functioning immune system.
I retrieve a shiny aluminum Halliburton™ case from Headquarters and ease off to an unused office space to change.
I went from my usual field garb to full PPEs. It was quite a sight.
I’ll be telling you about it in mere moments. Contain the excitement.
I’m walking back to Outbuilding #2 and damned if my get-up didn’t elicit a few gasps, shielded guffaws, and a salute or two. I have to admit, to the uninitiated, I was a sight right out of Area 52, the more secret one, west by northeast of Roswell, New Mexico.
I get back to the outbuilding and enter. Everyone was looking through their locker boxes, chuckling about their good fortune and wondering with Joker-like glee what the hell all these wonderful gizmos were and where did I get them? They all stopped dead in their tracks when I walked in.
Their silence was palpable.
“Gentlemen”, I said, “Here’s how you are going to look at work tomorrow. Revel in its utility, comfort, and extreme fashion sense.” I did a quick spin like I used to on the runway.
At O’Hare when we were doing field geostatic tests. Whatever were you thinking?
I was wearing a pair of size 66-XTall NFPA 70E blaze orange Carhartt Nomex coveralls. I had on a Dax carbon-fiber blaze orange “Coal Scuttle” hardhat with swing-away hearing protection keyed into your personal communications module, and a gold-anodized, pull-down full face shield. The helmet was designed to drain away falling water down over one’s back and not down one’s neck.
I had a pair of ‘wet’ gloves under the snap retainer on my left shoulder, a pair of ‘dry’ gloves on my right. I was wearing an orange CMC Safety 9-point safety and rescue harness, good to well over 1,500 pounds. Over both shoulders, around the crotch, up the front, and around the back, X-style. This popular harness features multiple D-ring attachment points and the patented JackBack removable padding with breathable D-3 cloth, which keeps shoulder straps separated and makes donning and doffing a breeze. It had several catch-points where one could easily and readily attach to the snap carabiners and get bodily dragged out of a nasty situation by rope or chain. The front waist D-ring allows a comfortable, stable sitting position for rappels and the sternum D-ring works well for helicopter or crane-assist hoists. Gear loops offer easy access to equipment, and quick-connect-disconnect shoulder straps and leg loops make the harness quick to don or doff. It could be used for impromptu spelunking on days off.
I had on Size 16 EEE Gear Box 8088 Men's 8 inch Black Leather intrinsically-safe hard-toed lace-up black turned-heel leather work boots with the new self-cleaning, oil-and chemical resistant Vibram soles.
They couldn’t see, but I was also wearing a cotton-Nomex blend wifebeater and boxers as well. Nomex tends to chafe. Best be safe.
I had a powerful Maglite flashlight clipped to my rescue harness, as well as my mini Air Horn; a blaster’s must. I also had a mobile VHF-Commslink™ radio in a pocket on the back of my coveralls on the left shoulder. I had the microphone for it Velcro-ed to my rescue harness within easy reach. Very cop like. Very cool. Very necessary.
I had a traditional Zippo and Bic Butane lighters in my right-hand chest pocket and a brace of cigars, though these were optional, in my left pocket. I carried a bespoke constructed Swiss Army Knife on a lanyard in my right front pocket and had a custom Bears Paw Leatherman hanging on the left of my rescue harness.
Also clipped to the harness was a Silva orienteering compass. There was a selection of NASA
write anywhere pens, Sharpies, and oil-writing chalk pencils in my other front pockets. I had an oil industry tally book in my other front pocket.
Why blaze orange? Well, Red Adair already co-opted bright red, and fluorescent green wasn’t available in my size.
So, we’re now ready to plant explosives in West India or go deer hunting in the Northwoods of Baja Canada.
“Questions, Gentlemen?” I asked.
I explained that in their locker boxes were purchase orders, POs, for every bit of kit I was wearing. They were to take these POs to the Company Store and get, well, kitted out in their own sizes and preferences. I wanted to see everyone back here tomorrow at 1300 hours looking as I do now. Well, maybe skip the cigar and be not quite so large.
I sat down on the table in front of the crowd and had Sanjay bring over the demo locker box.
“OK, gents,” I said, “This locker box is yours and is numbered as such. They will be stored here in Outbuilding #2. Each of you will receive a key for this building as it is now your headquarters. We’ll get back to locker boxes in a minute. Anyone need a break for a few minutes?” I asked.
No one dared answer at this magical juncture in the narrative.
“Well, I do”, I said, “Meet back here in twenty minutes. Sanjay?”
The class wandered out and I conversed with Sanjay. We found the maps I had ordered.
They were an aerial view of the breaking yard and it was split into 6 zones, all a different color. There was one master for the wall and 28 copies for the guys. I also had a log-in/log-out board made. Vertically numbered 1 to 28. There were also 7 vertical bars labeled Zone 1 through Zone 6, and one for ‘in dispose’; i.e., in Latrin-e Land. This was so I’d know where my guys were at all times.
There was a hook for each one of these areas to log in, and to let anyone know where a certain person was during the day or night. You’re number 10? And you’re going to be wielding a torch over in Zone 5? Your brass tag goes right there. You’re going to skip over to Zone 3? Get your ass back here and swap it over to where you’re going. There is no excuse for being where you haven’t said you were, short of active accident or dismemberment.
Everyone shuffles back in and I explain the tote board.
“Notice there’s no spot to leave your brass chit if you’ve gone off the reservation?” I asked. “Why do you suppose that is?”
Confused looks all around.
“Because you keep that brass token with you when you’re not on the job. Lose it, lose your job. Sounds harsh, but so is getting your fucking hands blown off. Think of it as an exercise in discipline.”
There was a very little rebuttal.
“When you are on location, your brass token will
reflect where you are. You are off-site, put the brass token in your wallet next to your lucky ‘circular impression’.
There were several knowing grins in my cadets.
Wear it around your neck on a chain. Keep it on your keyring. You can wrap it up in ribbons, you can slip it in your sock; I don’t care. Thing is, it is your ticket to this job. Hold on to it, there will be no replacements. We green?”
“Now, locker boxes. Gentlemen”, I continued. “These are your personal boxes that will be archived here. They will contain everything that you will need to carry out the job initially and help you with training the next crew that comes through after I leave. Keep them neat and tidy. I like to pull unannounced locker box inspections, gentlemen. Be forewarned.”
The sound of active scribbling is music to my tinny ears.
“Now, as such”, I continue, “Each locker box, at this point, is identical. Please follow along with me as we do inventory: Each gets locker box will contain (as I pull out the item for identification):
• 1- set Purchase Orders (POs) for PPEs
• 1- Galvanometer
• 2- Blaster’s pliers
• 1- Custom Leatherman
• 1- Metal clipboard
• Various Pens, pencils, paper, etc.
• 5- Sharpies
• 1 copy: Blasters Protocols Handbook, 15th Edition
• 1 copy: Blasting and explosives safety training manual by the IEE.
• 1 copy: Theory and practice of blasting, by Hino (A classic)
• 1 copy: Blasters Handbook, 17th Edition
• Various Explosives catalogs
• 1- Custom Swiss Army Knife
• Several Butane lighters
“Are we in agreement, gentlemen?” I ask. “Please check to be certain you have what the manifest states.”
“As long as we’re going over locker boxes, let’s look at our set of PPE purchase orders. Each locker box will contain POs for:
• 1 pair Orange Nomex coveralls, in your size
• 1 Dax carbon-fibre blaze orange hardhat with ear protection, gold face shield
• 1- CMC Safety 9-point extraction harness with carabiners
• 2- pairs Safety Glasses
• 2- pairs of gloves –wet & dry
• 1- pair Gear Box 8088 hard-toed intrinsically safe 8” work boots
• 1- Silva Orienteering Compass
• 3- pairs of cotton WaterWick socks
• 1- CommsLink™ VHF radio with microphone
• 1- Maglight power flashlight
• 1- Rain suit – also Nomex, bibs and outer shell
• 1- Mini Air Horn Power Tootler
• 1- Pair cotton/Nomex blende underwear – anti-chafe, wifebeateboxer: 3 sets.
• 1- 16-ounce container ‘Babies Bottom’ Talcum powder. Nomex chafes.
“Well, that’s a lot of gear; you best become real familiar with it as soon as you can. You are responsible for your PPEs. Lose them and replace them at your own cost. Wear them out? No problem. We will replace them. Get caught on location without your proper PPEs? Alavida
. Goodbye. There is no second try. Fuck up once, and you’re gone. I am here for a limited time to try and teach you characters how to blast boats. I am not here to be your wet-nurse or mother. We green?” I ask.
“YES! Green! Rock!”
We spend about an hour going over the various contents of the locker boxes and I answer general questions about blasting and explosives.
“We will use Primacord by the mile and tons of C-4 primarily. I might introduce you to binary explosives if there’s time. We might also get into PETN and RDX. Dynamite for training. But that’s about it.”
“We will use demolition wire and electrically fired blasting caps and boosters. We might have some time to look at set-pull-forget mechanicochemical fuses. But you’ll all learn some basic electrical wiring and how to design a circuit.”
“Tomorrow, given it doesn’t rain and the creek don’t rise.”
“Time, gentlemen!” I said. It’s been a long day and I’m a bit jet-lagged knackered. Besides, I wanted to give that Jacuzzi a spin.
“OK, remember: get your PPEs tomorrow morning at the Company Store. I expect to see each and every one of you here tomorrow, kitted out and ready to go, at 1300 sharp. That’s it. See you tomorrow. Susandhya
. [Good evening.]” I said.
Locker boxes are locked and stowed in an orderly fashion. Each and everyone one of my 24 acolytes come to me before he leaves work to thank me personally and shake my hand.
“This might just work out”, I say to no one in particular.
Sanjay and I head back to the Raj for the night. I’m really tired, finally feeling the jet travel hit, and not the least bit hungry.
However, I do ring up the 214 cigar dude and relieve him of a selection of fine smokes. I drop by the bar for a couple of barley-pops before I retire to my capacious room for the night.
“Sanjay”, I say, “I’m knackered. If anyone wants me, head them off until tomorrow. It can wait. I’m going to get some kip and don’t want to be disturbed. No maids, no Majordomo, no butler. I just want to get unconscious for a while.”
“No problem, Rock”, Sanjay assures me, “I’ll tell them you’ve gone bush and haven’t left a forwarding address.”
“Good man”, I say, patting him on the shoulder. Hell, I must be getting old. Shit like teaching a band of newbies and whooping a little ass would have never as much as caused me a short breath. Then again, it’s probably not the years, it’s really the mileage…
After a quick light breakfast come morning, Sanjay and I are back on location. I’m being given a tour of the place by the day-shift foreman, one Mr. Vikramaditya Shrivastava.
“Yikes”, I say to Sanjay, “You characters really go for your 11-syllable names.”
“Call him ‘Vik’, Rock”, Sanjay smiles, “Good thing you’ve never asked about my last name.”
“Probably is”, I snicker back. I’m not getting roped into this little tussle.
Vik speaks fairly passable English, but I’m still glad Sanjay is here. The first order of business is to see the explosives bunker I sent plans for and how that’s coming along. They tell me it’s almost finished and ready to be stocked with what I’ve ordered.
“Outstanding, let’s have a look,” I say.
Into the Citation Golf Cart, we go. None of this plebian walking shit. We’re MIPs, Monstrously Important People
Plebes walk, we ride.
We drive around the piles of rusty scrap, huge hunks of bulkhead, and disconcertingly quickly through polychromatic puddles of who-knows-what to slide to a stop in front of a large canvas tent.
Think M *A *S *H-type mess tent.
“What’s this?” I ask, “Commissary? First Aid?”
“No, Dr. Rock”, Vik explains, “Here are your explosives.”
My eyes grow large.
“What do you mean?” I ask. What the fuck do you mean? I mean.
“Building of your bunker is taking more time than we expected what with your design imperatives. But your order was filled most expediently. We are storing it here until the bunker is complete.” He smiles in that inimitable Indian manner that is so irritating when they don’t realize the major fuck-up they’ve just committed.
“OK. Simmer down, Rock.” I say to myself. “Sanjay, ask him again what’s in that tent. That bottomless tent that’s just a sheet of tarpaulin held up by metal poles.”
“He says that’s your explosives order, Rock,” Sanjay says. His demeanor went from perky and helpful to terrified as he saw me turn several shades of crimson and begin to emit wisps of steam.
“Sanjay”, I said in calm, calculated terms. “You are telling me there are over 9 tons of high explosives, blasting caps, boosters, demo wire, and ANFO sitting on wet sand in this heat under a sheet of fucking tarpaulin?”
“Yes?” he stammered, with a squeak.
“OK.”, I said. “We need to keep very calm and not go completely apeshit; and I’m telling you, right now, that’s taking Augean-level effort. We have a situation here, Mr. Sanjay. A very, very dangerous and very deadly situation. Let’s above all, remain calm.”
“Right, Rock”, he replies.
I turn to Vik and say in a calm and collected tone, “YOU STUPID MOTHERFUCKER! WHAT HAVE YOU DONE?
“Calm and collected, right, Rock?” Sanjay smirks and Mr. Vik withers under my verbal assault.
“Sorry, I had to get that one out.”, I apologized, “Mr. Vik. You have created a real blockbuster here. Quite literally. I figured, erroneously it seems, that you would not take delivery of over 9 TONS
of high explosives before you had a very safe and secure place to store such.”
“It arrived sooner than we thought. We got a good price on it,” he explained.
You did? Fucking great! Holy mothering fuck!
Now I was even more worried. One does not get discounts or bargain-basement deals on quality
“Pray, Mr. Vik”, I entreated, “From where did you source these detonic components?”
“From Best Blast and Supply Llc of Hong Kong Enterprises.” He replied, “Bulk discount quantities, quick delivery bonus. Saved crore
No. I was wrong, it could get worse.
Not only 9 tons of high explosives, 9 tons of counterfeit, knock-off, and non-regulated manufacturer explosives.
“OK”, I said, “Let’s take stock here. My bunker isn’t finished yet? Correct? So you and the company meatheads ordered 9 tons of knock-off explosives from some shady and cheesy Chinese dealer and you stored them on wet beach sand, in this heat, under a tarp? Have I got all that right?”
“Oh, yes Doctor Rock.”, he smiled.
“Sanjay”, I said in a low, firm tone, “We have a…situation. We need to cordon this area off and build an exclusion zone as far as we can around it. No one, and I mean no one, gets within what, 10 kilometers? of the tent. This thing goes off, it’s going to leave a much larger than that cone of devastation. Then we need to visit with the management of this place and have a few thousand well-chosen four-letter words. Then I can think about what the fuck we’re going to do about this situation. I’m struggling to remain calm so everyone else will, but this is just a wee
bit tetchy. Find me some red flags and start planting them around the tent, working our way out. Let’s go. Calmly, collectively, and with purpose.”
We find a source of 2-meter poles with red pennants. Sanjay also finds a few miles of yellow “Danger: Stay The Fuck Away” tape. We gather then and head back to the tent. We start to spiral out from it planting flags and running tape.
We did the best we could, but we were disrupting daily business activities. Good. Let the head idiots in charge know they’ve fucked up and grandly.
Back at headquarters, I’m fuming. I’m damn mad. I’m loud and being all extremely American about all this.
“You fucking idiots! 9 tons of cheap-shit high explosives? From China? Stored on wet sand in this heat? Under a benchod
tarp? Why the flying fuck do you think I sent such detailed plans for a storage bunker? Do you assholes even think?” I railed on like this for at least half an hour, going all Gene Wilder in ‘Young Frankenstein’.
“Yes, Doctor”, one Mr. Karam Kanungo, the local boss and company president said, “That is all true and steps will be taken to redress the situation. But that doesn’t address the issue at hand. What do you suggest?”
“I suggest you are all taken out and given hot coffee high colonics to clear out your thinking processes”, I spit, “But that still leaves us with a nine-ton headache out there waiting to bloom into something even more aggravating.”
The entire assembled board agreed.
I calm down a bit and have a think. Fuck your boardroom, I’m having a cigar.
“You need a licensed, certified, master blaster to go and sort that out. Do you happen to have one handy?” I asked, sweeter than clover honey.
“Ah, yes, you are…oh.”, was the collective realization.
“Yeah, I know. It’s me. I’m the only one that can sort this shit out. We can’t even wait until we find someone from the world to assist. We are sitting on a literal time bomb, gentlemen.” I reply.
They all agreed and were relieved I was going to take on the challenge.
What else could I do? That stuff lights off and we’re talking easily hundreds if not thousands of fatalities and countless injuries. Fuck that. Not on my watch.
I tells ya’ what. The fucking Karma Fairy better shower me with gifts and accolades, blowjobs and candy corn after all this.
In a metaphorical sense, of course.
“OK, Mr. Sanjay, you’re with me.” I say, “Now look, Herr Macs”, I address the collective board, “Before I had carte blanche
. Now, if I even think we might need something, it appears. We’ll sort out our honoraria and bonuses for this after we get back.”
Everyone present agreed most hastily. Handshakes all around and apologies from the board cemented the issue.
“OK, Sanjay. I need a bus. At least 24-seater. With a driver than knows how, when, and where to stop. OK?” I ask.
“24, Rock?”, Sanjay asks, “You’re not thinking of including the recruits now, are you?”
“Yes I am, Mr. Sanjay.”, I replied sternly, “On the job training. Meet me at outbuilding #2 at 1300 as per plan. Order a bus and arrange the largest forklift that can manage beach sand, about 100 wooden pallets, plastic wrap, and sandbags. Lots and lots of sandbags. Have them stockpiled away from the tent in a muster area. OK. You got all that?”
“Yes, Rock”, he said, “I’ll be there in a couple of hours. It will only take a few phone calls.”
Not even 1000 in the fucking morning and I’m facing life and death decisions once again. I dig an emergency flask out of my field vest. If this doesn’t qualify as an emergency, what the fuck does?
A tot or two later, I change into my PPEs, and light a cigar. I catch a tap-tap to the region of the tent. I need to reconnoiter the area and figure out what sort of dragon I have to slay and the best way of going about slaughtering the sumbitch.
I’m standing alone, about 250 meters from the tent of death.
I’m puzzling and puzzling; but I can’t allow for my puzzler to go sore. Not this early, anyway.
“OK, me ol’ mucker”, I sigh, “It’s me or thee. Pucker up, Buckwheat. Here I come.”
A blast suit like the ones bomb disposal dudes wear wouldn’t help in the least. All it would do is hold the mashed body parts together to make for easier disposal. I’m anywhere within a kilometer or so of this pile of Chinese counterfeit boom-makers and it decides to let go; I’m lunchmeat. That’s it. Alive one second; kerpow, splat, instantaneously zonked into component particles the next. That’s the long and short of it. No ‘thank you’s. No ‘good bye’s. Just existing here one minute and in an alternate dimension the next.
Doesn't that just take the biscuit? Funny old thing, life.
I trod onwards.
For a moment, nothing happened. Then, after a second or so, nothing continued to happen.
I was walking up to the tent, clearing a path for the forklift. No fucking way I’m schlepping nine tons of dodgy explosives out of here, over wet beach sand, by hand and hoof.
Sand. I’m with young Anakin on this one. I hate sand. I hate walking in dry sand, hiking in wet sand. It makes for a wonderful oil reservoir and I love its porosity and permeability at depth. But at the surface, forget it. Yow! Let me tell you about the time I was out in the Rub al-Khali desert. The great Sand Erg. Wind blowing a force 9 gale! Seif dunes 1,000 meters high…
Yeah. I know. I’m stalling.
I’m approaching the tent. Carefully. I pause to light a new cigar. You might think that daft, but it’s really not. None of the stuff inside is heat-sensitive; let me clarify. None of the stuff is going to go off if hit by errant ash or even a sustained flame. But sitting out in the 30C+
heat? OK, that makes it twitchier. Cigars do the opposite for me. Give me something to concentrate upon and it calms me down.
I need calm now. By the bucketful. Where’s a monsoon when you really need one?
OK, I made it. I’m at the tent. Got to hand it to the workers around here, they respect authority and don’t come anywhere near the tent. They also don’t apparently give a shit as there no crowd gathered filming me with their iPhones to post to You Tube© if the tent decides to go all detonic.
Good. I couldn’t yell anything at them they’d understand to clear out anyway.
I open the hole in the side of the tent and pause. I’m hit with a wave of hot air. And the heady redolence of onions, sewer gas, and dog farts.
Sorry, that’s just me. Weird midnight snack last night. Frozen durian. What a treat.
I smell kerosene. Old wood pulp, like musty magazines. And an undercurrent of almonds.
“Oh, treble fuck me,” I say to no one within 100 square kilometers.
Kerosene is sweaty C-4. Old wood pulp is dynamite. Almonds? My old friend, nitroglycerine.
Things, if possible, went from real to super-uber major-league holy-fuck real.
“OK”, I say, as I dig out my phone and begin to snap pictures at a frantic rate.
Luckily, all the ordnance was piled like-with-like. Blasting caps? All over here. C-4, all along this ‘wall’. Dynamite? All over here. Non-explosives? Right over here.
I was mentally running like a squadron of overclocked Crays, wondering what I need to do to sort out this little situation. I’m so deep in thought, someone would need to throw me a rope to get my attention.
Or, just tap me on the shoulder.
Once I returned from low earth orbit, I turn to see a little wisp of an Indian feller, who had to be at least 27 years Methuselah’s senior.
“What? THE? Actual? Fuck? Are? You? DOING? Here?” I screamed.
“A thousand pardons, Sahib.”, the ancient one said, “I saw you working alone. Salim wonders if you need some help? Salim is good helper. Salim will help you good.”
“Yes, Salim. Oh, hello by the way.”, I said, calming a bit, forcing myself to smile so I didn’t kill him on the spot, “I do need your help. I need you to go, very slowly, out of this tent and to where the flags begin. Stand there and allow access to no one. OK. We green?”
Salim smiles broadly revealing both teeth. I slowly usher him out and remind myself to order a few new pairs of boxers before the day is out.
Back to the problem at hand. There are some salvageable items here. But the most the C-4, all the dynamite and every sack of ANFO has to go. And by ‘go’, I mean be disposed of. How?
By blowing it up, how else?
An idea creeps into my skull. I puff and puff while it grows and finally, I’ve a plan of attack.
I close the tent and slowly walk away. I hand Salim 1000 rupees and tell him that no one, I don’t care if it was Mahatma Gandhi reincarnate, goes anywhere near that tent.
“You savvy?” I ask.
“Oh, Sahib! I savvy! Thank you! Salaam! I savvy!” he is beside himself with joy, 13 bucks, and a task.
I look at my watch. It’s just gone noon. Good. I need a sandwich, some fluid replacement, as I’ve probably literally sweated off 5 kilos in the last hour and a half, and some time to jot down my plans.
I catch a tap-tap, geez, these things are everywhere around here. They form an unsanctioned, but necessary, sort of intradepartmental transport system here. I tip a couple of hundred rupees for every trip. They see blaze orange and they have this Pavlovian reaction. I sometimes need to break up fist-fights over which driver arrived first.
“Commissary”, I say, sit down, let the tap-tap, which is really nothing more than a glorified golf cart, adjust to my Western bulk and away we zip.
Salim is waving to me as we depart.
I shudder to think if I hadn’t had a tot or two and was a bit jumpier from the morning’s caffeine. Here's to alcohol: the cause of, and solution to, all of life's problems.
At the commissary, I grab a tall iced, fruit cocktail juice; a slurry of mixed dragon fruit, kiwi, carambola, blood orange, green apple, watermelon, bitter melon, sweet melon, & bailan melon fruity essence. I’m incredibly thirsty and I need some calories, but not in bulk and not from onion bhajis, mutton kabobs, or something claiming to be grilled chicken on a stick.
The last thing I need today is a case of the trots or even sharp gas pains in the next few hours. I add about 5 fingers of Old Fornicator Vodka to the juice and sip it slowly as my biometric rhythms return from the ionosphere and back to more normal levels.
Remember, I’m EtOh-based. I need to control my various fluid levels very carefully.
The blasting muse is upon me. In less than 30 minutes, I have a plan. Both a written out procedure and a map of what needs to be done.
I finish off another tall, icy glass of potato and various fruit juices, venture outside feeling almost like I’ve once again regained the illusion of control of the situation and my life.
I fire up a heater and decide to walk the approximately 1100 meters to outbuilding #2. I’m thinking as I sashay along; figuring this and calculating that.
I round the corner and see Outbuilding #2 and a bus parked next to it.
The bus looks like a refugee from Sgt. Pepper’s Lonely Hearts Club Band. The movie and album.
I go into Outbuilding #2 and see about half the class has arrived, and they are all kitted out in their new, stiff, and scratchy PPEs.
I nod hello to all and see Sanjay over across the room.
“Mr. Sanjay”, I say, “Nice bus. What’s the story?”
“Only one I could find that was a 24 seater, not actively falling apart, and with an English speaking driver. Rock. Mr. Maha, owneoperator.” He replied.
“Mr. Maha”, I said, shaking his hand. “Love the bus. Some sort of passion project?”
Mr. Maha laughs. “I was city bus driver for 39 years. I retire and go nuts. I buy old bus and fix up mechanicals. Runs all like excellently. Looks like dung heap. I begin to paint and never quite knew when to stop.”
“I like it. Adds a sense of surrealism to the day, as if it really needs more.” I reply, “However, I do hope you know how to stop. I mean that sincerely. We have a literal bomb to defuse. Does that bother you?”
“No, Doctor”, he says, “Nothing much bothers me anymore. I know. You are here. You are to make safe. I feel safe that you’re here. Let us go to work.”
“Outstanding”. I say.
I tell him that a fat bonus will be his when this is all over if all goes to plan.
“Unnecessary.”, he replies, “Mr. Sanjay has already paid me.”
“Paid? Perhaps”, I reply, “You are going to get danger money whether you like it or not.”
“I guess I will like it, Doctor.” He smiles.
I look at the clock, it’s 1256. Almost showtime.
1300 on the spot. I pick up the microphone and address the assembled 24.
“Gentlemen”, I say, “Very good. You all look like late October in the United States. Very festive.” as all are kitted out in their respective PPEs.
“We have a little matter to handle. One that has just cropped up and one you’re certainly not ready for, but I have no other choice. Does that bother anyone here?” I ask.
Head shakes and questions arise.
“OK, class”, I say, “For your first training exercise, we’re going to defuse a 9-ton bomb. Let’s go.”
The collective gasp drew my cigar smoke in another direction, right towards them.
“Doctor…Ah, Rock. Really?” one brave soul asked for the crowd.
“Yes”, I said, “seems your company officials got a ‘real deal’ on some dodgy Chinese explosives. They didn’t wait until they finished the storage bunker I had designed, so they simply set the stuff on the beach and covered it with a canvas tent.”
There were more gasps.
“Indeed”, I said, “We need to neutralize this threat. Sanjay is passing out copies of my plan and designs on just how to do this. Read them over and let me know what you think. You have 5 minutes. We’re out of here at 1330 on the nose.”
They read quickly, cogitated over the plans and as I had assumed, didn’t find any flaws within.
“OK”, I say after an inch of cigar had passed, “You follow my directions, directly and without question, there’s no reason you can’t come out of this alive and happy, free to pursue a life of religious fulfillment.”
There was a chuckle or two at that last line. ‘Airplane’ is such a classic movie.
“Now I know”, I continued, “That this is pretty scary shit. Especially for you guys, being tossed in the deep end like this. I know because I’m scared to death.”
“Oh, Doctor Rock”, one of my acolytes said, “We do not believe this is so.”
“I stay alive by being scared to death”, I replied. “You will learn this as well.”
Sanjay checks out everyone’s PPE and all appear in good order. They are happy to have such nice, new equipment.
And that’s a problem. People used to ragged and ratty shit with which to work will go to extraordinary lengths to not filthy-up brand new working gear. This is one little bugaboo I’m going to settle here and now.
“One thing, gentlemen”, I note, “You all have nice, clean, and new PPEs. You look great. You come back to Outbuilding #2 looking as pristine, you’re gone. Keeping clean is not a part of your training. You’re going to sweat and stink. You keep to clean and it tells me you’re goldbricking, that is, not doing your job.” I say as I surreptitiously unscrew the top of my travel mug, ‘accidentally’ trip and shower the front row with Greenland coffee, lukewarm.
“See?”, I saw, “They were totally protected. That’s what PPEs are all about. We green?”
“Somewhat brown, Rock”, a couple of the guys in the front row reply without a hint of irony.
“Gentlemen, it is time. Take what you think you’ll need and leave the rest in your locker box. Brass tags to Sector 4. On the bus, we leave in 5 minutes.”
I move my brass marker to Zone 4, puff a blue cloud for all to see, and head out to the bus.
We’re loaded and headed to Sector 4 in less than 5 minutes.
“OK”, I say”, I’m going to break you up into groups of 4. Tags number 1 to 4, you’re group 1. 5-8, group 2, and so on. OK?”
All respond in the affirmative.
OK. Six groups of four, Sanjay and me to lead the pack. We roll up to just outside the exclusion zone. With a squeal of brakes, we grind to a halt.
“Outside”, I command, “Assemble in your groups next to the bus. Go!”.
Like a well-oiled team, they de-bus and stand together in 6 groups. Sanjay and I walk along, inspecting the troops.
“OK”, I say, “This may seem like a shit job, but group 4. Back on the bus. To the commissary. Water, juice, and whatever else you think we’ll need to stay hydrated out there. Don’t worry, we’re going on rotation once you get back. You’ll all get a chance to do the exciting stuff. Now, move it.”
I say something to Sanjay, he jots it down in his book, certain to remind me later.
“OK, let’s see. Group 1. Storage detail. Build the temporary in-ground storage locker like it’s shown in the plan. Get help and have them source the manpower and materials. It needs to be done in the next 2 hours. Go!”
There are some explosives that can be salvaged. I need a place to store them. I’ve scouted and laid out a spot away from prying eyes where they can build an 8x8x8 hole in the ground, line it with marine plywood, and store whatever we can salvage. A plywood roof over the thing, a couple of locks, and well, Robert’s your Mother’s Sister’s Husband.
Next, I send group 3 to build a road from the tent to an area on the beach sourced as Disposal Area #1. They will take flags and tape and run a road, of sorts, from the tent to the beach; cordoning it off so we can take the forklift and its loads of dodgy high explosives to the disposal area.
The other groups are doing needful and necessary things as well. I tell Sanjay to keep a lid on things, I’m going to bring the forklift, a few pallets, sandbags and such in for the first run.
I find the forklift, and it’s a huge old Hyster 52-ton truck.
The keys are in, so I drop in and fire it up. It catches on the first twirl and I pick up a half-dozen wooden pallets, a bunch of sandbags, and a few huge rolls of plastic wrapping. It’s like driving a tank, but it has plenty of power and just a low gear range.
I drive it back to Sector 4 and almost rum over Salim. He was taking my previous orders very seriously, indeed.
“All cool, Salim”, I say over the roar of the forklift, “It’s just me.”
He waves and lets me pass. He’s serious as a heart attack about keeping people out.
I drive and realize that I can’t drive ‘gingerly’ in a conveyance such as this. I can drive deliberately and with forethought, but it rumbles and shudders the ground. Best to slide in, drop the load, and shut her down while I figure out what’s next.
I do so and drop the pallets, etc., just outside the flap of the tent. I back off a few feet, drop the forks, and shut the noisy machine down for the time being.
Sanjay appears. As does Crew #5. I motion them to come over, slowly and with forethought.
We’re all standing outside the tent flap. I raise an index finger, right, of course, to get their attention.
“Gentlemen, first lesson. What says these explosives have gone bad? Answer:” and I open the tent flap.
“Take a whiff. What do you smell?” I instruct.
“Old paper?” was one answer.
“Oil? Petrol? Something petrochemical?” was the next.
“Almonds?” Sanjay says.
“Highest marks. We’ve old C-4. It sweats and smells like kerosene. Old paper or pulp? Dynamite gone wet and bad. Almonds? Bitter, bitter almonds? Nitroglycerine. Yes, guys. We’ve got rogue nitro inside. Anyone want to quit? Now’s your chance.” I ask, being deadly serious.
One looks to another; then they all look to me…eyes wide… To be continued…
A good money management strategy reflects that. With this type of money management, you can survive losing streaks and continually grow your account balance when things are going right. Of course, you need a strategy that is good enough to make you money. The next element of a good binary options strategy will get you there. With any of the Binary Options Systems we want you to have the opportunity to have a winning system without having to lose your money trying scams that absolutely do not work. We do not promise any system is perfect, they are not! There are Binary Option Systems that have an over of 80% winning ratios and are available to you. Money Management for Binary Options Hi everyone. I opened this new section to discuss the various Money Management used in the binary options field. In traditional trading, as well as in binary options, a trader can claim to have a complete strategy only and only when the technical / operational part with its rules generates profits constantly Applying Money Management With Binaries. The thing I like most about trading Binary Options is that risk is well under control. You know how much your maximum risk per trade is when you place it, and it is simply the cost of the option. However human emotions can come into play, especially on a bad day. Free Binary Options Trading Bot, and Total Trading Platform for Binary.com. Automated trading, Manual Trading, Strategy Builder, Save, Load and Share your Strategies without a single line of Code. Automatic Market Selection, Candlestick Pattern Detection and More.
Chetu's capital markets, gaming, and binary options software development, integration, and implementation experts are fully compliant with strict regulatory standards inherent to the finance and ... Making money with binary options trading is now as easy as clicking a mouse: If you are tired of always losing money on your trades ... if you are fed up with only making small gains on your trades ... or if you are looking to get started as a trader ... Plus, with this ground-breaking system you won't have to learn any complex trading ... Forex and Binary options strategy. ... Money management is the tool that will help you achieve that. ... system" "5 min scalping strategy"forex news trading strategy,forex news trading,forex news ... 10. twenty-five. During this further information for binary options trading, you will understand everything you need to know about this binary options strategy method in Internet binary options ... The best trading system for binary options. 110% yield. The system does not redraw. [email protected] https://vk.com/trader34 https://www.instagram.com/be7ttrader.