01-01-00
Page 24
“But,” he added. “That doesn’t mean it didn’t happen. Though that would mean that Lobo’s men fell asleep at their post.”
“Maybe it was a dream, but it sure feels that it was real.”
“Why didn’t you wake me up?”
“I almost did … but something made me not want to do it.”
“What?”
“I’m not sure. It just didn’t feel right for me to wake you. And the voices … they kept luring me into the temple … and, well, you know the rest.”
Cameron crossed his arms, his gaze on the floor, obviously considering what he had heard. “The men who greeted you … describe them to me.”
Susan stared off in the distance. “Aside from the deformed skulls … they were fairly old, maybe in their sixties, with wrinkled skin and bald heads. They all wore these blue and green loincloths, and their hats were quite elaborate.”
“Any special markings? Tattoos? Body piercing?”
“Yes. One of them had several earrings, but just on one ear. He also had the tattoo of a jaguar. Another man had one of a quetzal.”
“Anyone else?”
“I don’t remember.”
“The smoke. What did it smell like?”
“Can’t remember. It just made me feel very relaxed.”
“Probably a hallucinogen,” he said, leaning forward and taking a good whiff from the same gear vest that he had given her yesterday. “Smells like the Camels we smoked last night. And you said you had your sneakers on this morning?”
“Yep. And I do remember taking them off last night.”
He raised his eyebrows. “Strange, Susan. Very strange.”
Her headache began to recede, a mix of the coolness of the terrace plus the Excedrin. Her logical mind gathered momentum. “There’s one thing that may prove if this really happened.”
He lifted his eyes.
“Follow me.” She stepped outside and headed down the steps with Cameron in tow, walking around the cenote, still veiled in haze, but much lighter as the morning sun burned it off.
They reached her stowed gear. Cameron helped her set it up, including hooking up the main battery connected to the solar power generator.
Sitting on the stone floor, her laptop on a portable bench, Susan powered it up.
“You going to tell me what you’re doing?” Cameron asked, sitting next to her, his right shoulder against hers as he peered at the screen.
Susan pulled up the file containing last night’s digitized version of the electromagnetic activity.
“Look familiar?” Susan asked.
“Yep.”
She typed Y and kept looking at the large file, reaching the end.
“Why are there spaces?” Cameron asked.
She shook her head. “Don’t know. I never did look at the bottom of this file. It doesn’t make sense. It’s also separated in eight-bit sections, or bytes. Strange that the disassembler didn’t decode that. They look like a simple string of numbers.”
Cameron stared at the five blocks of numbers. “It is a string of numbers … but in Maya.”
“What?”
He pointed at the first block.
11011011
00000000
11111111
00000000
11111111
“That’s three dots over two horizontal lines. Remember what I told you the other night about their numbering system.”
Susan nodded. “Each dot represented a one. Each line a five. So this number is a thirteen?”
“Correct,” he said.
“What about the other blocks? They’re all the same.”
“The Maya understood the concept of zero and used a large oval-shaped symbol, or the shape of the shell of a slug or hermit crab to describe it. I’ve seen their symbology for so long that it comes very naturally. But if you use your imagination, you can see the ones in the block taking up that shape.”
00011000
00111100
00011000
00000000
00000000
“If that is the case,” she said. “Then we’re looking at a string of five numbers.” She wrote them on her engineering notebook, also separating them by spaces.
13 0 0 0 0
“That’s a Mayan date,” Cameron offered. “And I don’t have to look it up to translate it to our Gregorian equivalent. It’s the end of the Mayan thirteenth baktun.”
In spite of the humidity and the rising temperature, Susan felt a chill sweeping through her as she remembered the discussion she had had with Cameron the night they had met. The end of the thirteenth baktun coincided with …
“Zero one, zero one, zero zero,” she said.
“We better figure out the rest of this message, and quick. I get the feeling that we’re being told what is going to happen at one A.M. on January first.”
“All right,” she said, controlling her excitement to remain focused. “According to the experience I had last night, this file could be a contour map, with the hills represented by concentrations of ones and valleys by concentrations of zeroes.”
“Interesting. When you look at the array that way, you can almost begin to see a pattern forming in front of your eyes,” Cameron said, staring at the binary code above the Mayan date. “You can follow the terrain, with the zeroes representing flatland and the ones peaks.”
“Let’s see if we can clean it up a little.”
“What are you going to do?”
“Run an averaging program to sharpen the edges and filter out some of the noise inherent in the translation of EM to binary code.” She typed several commands and the system churned away for around twenty seconds, finally displaying:
She went to the bottom.
“Amazing,” Slater said while looking at the filtered image, after the averaging program had eliminated some of the noise.
“The technique is pretty common in the photo enhancing industry. The military also uses it quite extensively to improve the quality of its images.”
“It also looks as if the averaging program didn’t change the Mayan date.”
Susan regarded the screen for a moment, considering the possibility of blank spaces. The way her software detected the end of the string was by finding three or more blank spaces. She placed the cursor on the blank line and tapped on the right arrow key of her laptop, counting ten spaces before the cursor reached the end of the blank line and dropped to the beginning of the Mayan date.
She explained that to Cameron, also adding, “That’s why my software never detected the Mayan date. It thought that was the end of the file.”
“Well, it certainly looks like there’s an image in there, and I can see how it could be interpreted as the topography of a region.”
Susan agreed. “Now you believe me?”
“Why do you think there are still some ones sprinkled in the valleys?” Cameron pointed at a few ones among zeroes. “Boulders?”
“Could be. Or maybe it’s just noise. First thing we have to do is find the region of the land that matches it.”
“How are you going to do that?”
Susan grinned. “Trade secret.”
3
“I think they’re on to something, hermano,” came the voice of Celina Strokk through his earpiece.
Antonio Strokk, one hand battling a bloodsucking parasite having a feast on his groin, kept the other clutching a pair of binoculars. “Did she say that last night’s event resulted in a binary map of some piece of land?”
Celina nodded beneath the moss. “Correct. Now she will try to find a match.”
“A match? How?”
“Most likely by either E-mailing the file to the FBI headquarters to get them to run it against a 3-D contour map, or by downloading the 3-D map software on her system and doing the comparison here.”
“I see,” he said, finally snatching the insect between his index and thumb and crushing it, exhaling with relief. “Which way is faster?”
“Depends on how
extensive the search needs to be. The hardest part will be finding the correct region. Then they have to run it against that area while making allowances for scaling differences between the binary image and the 3-D map. That could take a while if the search area is, say, the entire American continent. But if they can narrow it down to a small area of a few hundred square miles, then the task becomes much simpler and capable of being handled in any good laptop, like the one she has down there.”
Strokk watched the scientists confer with the SEAL commander, Lieutenant Lobo, before making the cable connections to the satellite gear. Strokk hesitated about giving the order to strike now. The more he waited, the better the chances of the scientists making a breakthrough, but at the same time, the more the FBI back in Washington learned about how to defeat the virus, which was exactly what he was trying to prevent. However, if he was to strike too soon, eliminate the SEALs, and force the scientists to feed misinformation to Washington, he could actually slow down the investigation because the scientists might be unwilling to put up a real effort just to have him profit from their research.
Act too soon and risk losing. Wait too long and risk losing.
In addition, his team was growing impatient after almost thirty-six hours of surveillance. Based on the sporadic complaints he’d heard on the operational frequency, the former Spetsnaz officer knew they would not stand this much longer and feared that one of them might open fire to force the rest of the team to commit itself.
But his instinct told him to wait—the same instinct that had kept him alive during contracts in Bogota, London, Rome, Istanbul, Zurich, and so many other places. Strokk listened to this inner voice and abided by it, for it represented the combined knowledge of his operative years, the sum of his professional wisdom. And that wisdom told him that in spite of the heat, in spite of his men complaining, in spite of the relentless insects making a banquet of his body, the international contractor should remain put. Strokk also instructed his team to do likewise, indirectly warning everyone that he would personally shoot the first man who dared challenge his command.
The Americans had finished making the wireless connections and were now dialing into Washington.
4
Susan Garnett watched the percent meter on her screen increase as her powerful ThinkPad downloaded a 250-megabyte 3-D map of the American continent, figuring that it would be a reasonable place to start. She’d had a discussion with Cameron on the probable location of the area outlined by the binary topography and decided that they should first search the entire region once occupied by the Maya, including the western section of El Salvador, all of Guatemala and Belize, and southern Mexico, plus the Yucatán Peninsula.
She now viewed both North and South America, from the Northwest Territories of Canada to Cape Horn, at the southern tip of Chile. Using the pointer, she outlined an area covering the Classic Mayan kingdom, not only zooming in, but also selecting that area as the first search region of a custom program that she had hammered out in the past thirty minutes, while establishing contact with Washington and downloading the large file. The program would take the suspect binary code and attempt to overlap it on the selected portion of the 3-D map to find a match. To accomplish this, Susan had to define certain parameters.
The first was the relative scales of the binary map and the 3-D map. She assigned the value of one to the scale used by the 3-D map. She eyeballed the relative size of her binary map and opted for an initial scaling value of 0.001, thus making the 3-D map one thousand times larger than the binary map, to make certain that she started with something that was on the small side of the scale and work her way up to the matching scale.
Her second parameter was the relative orientation of the digital map with respect to magnetic north. As a starting point, she made the top of the binary file zero degrees, or magnetic north, just like the 3-D map.
Her third parameter was the resolution of the search. What would qualify as a match, considering the possibility of noise injected in the conversion of the electromagnetic field to binary code during last night’s event, even after filtering some of the noise out? Susan chose the value of fifty percent match to generate a flag. She could adjust that parameter later on, based on the number of matches that occurred during the initial search. She didn’t want the resolution to be so loose that it generated too many “false” matches. On the other hand, she didn’t want it so tight that she would not generate any matches.
Finally, she had to define what constituted one full search. She encoded this in the program, making the first “stepped” comparison of the binary map against the 3-D map at the initial settings of relative scale, orientation, and resolution. After one complete pass, the program would adjust the scale of the binary map in increments of 0.001, all the way up to 1. Then the program would reset the orientation of the binary map relative to the 3-D map by one degree, slightly shifting its definition of magnetic north. Then the relative scale would be reset back to 0.001 and start over.
She reviewed this simple but critical portion of the program.
10 ORIENT = 0; MATCH = 0
11 SCALE = 0.001
12 CALL COMPARE
13 IF MATCH = 1 THEN GOTO 21
14 SCALE = SCALE + 0.001
15 IF SCALE > 1 GOTO 17
16 GOTO 12
17 ORIENT = ORIENT + 1
18 IF ORIENT > 360 GOTO 20
19 GOTO 11
20 DISPLAY NO MATCH; GOTO 22
21 CALL ADD NEW MATCH; GOTO 14
22 END
“All right,” she said to herself. “If a match is found, it will be logged in and the search will continue through the nested loops of ORIENT and SCALE until they perform a full scan of all parameter combinations.”
“How long will it take to go through one full iteration of orientations and scales?” Cameron asked, once again sitting by her side. Lobo and another SEAL knelt behind them, listening with interest. It was just past ten in the morning and the sun had burned off most of the fog rising above the cenote. According to the sensors connected to her system, temperatures had already climbed to the mid-eighties and the humidity was just below eighty percent. They were all sweating. Susan had promptly put on the vest that Cameron had loaned her yesterday.
“The actual time to compare the information in the digital map with its equivalent frame in the 3-D map is about seventy microseconds of compute time. At the initial scale settings of 0.001, the binary map will have to be stepped around ten thousand times to cover the selected area in the 3-D map. That means that a single pass at one orientation and one scaling factor will take … let’s see.” She jotted some numbers on her engineering notebook.
ONE COMPARE STEP = SEVENTY MICROSECONDS OR 0.00007 SECONDS
ONE SINGLE PASS = 10,000 COMPARE STEPS
TOTAL COMPUTE TIME = 0.00007 SECONDS X 10,000 = 0.7 SECONDS
“So, less than a second,” she said. “Now, keep in mind that’s just with one set of orientation and scale settings. There are one thousand scaling factors, from 0.001 to 1, and 360 orientations per scaling factor.” Again, she jotted down the numbers.
LENGTH OF SINGLE PASS: 0.7 SECONDS
NUMBER OF SCALE SETTINGS: 1000
NUMBER OF ORIENTATIONS: 360
TOTAL COMPUTE TIME: 0.7 SECONDS X 1000 X 360 = 252,000 SECONDS
Cameron made a face. “That’s…”
“Around seventy hours of uninterrupted computing time. But it won’t be nearly as long because as the scaling factor increases, there will be fewer comparison steps between the binary map and the 3-D map because the size of the binary map will increase in relation to the 3-D map.”
“So, what’s your estimate?”
“Around fifteen hours, which is still a long time. That’s why Reid’s also going to be doing it at the FBI using our HP workstations, which should finish in minutes instead of hours. However, Reid’s task will be a little longer because in addition to searching in this area, he’s also running the routine across the entire
continent. That should take him most of the day. And at a fifty percent match we’re bound to generate more than just one match, which means we’ll have to run the compare again on all of the highlighted matches using a finer resolution. I’m estimating that the elimination phase will take just as long as the initial phase because the higher resolution across fewer sites requires just as much computing time as a lower resolution search across the entire region.”
“When do we start?”
“Right now. I’m going to do a few test runs to adjust the resolution setting before I E-mail the program to Reid to run on the HPs.” She then launched her routine. A window popped up on her screen, giving her the basic statistics of the search, currently set to the default starting values.
CURRENT ORIENTATION: 0
CURRENT SCALE: 0.001
CURRENT MATCHES: 0
RESOLUTION: 50%
ELAPSED TIME: 0 HRS 0 MIN 0 SECONDS
% COMPLETE: 0.00
PRESS S TO START
PRESS H TO HALT
PRESS R TO RESTART
PRESS F TO FINISH
Susan pressed s and the hard drive began to whirl. Within seconds, the screen changed to:
CURRENT ORIENTATION: 0
CURRENT SCALE: 0.007
CURRENT MATCHES: 120
RESOLUTION: 50%
ELAPSED TIME: 0 HRS 0 MIN 5 SECONDS
% COMPLETE: 0.00
PRESS S TO START
PRESS H TO HALT
PRESS R TO RESTART
PRESS F TO FINISH
Frowning, Susan pressed H. The system halted its search.
“Why did you stop it?” Cameron asked.
“Look at the number of matches,” she replied. “The resolution is too vague.”
She pulled up the source code for the program, changed the matching resolution to sixty percent, and kicked it off again. This time the number of matches dropped to forty after ten seconds.
“Let’s try again.” She halted it once more and changed the resolution to seventy percent. This time there were only eight matches after fifteen seconds. One final adjustment and the number further dropped to five after thirty seconds. Susan let that run continue while she performed a small calculation, projecting about three thousand matches for the entire search, a manageable number for a follow-up finer resolution search. She E-mailed the revised program and instructions to Reid, requesting that he run it first on the selected area in Mesoamerica before the rest of the continent, and to be sure to send the results back to her immediately for her and Cameron’s review.