summaryrefslogtreecommitdiff
path: root/ambush.mdwn
blob: dbc1f091a263c5428399981a1d270ea74d0bd1c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
# Ambush

"Hmmm." Anna is at her desktop computer and stares at one its 30"
screens intently for several minutes. When the screen starts to dim to indicate
that the screen saver is about to take over, she taps the control key
to stop it, then Alt-TABs to the IRC window. "everyone, we've some
news from SH, seems they've been sold and Lasse is being replaced, we
should ponder and discuss this". She presses Enter to send the
message, then continues to type. "I'll bounce the mail I just got from
Sam, please ack you got it, and I'll poke anyone who didn't, since
this is important. Let's meet in the kitchen in half an hour to
discuss. I'll order pizza for everyone."

The Team starts saying "got it, reading now", one by one. Good,
everyone's awake and she doesn't need to rouse anyone from hack mode.

She orders pizza from their usual place, the usual selection, with the usual
drinks. After about half an hour the delivery arrives, and she carries
it to the kitchen. Everyone else starts gathering there.

Nina grabs a slice. "So, we read the email. On the surface it doesn't
seem like it should affect us. Does it?" She opens a large bottle of
soda, with a loud hiss, and pours some into a cup.

"You're right. On the surface it doesn't affect us directly or
immediately." Robin takes a couple of slice on her plate. "But who
knows what the real effects are. So far the SmartHome upper management
has not convinced me of being wise, and now anything might happen."

Andy isn't eating, having had a curry lunch elsewhere earlier. "I'm in
a Matrix room with some of the SmartHome devs, and they're gossiping.
They don't really know what's going to happen either, which is really
great for morale and everyone couldn't be happier if they got a
thousand bitcoin dumped on them."

Bert chuckles. "Careful there, mate, you sarcasm is showing."

"He's not wrong, though." Robin is shovelling pizza into her mouth and
speaks between bits. "This is sure to inject a lot of uncertainty and
that's not good for productivity."

Andy shrugs. "Scuttlebutt has it that Lasse is going to be kicked out,
and they're hiring a replacement from the outside. Not officially
announced, however."

Anna picks up her phone, and fiddles for it a bit. "I've another
message from Sam. Andy's right, Lasse's out, and the new guy is
starting today. His name is Antero, some kind of management
consultant. Antero wants to have an all-hands meeting in about three
weeks, so he can be briefed on the project. Exact time and place and
agenda to be decided later on. I suggest we're going to participate,
we don't really have a choice."

There's nodding and mumbled agreement around the room, and more pizza
is taken out of the pizza boxes. Another large bottle of soda is
opened with a hiss.

-----------------------------------------------------------------------------

Three weeks pass.

"Sam, thanks for confirming the date for the all-hands. It's Thursday,
and the meeting is on Tuesday, is there an agenda yet?" Anna is on the
phone, not visibly agitated.

"Sorry, we've not had an agenda either. I'll poke around and see if we
can't get one soon."

"Thanks. Meetings without a clear agenda do tend to be useless."

That afternoon the agenda arrives by email. Anna vents on internal
IRC. "I just got the agenda for Tuesday. Forwarded it. Not happy, but
it's what we have."

"Fails to have a goal for the meeting, or to say what each participant
should do at the meeting, if anything. Or to spell our names right.
Great start, Antero." Robin does not like badly run meetings and is
feeling uncharitable. "I count a total of 17 typos in a screenful of
text, and that's ignoring bad grammar, logical inconsistencies, and
other errors. This is standard fare for management consultants, but
I'm not having a great feeling about this."

-----------------------------------------------------------------------------

The Team and all the SmartHome developers, and some new people are all
gathered in the large meeting room at SmartHome offices.

"Welcome, everyone. I am Antero Virtanen. I'm the new CEO of
SmartHome. I suggest we start this meeting with introductions. I'll
go first, and then we go around the room, and everyone can say their
name and very briefly what they do. But do keep it brief, there's a
lot of us here."

He opens his laptop, and starts connecting it to the video wall in the
meeting room. After a minute, he gives up, and another new face gets
up and takes over.

