The tale of Mercy the Mercenary Developer continues. Last week Mercy became the IT support for a political campaign because she knew how to stream from a cellphone, and thus knew more than anyone working at the campaign.
Mercy ground her teeth. Her wifi connection in Rockwood’s campaign headquarters had dropped again.
Around her, Rockwood’s “righteous” volunteers milled about. A few sat at phones, working through Florida’s constituency months before the general election would even take place. Since Rockwood’s town hall speech in Stoneford last week, the number of volunteers had swelled, with far more people below the age of 30 than any rally she had seen on TV, regardless of party.
She checked her lock screen. The wifi network simply wasn’t accepting her connection.
Mercy went to find Sullivan. The campaign manager for Rockwood for Governor sat in a corner, her face in a grimace as she stared at her laptop screen. “Barbie, I need to reset the router again.”
“You see how slow our campaign site is?” Barbie said, ignoring Mercy’s request. “It’s been like this for days.”
“Right, but right now the router needs a reboot.”
Barbie nodded. Mercy went to find the router, which was hidden behind “Rover,” their single web server. Mercy thought it was a joke when she first saw it during her interview. Rover, Sullivan had explained, was Ellis’s beloved chocolate labrador retriever, passed two years ago. Behind Rover’s case was the router. Mercy retrieved a bent paperclip and pushed the reset button.
“Fifteen volunteers today, can you believe it?” Sullivan said, as Mercy watched the router’s indicators blink back on. “We were lucky to have two or three on a given day not long ago.”
“Fifteen?” Mercy counted the volunteers in headquarters: four on the phones, three folding shirts around a table, eight sealing letters in a corner. 15, plus Mercy’s phone and Sullivan’s laptop–
Mercy went to one of the volunteers on the phone lines. “Hey, could you get off wifi for a few minutes?” she whispered. “I want to test a theory.”
The man, who was speaking very loudly to someone on the other end about how Rockwood would save Tallahassee from itself, groaned. He pulled out his phone and switched off his wifi.
Mercy waited another few seconds, then retried the connection on her phone. It connected to the campaign wifi network. “Okay, thanks.”
“Great,” he muttered, “I can’t get on the network.”
Mercy returned to Sullivan. “We need a new router. I think that model only allows 16 people on the wifi network at any given time.”
“Why 16?”
She shrugged. “It’s a power of 2.”
“I’ll get some money from the petty cash,” she said. “Maybe it’ll speed up our website.”
“I don’t know about that. It’s on an ethernet port, not wifi.” Mercy had thoroughly examined Rockwood’s campaign site. It was all static pages; the contact form led to his Facebook page, and a Donate button linked to his PayPal account. If anything, the site should be fairly speedy. “I’ll make sure something’s not bogging it down.”
Mercy powered on Rover’s monitor. The first sign of trouble: Task Manager took ten seconds to launch. The CPU tab showed Rover’s old chip pegged at 96%, and its paltry memory hovered around 91%. Worse, she could hear its hard drive thrashing through the din of the volunteers around her.
“Bad news,” Mercy said to Sullivan. “We need a new server.”
Hosting the Campaign
Mercy was surprised at how long Rover had held out. Rockwood for Governor’s site ran on IIS 5.1, which was about as old as the OS on Rover, Windows XP. The pages, all static, had been generated with an obsolete version of FrontPage. That last bit Ellis had told her with pride.
“Sure, I built the whole thing,” he said. “I made John’s first business page in 1998, back when no one knew what a web site even was.”
“I’m sure a lot of companies did,” Mercy replied. “Amazon, eBay…”
“Oh-kay,” Sullivan said, stepping between Mercy and Ellis. “We’re not here to criticize Ellis’s lovely site or Mercy’s skills. We just need to get the site on, what is it, a new server?”
“More than one,” Mercy said. “I was able to check the server logs, although it took half an hour to get Rover to open them. It’s serving 500 requests a second, way more than it can handle. That little Pentium II in there is choking on all the threads spawned by IIS. After Rockwood’s speech last week, the site’s been linked to from Breitbart, Drudge Report, and Fox News. Another server won’t do. It needs to be hosted on the cloud.”
“On a cloud?” Ellis asked.
“Oh, you mean like, the servers over there—“ Sullivan waved her hands in a vague direction. “Not in the office, you mean.”
Mercy’s throat tightened. Sullivan had probably heard it mentioned on the news, and Ellis was still stuck in 2001. “Right. Better hardware, better software. You can still use FrontPage, Ellis. The files will just be hosted somewhere else.”
Mercy explained that Seashell Hosting, a Florida-based company, would be appropriate. They’d get access to robust, virtualized hardware, ample support (which she’d need, given that she specialized in web development and SEO, not IT), and she’d get the chance to rewrite it in a server-side language … if she could ever persuade Ellis.
Sullivan frowned. “We need our site up and running as soon as possible, but given the expenses you outlined, I’ll have to take it up with John personally. He’ll be in the office soon.”
Co-mingling Data
As soon as Rockwood reappeared in headquarters, Sullivan pulled him, Mercy, and Ellis into the conference space in the back. Rockwood sat, fingers steepled, as Mercy explained the situation.
“You said it’s a Florida company?” Rockwood asked.
“Absolutely. They host personal sites, small companies, even other campaigns.”
“Other campaigns? Not my opponents, I hope. I don’t want Packard’s people anywhere near this.” Harold Packer was Rockwood’s Republican opponent. He and Rockwood were now neck-and-neck in the polls, while the Democratic challenger, Hewlett, was far behind. “Ellis, what do you think of all this? You built the thing.”
“We definitely need some better hardware,” Ellis responded. “I don’t think the traffic will blow over, boss.” He glanced at Mercy, and she could see a slight curl to his lip. “I do believe Packard’s using Seashell Hosting, now that I think about it.”
“I doubt it,“ Mercy said. She was pretty sure Packard was hosted on some ad-hoc solution. ”Even if that’s the case, the data’s all segregated. There’s no way someone from Packard’s campaign or anyone else could get access.”
Rookwood’s eyes got a glassy look. “I don’t like this one bit,” he said, after a minute. “I don’t want our site in the ‘cloud’ or whatever. Some hacker could go in and change our page to show a drawing of me in some obscene position. Figure out something else.”
Rockwood left the room, putting on his cheery game face for the volunteers as he did so.
Ellis smirked.
“I’ll show him that Packard’s not on Seashell,” Mercy said, pulling out her phone.
“Let it go.” Sullivan put her hand over Mercy’s phone. “John doesn’t change his mind.” She turned to Ellis. “And you, bless your heart, what are you going to do about it?”
“Wait for it to blow over,” he said.
“Unacceptable.” Sullivan retrieved a platinum-colored credit card from her purse, the words “Rockwood for Governor” embossed on it. “Mercy, you have full rein on this. Get whatever hardware we need to keep our site up here in headquarters.”
Attack of the Dells
The nearest big-box electronics store was a few miles away. When Mercy arrived, she went straight to a blue-shirted employee and asked him to grab a cart. “I need to see the most powerful desktop you’ve got that isn’t a gaming rig.”
She left the store with nine consumer-grade desktop towers, a keyboard, a mouse, an input switch, a small flat-screen monitor, a sixteen-port gigabit ethernet switch, and a wifi router. The towers barely fit in her car: four in the trunk, four in the backseat, and one riding shotgun.
Back at headquarters, a crowd watched as Mercy and two enlistees assembled the hardware near the T1 connection. She named them after the founding fathers, thinking it would humor the staff. washington
Mercy designated as a firewall, which would run ipf; franklin
was a load balancer, running Squid; jefferson
became a mysql server; and the other six — hamilton
, jay
, hancock
, adams
, madison
, and paine
— would host Apache httpd.
Meanwhile, Ellis stood in a corner, mouth agape.
Mercy installed Ubuntu CLI, then the necessary software on each. Finally, Mercy copied the relatively tiny Rockwood for Governor campaign site onto each of the web servers. Everything set, she powered down Rover – which had been badly thrashing the whole time – and moved the ethernet cable from it to the firewall.
Her consumer-grade hosting solution spun to life.
Mercy checked her phone. Rockwood for Governor displayed in milliseconds, far less than the thirty seconds it was taking on Rover. Rover sat silent for the first time since she started working on the campaign.
Covert CSS
“We can scale it up as needed,” she said to Sullivan later that day. The servers soaked the hits from Breitbart and the other sites, none of their CPUs getting more than 30% usage. “That router has sixteen ethernet jacks. And that wifi router can handle up to 256 connections. Plus, with that firewall, Rockwood won’t have to worry about dirty pictures showing up on his website.”
“That was almost $10,000 you spent today,” Sullivan said. "Seashell Hosting would have been cheaper.”
Mercy nodded. “You can tell that to Ellis.”
“Tell me what?” Ellis, who had been slack-jawed the entire afternoon, joined them. He had resumed his usual, smug appearance. “Let me get one thing straight,“ he said to Mercy. ”You are not Rockwood’s handler. You don’t get to tell him what to do. And you do not go behind my back.”
Sullivan, who had rebuked Ellis earlier, was silent.
“Hey, I’m just here for the job,” Mercy said. “Let me do it the best way that I know how.”
Mercy turned back to Sullivan. “Another thing. With our new server software, we can build our own payment endpoint now. We could even build a blog into it, so Ellis doesn’t have to export it from FrontPage whenever Rockwood wants to issue a press release.”
“Just don’t go changing the design,” he said. “That’s one thing the boss made clear. It looks fine the way it is.” He left them and went back to Rover, which he began to lovingly disassemble into a box.
“About that.” Mercy showed Sullivan the website from her phone. “We need a mobile-friendly responsive design.”
“But you just heard Ellis—“
“I won’t change the design at full resolution. I’ll just go in, pull out all those inline style
declarations into a CSS file, change the markup from table
s to div
s, and add in some @media
styles at mobile resolutions. It’ll be the same design. I’ll look just as ugly on a desktop, but less so on a phone or tablet.”
“Fine,” Sullivan said. “But don’t cross Ellis. He and the boss are … well, bosom buddies, as they put it. That’s all I can say about that.”
Sullivan left behind a blinking, confused Mercy, as her servers hummed behind her. Mercy knew one thing: Ellis was turning into the hardest thing about this job.