Dust and Stars - 1992 | Chapter 158 | Bypass and Rollback | English
The meeting room door was pushed open, and a mixed smell of machine oil, old paper, and air-conditioning rushed at him. Three peop
Chapter 158: Bypass and Rollback
The meeting room door was pushed open, and a mixed smell of machine oil, old paper, and air-conditioning rushed at him. Three people sat across the long conference table: besides Director Li, there was Engineer Liu from the technical department and the young man carrying the tablet. On the table, an industrial control computer with a serial adapter cable had already been set up, and beside it lay several dog-eared copies of the PLC Programming Manual and half a stick of chalk.
“Sit.” Director Li pointed to the empty seat opposite him. “Hook up the test line directly. Engineer Liu, watch the logs.”
Lin Chen pulled out the chair. When his left foot touched the floor, a dull pain shot through his ankle. Without showing it, he shifted his weight onto his right leg and took his laptop out of his backpack. Power on, plug in the network cable, connect the USB-to-RS485 module. The screen lit up, and a green cursor appeared in the terminal window. He did not open the IDE. Instead, he ran the packaged executable directly.
Initializing PPI protocol stack...
Link handshake... Success.
Beginning polling of registers D0-D500...
The data stream began to scroll. For the first few seconds it was smooth, but once it reached around the hundredth entry, the terminal’s refresh rate visibly slowed. Engineer Liu leaned closer to the screen, frowning. “The latency’s climbing. Look at these timestamps—the interval jumped from 50 milliseconds to 120. The conveyor belt in the workshop doesn’t stop. With this kind of delay, the sensor data will start piling up, and the host system will eventually throw an alarm.”
Lin Chen stared at the logs. He knew exactly where the problem was: when the PPI-to-Modbus middleware parsed the old nonstandard Siemens messages, it triggered extra checksum retries. That was the kind of physical overhead no theoretical simulation could fully reproduce. The old equipment had no hardware flow control. Handshaking at the software layer was bound to cost time.
“Director Li,” Lin Chen said without closing the window, his fingers moving quickly over the keyboard as he brought up another terminal, “the middleware’s retry mechanism has been triggered. If we force the frequency down, packet loss will go over 3 percent. I’m switching to bypass mode.”
He pressed Enter. The script executed branch_fallback.py. The data stream’s refresh speed dropped visibly, and the timestamp interval stabilized at 200 milliseconds. A line of yellow text appeared at the bottom of the terminal: [INFO] Switched to reduced-frequency polling mode. Estimated production loss: 7.8%. Data integrity: 100%.
The meeting room went quiet for a few seconds. Only the hum of the case fan and the faint birdsong outside the window remained.
Director Li did not look at the screen. He looked at Lin Chen instead. “Reducing frequency to preserve integrity—I understand the logic. But you students always like to talk about a ‘minimum guarantee’ as if it’s some kind of favor. What I want to know is whether this can run at full load for seven days without crashing. The workshop is not a laboratory. If the machines stop, the whole factory gets fined.”
“It can.” Lin Chen’s voice was flat and steady. “Bypass mode strips out the dynamic validation and keeps only the basic heartbeat and reconnection logic. The codebase is reduced by a third, and memory usage drops from 120 megabytes to 45. The industrial control computer is an old configuration from ten years ago. It can’t handle fancy algorithms, but it has more than enough headroom to run this. Even if there’s a sudden power outage and restart, the script will automatically resume from the last breakpoint and won’t overwrite old data.”
Engineer Liu tapped a few times on the test machine beside him and pulled up the memory monitoring curve. The peak was indeed below the safety line. He looked up at Director Li and gave a small nod.
Director Li picked up his thermos, took a sip, and tightened the lid. “Seven-day pilot run. The script will be deployed on the backup machine in Workshop No. 2. You come to the site every day at four in the afternoon to check the logs. If there’s a problem, fix it on the spot. There’s only one acceptance standard: the data doesn’t break, and the machines don’t alarm. Payment stays as we discussed—three thousand up front, the rest upon acceptance. Any problem with that?”
“No.” Lin Chen answered. Three thousand yuan—just enough to cover next month’s rent and his younger brother’s medicine. He had no need to bargain. The bottom line was already clear.
“Fine.” Director Li stood and pushed over a Pilot Operation Agreement stamped with a red seal. “Sign it. Tomorrow morning at eight, bring a USB drive to Workshop No. 2 and find Engineer Liu.”
Lin Chen picked up the pen. The tip moved across the paper, leaving behind clean black strokes. After signing, he pushed the agreement back and began packing up his computer. Unplug the cables, shut it down, zip it into the bag. The motions were seamless. But when he stood, his left foot suddenly cramped hard. He grabbed the edge of the table and paused for two seconds, waiting for the numb ache to pass before straightening again.
“Lin Chen.” Professor Zhou stopped him at the door and handed him a brown paper bag. “Meal tickets for the factory cafeteria, and this too.” Inside the bag was a copy of Practical Cases in Industrial Communication Protocols. The pages had yellowed, and the corners were curled. “Old electricians’ experience is more useful than white papers. Go back tonight and read Chapter Three. It explains how to deal with grounding interference in old PLCs.”
“Thank you, Professor Zhou.” Lin Chen accepted the paper bag.
By the time he walked out of the convention center, the sun had already climbed overhead. The early autumn wind carried a trace of coolness, sweeping away the stuffiness of the meeting room. He stood by the roadside waiting for the K3 bus and shifted his backpack onto his right shoulder. Every step with his left foot tugged at his Achilles tendon through the friction of his shoe sole. He touched the copy of the agreement in his pocket, his fingertips feeling the rough texture of the paper. Three thousand yuan. Not a large number, but enough to keep next month’s ledger out of the red.
The bus swayed its way back to campus. There weren’t many passengers, and he found a window seat. He opened his computer, and when the screen lit up, a calendar reminder popped up in the lower right corner: Old Zhao Project: Security Scan Adaptation - Deadline Tomorrow 08:00.
He drew in a deep breath and clicked open the Security Compliance Adaptation Checklist he had created the night before. The operations department’s rules were rigid: all outbound requests had to go through a whitelisted proxy, and direct connections were forbidden. That meant he had to replace every socket.connect() in the script with proxy forwarding logic and rewrite the heartbeat keepalive mechanism as well. He could not hardcode IP addresses. They had to be injected through environment variables.
His fingers dropped to the keyboard. Line after line of code appeared. The screen’s glow reflected across his face. The jolting of the bus blurred his vision now and then, but he did not stop. He knew the factory pilot was the “visible line,” while Old Zhao’s scan was the “hidden line.” Both were competing for time, and he had only one body and one share of energy to divide between them.
At three in the afternoon, he returned to the dorm. His roommates were all out; only the fan overhead creaked as it turned. He put his left foot up on a stool and pressed a towel soaked in cold water against it for ten minutes. The cramping eased a little, but the muscle was still stiff. He sat back down at the desk and continued writing the proxy module.
def init_proxy_tunnel(target_ip, proxy_host):
# Establish tunnel connection and catch exceptions
try:
conn = socks.socksocket()
conn.set_proxy(socks.SOCKS5, proxy_host, 1080)
conn.connect((target_ip, 8080))
except Exception as e:
log.error(f"Failed to establish proxy tunnel: {e}")
return False
Halfway through writing the code, his phone vibrated. It was a text message from an unfamiliar number: Engineer Lin, the backup machine in Workshop No. 2 has had its IP segment temporarily changed from 192.168.1.x to 10.0.5.x. Engineer Liu asked you to update the subnet configuration in the script tonight so you can copy it over directly tomorrow morning. Also, the factory network is isolated and has no external access, so bring an offline installation package.
Lin Chen stared at the screen. A changed IP segment meant he had to recompile the network configuration module and package all the dependency libraries again. Old Zhao’s scan report was still unfinished, and now the factory’s offline package was urgently being pushed on him too. Time felt like a wound-up spring, ticking sharply tighter and tighter.
He closed the message window and opened the terminal. First, he ran the proxy module tests for Old Zhao’s project. The green light came on; the scan passed. He let out a breath, but he did not stop. Then he created a new folder and started packaging the factory script. One dependency library after another—download, compress, verify.
Outside the window, the sky gradually darkened. The streetlights below the dorm building came on, their dim yellow halos falling through the glass onto the desktop. He rubbed his aching eyes. His left foot had gone so numb it had lost all feeling, and he could only brace himself against the edge of the desk with his right hand to keep his sitting posture steady. On the screen, the progress bar crawled upward: Packaging... 78%... 85%...
He knew tonight was destined to be another sleepless one. But the numbers in the ledger were rising, the code was running cleanly, and the road kept extending forward. He did not need a miracle. He only needed to finish the next function.
The progress bar jumped to 100 percent. Packaging complete.
He pulled out the USB drive and inserted it into the card reader for verification. The files were intact. He closed the laptop and leaned back in the chair. In the darkness, he could hear his own breathing—steady, long, even. Tomorrow morning, eight o’clock, Workshop No. 2. He had to arrive before seven.
His phone screen lit up again. This time it was a WeChat voice message from Old Zhao. He tapped it open. Mixed in with the static was the background sound of keyboard typing: Lin Chen, the scan report passed. But the operations department just notified us that it’s going into production next week, so we need stress testing. Get the concurrency script ready and send it to me by Wednesday. Payment will be settled at the new rate.
Lin Chen stared at the screen. Concurrency script. Stress testing. New rate.
He picked up a pen and wrote on a sheet of scratch paper: Deliver concurrency stress test script before Wednesday 18:00. Then he drew a horizontal line underneath it.
The wind outside had picked up, making the window frame rattle softly. He stood up. His left foot still stabbed with pain when it touched the floor, but he was already used to that weight. He walked to the sink and splashed cold water on his face. Droplets ran down his jaw, icy and clarifying.
Tomorrow, the workshop. The day after, stress testing. Life was line after line of code—once typed in, it had to run. There was no way back, and no need for one. He dried his hands, returned to the desk, and reopened the terminal. The screen lit up once more, illuminating the worn copy of Linux Kernel Design and Implementation at the corner of the desk.
The night was still long. But the road had already been laid beneath his feet.
More from WayDigital
Continue through other published articles from the same publisher.
Comments
0 public responses
All visitors can read comments. Sign in to join the discussion.
Log in to comment