"While Paul gets my laptop to work, I'll start. My background is a
management consultant, and I don't really know much about the
technology this company uses." Antero laughs briefly.

"I started at SmartHome three weeks ago and have been getting up to
speed on things. Today is all about me getting up to speed with the
technology side of the company, and getting all of you working well
together."

Robin and Anna look at each other. Both raise their eyebrows a little,
then turn back to look at Antero.

"I would also like to introduce Paul, who seems to have gotten my
laptop connected. He's the new chief of IT and technology. We go back
a long way with Paul. I brought him with me to SmartHome. Some of you
remember Martina. Paul replaces her."

Paul waves. "Hi, I'm Paul Piper. I do computer things for Antero. This
is now my third company where I work for him. I tend to prefer Macs,
and we'll have to discuss if the plethora of Windows and Linux
machines I see around the room is the best way to organise things. But
that's not on topic for today."

Robin and Anna share another eyebrow moment. This time, the rest of
the Team joins in. They've heard this before, someone wanting to
mandate what developers run on their development machines. It's never
a good sign.

The round of introductions start. Everyone is clearly doing their
best to be brief. The Team members stand up when it's their turn,
briefly say who they are, and sit down again.

Antero rubs his hands together. "Good, good, that went well. Let's get
started for real. First order of business, who would like to explain
what the SmartHome product really is?"

Sam stands up, walks to the podium with his laptop, detaches Antero's,
connects his own, and starts a presentation. While the slides are
clearly re-used from company marketing material, it's also clear he's
prepared the presentation for the meeting.

Another eyebrow moment for the Team, boosted by small shrugs.

"Thank you, Sam." Antero rubs his hands together again. "Now, I
understand we have hired a company to help us improve our products for
a new generation. I believe that's you guys, Anna. I'd like to
understand what that's all about. Could you walk all of us through
that?"

Anna gives Robin a glace, and stands up. "Robin would be better for
going through the technical stuff than I am, but I'll give a brief
overview. I've not prepared a presentation, since one wasn't indicated
in the agenda, so this will be brief and ad libbed."

"Don't worry, Anna. This is not an audit or any kind of attack on you
and your people." Antero keeps rubbing his hands together and laughs.

"Very well. What we in the Team have is a customisable software
platform for building the kinds of IoT systems that SmartHome's
products are. We've provided it to other customers, too. It's kind of
generic, but requires some customisation for each hardware platform,
which we've done for SmartHome. Our platform makes it simpler to write
reliable distributed IoT applications. We're currently---"

Antero has stopped rubbing, and interrupts in a gentle tone. "But
SmartHome already had working products. Why do we need your platform?"

Anna looks at him for a moment, entirely motionless and
expressionless. Without taking her eyes off Antero, or moving, she
speaks slowly. "You may want to ask that of Sam, or the others who
came to us. He can tell you in exactly what shape SmartHome products
are and why you need to fix them in order not to go bankrupt."

Sam clears his throat. "Anna is correct. We approached them to help us
update our entire product line. Our current product line is in
trouble. We have serious problems with security, for example, and are
taking a lot of heat about it in the market."

Antero sighs. "Very well. Let's continue. I've asked various
engineers, SmartHome engineers that is, to prepare a presentation on
the Teams' new platform. I understand there's some concerns about
stability. Anders, if you wouldn't mind?"

Anders stands up, smiling tightly. He brings his laptop to the end of
the conference table, attaches it to the projector, and waits for his
first slide to show up. The title is "Issues with the Team platform."
The Team members shift position in their chairs. Their faces are
carefully expressionless. They don't say anything.

"I've been part of the group at SmartHome helping get the Team's new
platform into place. I must say I'm not convinced of their
professionalism or competence. The platform is slow and riddled with
bugs, which I think are due to the excessive complexity of the
software."

He changes slides. The new slide is titled "Known bugs" and lists, in
a small font, a very large number of issues, with scary titles. "I'm
sure bugs can be fixed. Creating and fixing bugs is what software
developers are all about, after all. Heh Heh."

The Team looks at Anna, who looks back, concentrating on Nina, and
shakes her head minutely.

Anders continues. "I'm more worried about performance. I did some
benchmarks, and the devices can barely handle a few thousand HTTP
requests per second now. With our production version, we can handle at
least ten times that."

Antero nods. "That seems like a big problem."

"Yeah. At the same time I agree that we do need to fix our products. I
did a quick proof of concept replacement, which I think we could use
as a base of a new platform that we develop in-house. It's only a few
hundred lines of PHP. For speed, I've dropped some of the things the
Team does in the name of security, which I don't think we actually
need."

Antero nods. "No point in paying in performance for things we don't
need. What have you dropped?"

Anders smirks quickly. "I don't think we need HTTPS, plain old HTTP is
much faster and nobody's really going to eavesdrop inside a home
anyway. Also, plain HTTP basic authentication is fine, we don't need
the elaborate OAuth2 signed JWT token nonsense that the Team is fond
of. All the crypto requires CPU cycles we can't afford."

Antero nods again. "That seems sensible. Anna, would you like to
comment?" Anders sniggers quietly.

Anna is silent and motionless, but it's clear she's suppressing strong
emotions. After a few seconds, she looks at Robin, who nods. "I'm
afraid I don't want to comment. This is now a hostile situation.
You've ambushed us, and expect us to defend ourselves against a surprise
attack. We're not prepared to work with a client that does this. Our
contract has a clause for this eventuality, and it means we terminate
our involvement in the project as of this moment. We'll be sending you
our final invoice soon."

Anna stands up. The rest of the Team stands up. "We're leaving now.
Have a good day."

In unison, the Team step away from the table and march towards the
exit. The room is quiet. Anders looks triumphant, Antero looks
surprised, but neither moves or says anything.

-----------------------------------------------------------------------------

The Team is gathered in their own kitchen. They are subdued. Bert is
the first to speak. "Well, that was fun. What do we now?"

Andy's head snaps toward Bert. "What do you think? We lost our only
client, we panic and go bankrupt."

Nina grunts. "Maybe we can find something else, quickly enough. Also,
the money SmarHome owes us for the work we did should help a little."

Robin sighs deeply, and holds her mug in both hands, but says
nothing. Anna knocks her knuckles on the table. "OK, everyone. I would
like to tell us all to be calm, but we're clearly upset, and we should
vent. So for a while everyone can say what they want, and be as nasty
as they want, but not to each other. Only towards our former client."

Andy nods. "I'm the one with the most fragile personal financial
situation here. The one with a mortgage and family to support. Just
observing. I can't take personal risks for long. If the Team can't pay
my salary, I'm going to have to find other employment. I can't afford
to miss a single month, I'm afraid."

Bert shakes his head. "I hear you, although I'm able to be more
flexible myself. RUDE WORD this is not fun. I wonder if we should've
been more humble and not cut our ties to SmartHome."

Robin lifts her head. "I don't think it's about humility. It's about
having a working relationship with a client that doesn't hurt us,
emotionally, physically, or financially. What Antero did killed that."

Everyone nods. Bert nods, too. "Yeah, I guess. I just fear what will
happen to us now."

Robin nods. "We'll have to find other income. But make no mistake, if
we'd caved under, things would have gotten worse. I've seen that
happen enough times. Giving in to bullies only gets you to continue to
be beat up."

The room goes quiet. Anna clears her throat. "I agree with Robin. Does
anyone want to say anything else?" She waits for a moment. "Very well.
If you think of something to say later, don't hesitate to say it. This
isn't over. I suggest we finish the work day now, and come back to the
office tomorrow, and start beating the bushes to see if we can't find
a new client quickly."

There's nods and murmurs of agreement. Everyone gets up quietly, puts
their mugs away, and starts leaving.

-----------------------------------------------------------------------------

"Hi. Shitty things today. Lunch?" Nina checks her phone after it's
bleeped at her. She taps a response to Nick. "Food court at Forum in
half an hour?"

Nina and Nick get their portions of food and sit at a table. "That was
s shitty thing my employer did to you." Nick looks at his plate.

Nina shrugs. "There wasn't anything you could've done. It is what it
is. We'll just have to find a new client and move on. But I'm done
with work for today. Do you have time to sit and chat? I could do with
a friendly ear."

The two sit in the food court all afternoon. After they finish their
food, they keep talking.

-----------------------------------------------------------------------------

Nick gets back to his employer's office, and Antero sees him in the
corridor. "Nick, my office, stat." Antero is clearly upset, but keeps
his voice low. Nick walks briskly to Antero's office.

"A SmartHome employee saw you at the food court this afternoon. You
seem to have very friendly with that young woman from the Team. What
do you have to say for yourself?"

Nick tilts his head. "Nothing? What's the problem?"

Antero is standing, and makes fists of his hands, and leans them on
his desk. "That's unacceptable. You're clearly fraternising with the
enemy. You either break up with the girl, or you resign. I'm not
having any of my employees collude with the enemy like that."

Nick takes a step back. "Are you serious?"

Antero leans forward, putting more weight on his fists. His volume is
rising. "I'm deadly serious. You're fired. Leave at once."

Nick takes another step back. "You can't fire me like that. It's not
legal. That's why we have unions and legal protections for employees,
to protects us from employers being arbitrary. If you want to fire me,
put it in writing, and I'll take it to a lawyer. Otherwise I'm going
to my cubicle and continue working."

Antero takes a stapler from his desk, and looks like he's going to
throw it. Nick leaves the office, and closes the door behind him.

Antero puts the stapler back on his desk, and picks up his phone, and
makes a call. "It's me. Are you up for some work? Tonight. Just you,
it's only a small woman."

-----------------------------------------------------------------------------

Nina is walking home from the bus stop nearest to her home. It's been
a long day. She's tired. Every step feels almost too heavy. She's
going to just collapse into bed and be dead for the world until the
morning. Her phone bleeps. It's a message from Nick, who tells what
Antero did. Nina puts her phone away, and continues walking. She's no
longer slouching, and there's an energetic vibe to her steps.

She rounds a corner, and almost walks into a man. A very large,
muscular man, who for some reason is wearing a purple ski mask. The
man hits her in the stomach with his fist, then shoves her against the
wall, roughly. Nina's head hits the wall, and she sees stars.

"Stay away from Nick, you bitch. And his employer. If they see you
again, I'll come back and hurt you."

The main lifts Nina up and holds he against the wall. Nina's feet
don't touch the ground.

"Do you understand, bitch? You stay away. Say you understand."

Nina is feeling nauseous. "You hurt me..."

The man shakes Nina. "You stay away. Say you understand, or I'll hurt
you more."

"OK. I understand." Nina speaks quietly, sounding like a small girl on
the verge of crying.

The man throws her to the side. She falls to the ground, and cries out in
pain. The man leaves.

-----------------------------------------------------------------------------

Nina is at home, sitting on the floor, leaning towards a wall. She
throws a rubber ball into the air, almost hitting the ceiling, and
catches it. She repeats this, over and over again, with nearly no
variation. After a while she puts the ball aside, picks up her phone,
and taps a message to Nick. "Thanks for telling me. Best if we don't
meet in public for a while. Going to have to process this. Your
employer is now officially a RUDE WORD poophead." She taps "send" and
puts the phone away again. She picks up the ball and starts throwing
it up and catching it again.

The room goes darker, as the sun sets. Nina gets up and goes rummage
in her bedroom closet. She throws some clothing onto the bed: a pair
of black cargo pants, black socks, a black t-shirt with no printing, a
black army sweater. She goes into
another room and rummages in a cupboard. She pulls out a black
military style backpack, and puts a multi-tool, some cables, and a
roll of duct tape, black, into the backpack. She takes out a black
laptop with no stickers, not her usual one, and checks that its' battery is fully
charged. She puts it into the backpack.

She goes into her living room, and starts a program on her desktop
computer. Suddenly a somewhat loud discussion between two different
people starts playing from her stereo. She opens her living room
ventilation window.

She goes back into the bedroom, and changes clothes. She puts on a
black bomber jacket, and black baseball cap. She puts her keys into a
jacket pocket. She dons the backpack, and leaves.

Outside, she goes into a nearby park, and goes to where the adjoining
forest starts. She looks around for a bit, and finds a rock the size
of a gym ball. She wrestles it aside, revealing a small box with a
combination lock. She opens the box, which contains USB drives, cash,
and what looks like a passport. She takes a USB drive and several
travel cards for public transportation. She closes the box, locks it,
and puts back. She wrestles the rock back into place, hiding the
lock-box.

She pulls her cap lower onto her eyes, and starts walking through the
park, via a little-used path through the forest. Some distance away
there are teenagers being noisy, and someone walking a barking dog,
but she doesn't meet anyone. After a long walk she exits the park on
the opposite side of where her home is. She's walked several kilometers, not
her usual route when leaving home, and it's getting quite dark.

She comes to a bus stop. Soon a bus arrives, and she boards it. She
shows the green credit card to the travel card reader to pay for the
bus ride. She looks down on the floor, hiding her face from the
driver. The bus is almost empty so she picks a seat near the exit
door.

After a while, she exits the bus, and walks another kilometer, to
another bus stop. She boards the next bus, and uses another pre-paid,
green travel card to pay for the trip. She changes buses a few more
times, until she arrives, and starts walking. She's about two
kilometers away from the SmartHome office.

She arrives at the SmartHome office. The building is dark. It's
clearly past the office hours, and nobody is staying late. The
building is going to be locked, but Nina walks around it, in the
forest surrounding the building. She leaves the forest and walks next
to the side of the building, and sits on the ground, leaning against
the wall, legs crossed. It's a side of the building that's not visible
to the road that goes past the building. There's some artificial
lighting, and possibly a security camera, but she's not doing anything
visibly illegal. She takes out her laptop from the bag, opens it up on
her knees and thighs.

She stares at the screen, opens up a terminal window, types some
commands, and reads the output. She's at this for a while, an hour.
After she's done, she puts the laptop back in the bag, puts the bag in
her bag, and leaves via the forest. She walks to another bus stop
than the one she used to arrive, and uses yet another travel card. On
her way back home, via a different route than when she left, she makes
a stop at a mall. She takes her laptop and dismantles it, putting the
pieces in the WEEE containers of several different electronics stores
behind the mall.

-----------------------------------------------------------------------------

It is late morning. Antero comes to work, whistling as he enters the
office building lobby. It's going to be a good day.

Three uniformed police officers meet him. They're carrying a laptop,
and a thick sheaf of papers. "Antero Virtanen?" He nods in assent.
"How can I help you?"

"You're under arrest on suspicion of corporate espionage and sabotage.
Turn around, we'll be putting handcuffs on you. There's a car waiting
outside to take you to the police station."

"What? That's outrageous." Antero protests loudly, but turns around.
He's handcuffed. "What proof do you have?"

"We can discuss that at the station. Just come along quietly, please."

-----------------------------------------------------------------------------

Anna's phone makes a noise. She's at home, and is woken up by the
phone. "Uh, Anna here?"

"It's Sam. There's been a development. Big things happening this morning."

"What's up? It's too early for me. I didn't get to bed until late."

"This will cheer you up, I think. Antero's been arrested, and I'm the
acting CEO for the time being."

"Arrested? What? Why? And what does this mean for the Team?"

"Look, I was really unhappy at the stunt Antero and Anders pulled
yesterday. It was an ambush, and I need you to believe it was as much
a surprise to me as it was to you. Do you trust me enough to believe me
on that? Please?"

Anna coughs. "Ah, yeah, I guess."

"Good, thanks. I'd like to undo everything that happened yesterday.
I'd like to bring the Team back on the project. Can we pretend
yesterday didn't happen?"

Anna coughs some more. She takes a breath. "Look, you woke me up. I
need to wake up and connect with my people and talk it over. Can I
call back to you in an hour or two?"